|
Categorieën >
Overige
Ajax header Location probleem
|
|
|
offline
|
Nieuw lid
|
Hallo,
Ik ben bezig om de fouten tijdens het inloggen weer te geven via Ajax.
Ben best wel heel erg nieuw hiermee en heb nu zover dat die alle fouten netjes weergeeft alleen wanneer ik goed inlog, gaat die via header location naar de profielpagina. Alleen deze laat hij binnen de div, terwijl hij de volledige pagina zou moeten vernieuwen.
Je kan het zien via deze link. en inloggen via test - test.
Login form:
<form method="post" action="" onsubmit="loginCheck(); return false;" class="form">
<input type="text" id="loginName" name="naam" class="nameField" value="Gebruikersnaam/e-mail" onfocus="if(this.value == 'Gebruikersnaam/e-mail'){this.value=''};"
onblur="if(this.value == ''){this.value='Gebruikersnaam/e-mail'};" />
<input type="password" id="loginWw" name="ww" class="wwField" />
<input type="checkbox" name="cookie" class="cookieField"/><span>Onthoud mij</span>
<input type="submit" name="submit" value="" class="button" />
<div id="gegevens"></div>
</form>
<form method="post" action="" onsubmit="loginCheck(); return false;" class="form"> <input type="text" id="loginName" name="naam" class="nameField" value="Gebruikersnaam/e-mail" onfocus="if(this.value == 'Gebruikersnaam/e-mail'){this.value=''};" onblur="if(this.value == ''){this.value='Gebruikersnaam/e-mail'};" /> <input type="password" id="loginWw" name="ww" class="wwField" /> <input type="checkbox" name="cookie" class="cookieField"/><span>Onthoud mij </span> <input type="submit" name="submit" value="" class="button" />
Javascript. Deze stuurt alles door naar de div Gegevens.
/// LOGIN CHECK ///
function loginCheck()
{
var xmlHttp = check();
var naam = document.getElementById('loginName').value;
var ww = document.getElementById('loginWw').value;
xmlHttp.onreadystatechange=function()
{
if(xmlHttp.readyState==4)
{
document.getElementById('gegevens').innerHTML=xmlHttp.responseText;
}
}
xmlHttp.open("GET","verwerkJs.php?object=loginCheck&naam="+naam+"&ww="+ww,true);
xmlHttp.send(null);
}
/// LOGIN CHECK /// function loginCheck() { var xmlHttp = check(); var naam = document.getElementById('loginName').value; var ww = document.getElementById('loginWw').value; xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4) { document.getElementById('gegevens').innerHTML=xmlHttp.responseText; } } xmlHttp.open("GET","verwerkJs.php?object=loginCheck&naam="+naam+"&ww="+ww,true); xmlHttp.send(null); }
Stukje php die je doorstuurt wanneer je succesvol bent ingelogd.
if ($useractief == 1)
{
$_SESSION['user_id'] = $userid;
$_SESSION['user_status'] = $userstatus;
$_SESSION['user_ww'] = $userww;
header('Location:'.$website['url'].'');
}
if ($useractief == 1) { $_SESSION['user_id'] = $userid; $_SESSION['user_status'] = $userstatus; $_SESSION['user_ww'] = $userww; header('Location:'.$website['url'].''); }
Die header(location); komt dus ook in die div. Iemand een idee hoe ik dit kan fixen? |
2 antwoorden
Martijn – 07/09/2010 18:27 (Laatst gewijzigd op 07/09/2010 18:28)
|
|
offline
|
Crew PHP
|
een var doorgeven aan javascript, en dan if(dieVar==123){window.location=window.location;}
Ja, dat is idd tegen te gaan door JS uit te schakelen, maar dan moet je dus even met iets van een sessie de php kant afknijpen zodat je niet gewoon door kan gaan
edit: Ik heb bv een AJAX based spelletje, en als je bent uitgelogd hoor je te refreshen. Is dat gebeurd maar niet ververst, dan werkt connect.php niet meer, en daardoor neits meer en krijgt alles 'log aub opnieuw in'
|
|
|
|
offline
|
Nieuw lid
|
Zou je precies willen aangeven zoals jij het zou doen? Ik ben echt nog een newbie met js.
Wat zou je precies in mijn Js code erbij zetten?
|
Dit onderwerp is gesloten.
|
|
|