login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Ajax header Location probleem

Offline Designick - 07/09/2010 18:06
Avatar van DesignickNieuw 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:
  1. <form method="post" action="" onsubmit="loginCheck(); return false;" class="form">
  2. <input type="text" id="loginName" name="naam" class="nameField" value="Gebruikersnaam/e-mail" onfocus="if(this.value == 'Gebruikersnaam/e-mail'){this.value=''};"
  3. onblur="if(this.value == ''){this.value='Gebruikersnaam/e-mail'};" />
  4. <input type="password" id="loginWw" name="ww" class="wwField" />
  5. <input type="checkbox" name="cookie" class="cookieField"/><span>Onthoud mij</span>
  6. <input type="submit" name="submit" value="" class="button" />
  7. <div id="gegevens"></div>
  8. </form>


Javascript. Deze stuurt alles door naar de div Gegevens.
  1. /// LOGIN CHECK ///
  2. function loginCheck()
  3. {
  4. var xmlHttp = check();
  5. var naam = document.getElementById('loginName').value;
  6. var ww = document.getElementById('loginWw').value;
  7.  
  8. xmlHttp.onreadystatechange=function()
  9. {
  10. if(xmlHttp.readyState==4)
  11. {
  12. document.getElementById('gegevens').innerHTML=xmlHttp.responseText;
  13. }
  14. }
  15. xmlHttp.open("GET","verwerkJs.php?object=loginCheck&naam="+naam+"&ww="+ww,true);
  16. xmlHttp.send(null);
  17. }


Stukje php die je doorstuurt wanneer je succesvol bent ingelogd.
  1. if ($useractief == 1)
  2. {
  3. $_SESSION['user_id'] = $userid;
  4. $_SESSION['user_status'] = $userstatus;
  5. $_SESSION['user_ww'] = $userww;
  6.  
  7. header('Location:'.$website['url'].'');
  8. }


Die header(location); komt dus ook in die div. Iemand een idee hoe ik dit kan fixen?

2 antwoorden

Gesponsorde links
Offline Martijn - 07/09/2010 18:27 (laatste wijziging 07/09/2010 18:28)
Avatar van Martijn 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 Designick - 07/09/2010 18:36
Avatar van Designick 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?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.176s