login  Naam:   Wachtwoord: 
Registreer je!
 Forum
Zoeken  Regels  Help
Categorieën > Overige

Ajax header Location probleem

Designick – 07/09/2010 18:06
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

Martijn – 07/09/2010 18:27 (Laatst gewijzigd op 07/09/2010 18:28)
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'

Designick – 07/09/2010 18:36
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-2012 Sitemasters.be - Regels - Gehost door: Vircon - Laadtijd: 0.066s