Hier de relevante stukken uit het index bestand:
<?php
if(!isset($_SESSION)) {
session_start();
$_SESSION['id'] = -1;
$_SESSION['name'] = 'Gast';
$_SESSION['snaam'] = 'Gast';
}
else session_start();
error_reporting(E_ALL); // welke fouten je wilt tonen (alle)
ini_set('display_errors', 'stdout'); // waar je fouten wilt tonen (het scherm)
echo'
<form method="post" name="login" action="#">
Sessie : '; print_r($_SESSION);
echo '
<br><br>
<input type="text" name="uname" id="uname" placeholder="Naam" />
<input type="text" class="io_error" id="uname_e" style="display:none; color:red; width: 350px; font-weight:bold; font-size:80%">
<input type="password" name="upassw" id="upassw" placeholder="Paswoord" />
<input type="text" class="io_error" id="upassw_e" style="display:none; color:red; width: 350px; font-weight:bold; font-size:80%">
<br>
<input type="button" value="Inloggen" id="btn_login" name="btn_login" class="button small" onClick="mylogin()"><br><br>
<!--
<a href="inloggen.php" class="button small">Inloggen</a><br><br>
-->
<a href="index.php?p=reg&w=banner" style="float:left;">Registreren </a>
<a href="index.php?p=pwv&w=banner" style="float:right;">Paswoord vergeten </a>
</form> '; }
else
echo' <header class="major">
<h2>Welkom, '.$_SESSION['name'].'</h2>
</header>
<form method="post" name="logout" action="#">
Sessie : <?php print_r($_SESSION) ?><br><br>
<br>
<a href="Uitloggen.php.php" class="button small">Uitloggen</a><br><br>
</form> ';
Het javascript: (De alerts worden getoond)
function mylogin()
{
var data = {
"naam" : $("#uname").val(),
"pw" : $("#upassw").val(),
"actie" : "login"
};
alert('In loginscript');
$.ajax('mijnajax.php', {
type : "POST",
dataType : 'json',
data : data,
success : function (data, status, xhr) {
alert('data terug : ' + data);
// data.forEach(function(item, index, object) {
// alert(this.index+' : '+this.item)
// });
$('.io_error').css("display","none");
if (data['errors']['gelukt'] === 'nee') {
for(var index in data) {
if (index != 'gelukt') {
alert( index + " : " + data[index]+' ; #'+index);
$('#'+index).css("display","block");
$('#'+index).val(data[index]);
}
}
}
else alert('Gelukt');
},
error : function(XMLHttpRequest, textStatus, errorThrown) {
alert("some error"+ errorThrown);
},
// always : alert('Break')
});
}
Mijnajax.pph, aangepast om de sessies te testen
<?php
if(!isset($_SESSION)) {
session_start();
$_SESSION['id'] = -1;
$_SESSION['name'] = 'Gast';
$_SESSION['snaam'] = 'Gast';
}
else session_start();
$_SESSION['id'] = 9999;
$_SESSION['name'] = 'testnaam' ;
$_SESSION['snaam'] = 'schermnaam';
$data['id'] = 9999;
$data['name'] = 'testnaam';
$data['snaam'] = 'schermnaam';
$data['errors']['gelukt'] = 'ja';
echo json_encode($data);
?>
Wanneer ik op inloggen klik verwacht ik dat de sessiegevens aangepast worden. Wanneer ik daarna echter de homepage refresh blijf ik bij de print_r opdracht zien dat er een gast aanwezig is in plaats van dat de sessiegegevens zichtbaar worden welke er in mijnajax in gezet zouden moeten zijn.
Ik ben pas een week of 2 aan het zoeken wat ik fout doe dus ik hoop dat er hier iemand is die mij uit de brand helpt.