Big task - problems with page refresh and ajax
- by user1830414
I have a navigation which load dynamically content via ajax. But if I refresh the page or visit another url and go back the current content is away and I see the old content under the first menu tab.
Now I have to solve this problem.
The index.php include the elements header_registrated.inc.php, navigation.inc.php and main_container.inc.php
index.php:
<?php include("inc/incfiles/header_registrated.inc.php"); ?>
<?php
if (!isset($_SESSION["userLogin"])) {
echo "<meta http-equiv=\"refresh\" content=\"0; url=http://localhost/project\">";
}
else {
echo "";
}
?>
<?php include("inc/incfiles/navigation.inc.php"); ?>
<?php include("inc/incfiles/main_container.inc.php"); ?>
<?php include("inc/incfiles/footer.inc.php"); ?>
header_registrated.inc.php:
<?php
include ("inc/scripts/mysql_connect.inc.php");
session_start();
$user = $_SESSION["userLogin"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>title</title>
<link href="css/style.css" rel="stylesheet" type="text/css" />
<script language="JavaScript" src="js/framework/jquery.js"></script>
<script language="JavaScript" src="js/dropdown/window.js"></script>
<script language="JavaScript" src="js/navigation/navigation.js"></script>
</head>
<body>
</body>
navigation.inc.php:
  <div class="navigation">
    <ul>
        <li id="1">
            <div id="menuImage1" class="menuImage"></div>
            <div class="menuText"><p>Punkt 1</p></div>
            <div class="navigationDart"></div>
        </li>
        <li id="2">
            <div id="menuImage2" class="menuImage"></div>
            <div class="menuText"><p>Punkt 2</p></div>
        </li>
        <li id="3">
            <div id="menuImage3" class="menuImage"></div>
            <div class="menuText"><p>Punkt 3</p></div>
        </li>
        <li id="4">
            <div id="menuImage4" class="menuImage"></div>
            <div class="menuText"><p>Punkt 4</p></div>
        </li>
        <li id="5">
            <div id="menuImage5" class="menuImage"></div>
            <div class="menuText"><p>Punkt 5</p></div>
        </li>
        <li id="6">
            <div id="menuImage6" class="menuImage"></div>
            <div class="menuText"><p>Punkt 6</p></div>
        </li>
    </ul>
</div>
main_container.inc.php:
<div class="mainContainer">
    <div class="containerHeader">
        <div class="contentHeader">
        </div>
    </div>
    <div class="contentContainer">
        <div class="content">
        </div>
        <div class="advertisement">
        </div>
    </div>
</div>
Now the divs content, cnotentHeader and advertisement (in file main_content.inc.php) is filled via ajax. Also the navigation has some jquery effects which also have to be the same after page refresh.
navigation.js:
$(document).ready(function() {
    $.get('inc/incfiles/content_container/header/1.php', function(data) {
        $('.contentHeader').html(data);
    }); 
    $.get('inc/incfiles/content_container/content/1.php', function(data) {
        $('.content').html(data);
    }); 
    $.get('inc/incfiles/content_container/advertisement/1.php', function(data) {
        $('.advertisement').html(data);
    }); 
    var current = '1.php';
    $(".navigation li").click(function() {
        var quelle = $(this).attr('id') + ".php";
        // the current content doesn't load again
        if(current === quelle) {
            return;
        } 
        current = quelle;
        // content
        $(".content").fadeOut(function() {
            $(this).load("inc/incfiles/content_container/content/" + quelle).fadeIn('normal');
        })
        // advertisement
        $(".advertisement").fadeOut(function() {
            $(this).load("inc/incfiles/content_container/advertisement/" + quelle).fadeIn('normal');
        })
        // header
        $(".contentHeader").fadeOut(function() {
            $(this).load("inc/incfiles/content_container/header/" + quelle).fadeIn('normal');
        })
    });
    $(".navigation li").click(function() {
        $(".menuImage").removeClass("menuImageActive1");
        $(".menuImage").removeClass("menuImageActive2");
        $(".menuImage").removeClass("menuImageActive3");
        $(".menuImage").removeClass("menuImageActive4");
        $(".menuImage").removeClass("menuImageActive5");
        $(".menuImage").removeClass("menuImageActive6");
    });
    $("#1").mousedown(function() {
        $("#menuImage1").addClass("menuImageClick1"); // new class on mouse button press
    });
    $("#1").mouseup(function() {
        $("#menuImage1").removeClass("menuImageClick1");  //remove class after mouse button release
    });
    $("#1").click(function() {
        $("#menuImage1").addClass("menuImageActive1");
    });
    $("#2").mousedown(function() {
        $("#menuImage2").addClass("menuImageClick2"); // new class on mouse button press
    });
    $("#2").mouseup(function() {
        $("#menuImage2").removeClass("menuImageClick2");  //remove class after mouse button release
    });
    $("#2").click(function() {
        $("#menuImage2").addClass("menuImageActive2");
    });
    $("#3").mousedown(function() {
        $("#menuImage3").addClass("menuImageClick3"); // new class on mouse button press
    });
    $("#3").mouseup(function() {
        $("#menuImage3").removeClass("menuImageClick3");  //remove class after mouse button release
    });
    $("#3").click(function() {
        $("#menuImage3").addClass("menuImageActive3");
    });
    $("#4").mousedown(function() {
        $("#menuImage4").addClass("menuImageClick4"); // new class on mouse button press
    });
    $("#4").mouseup(function() {
        $("#menuImage4").removeClass("menuImageClick4");  //remove class after mouse button release
    });
    $("#4").click(function() {
        $("#menuImage4").addClass("menuImageActive4");
    });
    $("#5").mousedown(function() {
        $("#menuImage5").addClass("menuImageClick5"); // new class on mouse button press
    });
    $("#5").mouseup(function() {
        $("#menuImage5").removeClass("menuImageClick5");  //remove class after mouse button release
    });
    $("#5").click(function() {
        $("#menuImage5").addClass("menuImageActive5");
    });
    $("#6").mousedown(function() {
        $("#menuImage6").addClass("menuImageClick6"); // new class on mouse button press
    });
    $("#6").mouseup(function() {
        $("#menuImage6").removeClass("menuImageClick6");  //remove class after mouse button release
    });
    $("#6").click(function() {
        $("#menuImage6").addClass("menuImageActive6");
    });
    $("#1").click(function(){
        $(".navigationDart").animate({ 
            top: "16px"
                }, 500 );
        });
    $("#2").click(function(){
        $(".navigationDart").animate({ 
            top: "88px"
                }, 500 );
        });
    $("#3").click(function(){
        $(".navigationDart").animate({ 
            top: "160px"
                }, 500 );
        });
    $("#4").click(function(){
        $(".navigationDart").animate({ 
            top: "232px"
                }, 500 );
        });
    $("#5").click(function(){
        $(".navigationDart").animate({ 
            top: "304px"
                }, 500 );
        });
    $("#6").click(function(){
        $(".navigationDart").animate({ 
            top: "376px"
                }, 500 );
        });
    });
My idea was it to work with if(isset($_SESSION['ajaxresponse'])) but I don't no how to do this.
Please help me. I have the feeling that I've searched the whole web to find an answer.