[PHP] uitloggen gaat niet op server.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb een forum waarmee ik dus kan inloggen en uitloggen(duh!).
Op mijn localhost kon ik inloggen en uitloggen, maar op een andere server die ik niet beheer kan ik dat niet! Ik heb al aan de hosters gevraagd, maar ze weten het ook niet! Hebben jullie enig idee wat er fout kan gaan?
Hier is een deel van het script:

PHP:
1
2
3
4
5
6
7
8
9
10
<?php

if($loguit) {
    Setcookie("unaam", $unaam, Time()-3600); 
    Setcookie("upass", $upass, Time()-3600);
    header("Location: index.php");
    exit();
}

?>

[ Voor 6% gewijzigd door Verwijderd op 16-04-2003 12:39 ]


Acties:
  • 0 Henk 'm!

Verwijderd

Probeer de cookie eens over het gehele domein te zetten.

setcookie ("unaam", "$unaam", time()+3600, "/","");

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Waar komt die $loguit vandaan? dit al eens gelezen?

Intentionally left blank


Acties:
  • 0 Henk 'm!

  • wim__k
  • Registratie: Februari 2003
  • Laatst online: 21-11-2020
$loguit moet niet toevallig $_GET['loguit'] of $_POST['loguit'] zijn, of $unaam en $upass mischien? of moet je de volledige URL geven bij je location header zoals http 1.1 dat graag wil....?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ja variablen die vanbuitenaf komen, maar daar heeft het niets mee te maken, aangezien de register globals toch op off staan!

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Kan het misschien iets met time(); te maken hebben, aangezien de tijd op de server de amerikaanse tijd is en bij mij thuis de tijd van hier?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
niemand een idee voor de rest?

Acties:
  • 0 Henk 'm!

Verwijderd

je kan het beste dit doen:
PHP:
1
2
3
4
// login
setcookie("user", "$user", time()+3600);
// logout, de cookie leegmaken
setcookie("user", "", time()+1);
Nu maakt hij hem leeg en na 1 seconde helemaal weg, alle data is dat echt weg en kan niet meer teruggehaald worden...

Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ik weet niet in hoeverre namen van methods case-sensitive zijn binnen PHP, of dat dat OS-afhankelijk is; ik kan me iig voorstellen dat Time() iets anders is dan time().
Verder zou ik zoals Fragmentation suggereerd bij een logout inderdaad de waardes leegmaken...

Intentionally left blank


Acties:
  • 0 Henk 'm!

Verwijderd

crisp schreef op 16 April 2003 @ 13:17:
Ik weet niet in hoeverre namen van methods case-sensitive zijn binnen PHP, of dat dat OS-afhankelijk is; ik kan me iig voorstellen dat Time() iets anders is dan time().
Verder zou ik zoals Fragmentation suggereerd bij een logout inderdaad de waardes leegmaken...
de time() functie in cookies in precies hetzelfde als Time()
of de functie time(); (unix-timestamp) ook werkt met Time() weet ik niet, maar cookies wel

Acties:
  • 0 Henk 'm!

Verwijderd

Verwijderd schreef op 16 April 2003 @ 13:18:

de time() functie in cookies in precies hetzelfde als Time()
of de functie time(); (unix-timestamp) ook werkt met Time() weet ik niet, maar cookies wel
Het maakt natuurlijk geen bal uit waar je die functie gebruikt, of dat nou in een cookie functie is, of ergens anders. Functienamen in PHP zijn niet case-sensitive.

Maar kijk liever eens welke headers het script precies genereert?
Laat die location header eens weg, en kijk of het dan wel werkt?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik heb het opgeloste door $unaam en $upass geen waarde tegeven.
Zoals Fragmentation al zei, toch vind ik het raar dat hij het op de ene server wel deed en op de andere niet :s

Acties:
  • 0 Henk 'm!

Verwijderd

Jah bij mij werkt het ook niet (uitloggen) maar boeie :P

Acties:
  • 0 Henk 'm!

  • Breuls
  • Registratie: Januari 2000
  • Laatst online: 19-07 11:22

Breuls

Bad Wolf

Verwijderd schreef op 16 April 2003 @ 13:11:
je kan het beste dit doen:
PHP:
1
2
3
4
// login
setcookie("user", "$user", time()+3600);
// logout, de cookie leegmaken
setcookie("user", "", time()+1);
Nu maakt hij hem leeg en na 1 seconde helemaal weg, alle data is dat echt weg en kan niet meer teruggehaald worden...
Als je
PHP:
1
setcookie("user");
doet is de cookie weg. Een lege cookie zetten is namelijk hetzelfde als 'm verwijderen. :)
Pagina: 1