Hallo,
Ik heb de volgende code om een navigatie te tonen. Nadat er een POST (er wordt bv een nav item toegevoegd in de dbase) is gedaan laad de pagina echter zie ik pas na een reload F5 dat er een navigatie item is toegevoegd.

Is er iemand die mij een tip kan geven hoe ik dat bv dmv een jquery refresh kan doen? Ik zie alleen maar een refresh op een div icm examplepage.php, wil graag alleen de code refreshen...


$resultSet = $objShow->allTables();
if($resultSet){
   while($item = mysql_fetch_array($resultSet)){.......


Groet,
Bas
Mijn eerste aanvoelen* is dat je het probleem elders moet zoeken.

Volgens mij komt dit doordat je eerst de navigatie genereert (en naar de gebruiker stuurt) en de post request pas later regelt.

Bij een post request moet je altijd werken volgens volgend principe:
- Eerst de post request regelen (bovenaan de php-file).
- Dan de pagina automatisch herladen met header('location: ...')
- pas onder de code van header('location: ...') begin je het eerste karakter naar het scherm te sturen.

Dus, in zo'n structuur
<?php
// eventueel config en extra functies includen; eventueel error reporting en session_start ...

if ($_POST['REQUEST_METHOD'] === 'POST') {
// hier de $_POST dingen regelen
...
header('location: ?'); // doorsturen naar de juiste plek, dus eventueel ? vervangen door de juiste url
exit;
}
// en pas vanaf hier begin je HTML naar de gebruiker te sturen.
echo '<!doctype html> ... ';
?>

Dat wil dus zeggen dat je waarschijnlijk de hele structuur van je php-files moet omgooien.
Dan zou je, in principe, dit probleem niet meer zien.

(* ik kan me uiteraard vergissen; het is maar een aanvoelen)
Ik heb het toch met onderstaand kunnen oplossen. Bedankt voor je reactie!


//head
<script>
	$(document).ready(function(e) {
      reloadPage();
      function reloadPage() {  
        $.ajax({
          url: 'classes/cRefreshNav.php',
          success: function(data) {
            $('#refreshNav').fadeOut("slow").html(data).fadeIn("slow");
          }
        });
      }
    });
	</script>

//index.php
if($_POST['mkdir'] == 'zenden' || $_POST['uploadImage'] == 'zenden'){
//refresh navigation cRefreshNav.php
echo '<div id="refreshNav"></div>';
}else{
$objImageUpload->getDirListNames('../upload','../upload'); 
}


//cRefreshNav.php
function __autoload($class){
    require_once(''.$class.'.php');
}
$objImageUpload = new cImageUpload();
$objImageUpload->getDirListNames('../../upload','../../upload');

Reageren