Pagina Refresh na inloggen
1. Bij de tekst die login_get.php terug geeft <meta http-equiv=refresh content=0; url=> toe te voegen. (Dit werkt alleen in Google Chrome).
of
2. Door middel van header("Refresh: 3; URL='/'/"); Maar dit werkt niet in IE, FF en GC ...
Iemand een idee hoe het wel kan?
Bij voorbaat dank!
Een deel van het js gedeelte:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?
...
function checklogform(username, wachtwoord, tijdlog) {
http.abort();
http.open("GET", "login_get.php" + "?gebruikersnaam=" + username + "&wachtwoord=" + wachtwoord + "&tijdlog=" + tijdlog, true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('logresponse').innerHTML = http.responseText;
}
...
?>
...
function checklogform(username, wachtwoord, tijdlog) {
http.abort();
http.open("GET", "login_get.php" + "?gebruikersnaam=" + username + "&wachtwoord=" + wachtwoord + "&tijdlog=" + tijdlog, true);
http.onreadystatechange=function() {
if(http.readyState == 4) {
document.getElementById('logresponse').innerHTML = http.responseText;
}
...
?>
Of wil je alleen bij een succesvolle login attempt de pagina vernieuwen? In dat geval zul je in je JS nog wel de reactie moeten controleren om te zien of het inloggen gelukt is.
Wat zijn dan de mogelijkheden in JS om te controleren of het inloggen gelukt is?
Door te kijken welke waarde je PHP loginscript terug stuurt? Als je die een 1 (bij succes) of een 0 (bij mislukt) terug laat geven, kun je daar in JS wel de juiste actie op ondernemen. Dat is een kwestie van een if-statement gebruiken waarin je de responseText controleert...
Heb het nu zo gedaan:
login_get.php geeft echo 3;
JS dit:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
<?... http.onreadystatechange=function() {
if(http.readyState == 4) {
if (http.responseText == 3) {
document.location = document.location;
document.getElementById('logresponse').innerHTML = 'Succesvol ingelogd';
}
else{
document.getElementById('logresponse').innerHTML = http.responseText;
}
}
...
?>
if(http.readyState == 4) {
if (http.responseText == 3) {
document.location = document.location;
document.getElementById('logresponse').innerHTML = 'Succesvol ingelogd';
}
else{
document.getElementById('logresponse').innerHTML = http.responseText;
}
}
...
?>
En het werkt! :) Bedankt!