[PHP] Session probleem.

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • theezeefje
  • Registratie: Maart 2000
  • Laatst online: 10-09 23:39
Wie kan mij helpen...
ben met een simpele website bezig, met een inlogding, werkend met sessies, tenminste daar zou het mee moeten werken......

het inloggebeuren werkte tot voor kort goed, maar toen was server niet meer, en kwam er een herinstall..... ben van RedHat9 naar Win2K3 gegaan.

het vage is.. als ik nu wil inloggen via dat scriptje, lijkt het alsof ie niet met die sessie overweg kan.

ik voer user/pass in, druk op send, en dan krijg ik dat scherm gelijk weer te zien, zonder dat ie aangeeft dat het goed of fout is.

iemand een idee ?? het ligt dus voor zover ik weet aan de config van mijn php, want het script heeft gewerkt.....

overigens heb ik wel het gevoel dat ie een sessie wil aanmaken, want in mijn C:/tmp komen wel files te staan.

Vroeger, toen de kratten bier nog van hout waren, en je moest doorzuipen om de kachel warm te houden....


Acties:
  • 0 Henk 'm!

Verwijderd

Maak je gebruik van $_SESSION in je script?

Acties:
  • 0 Henk 'm!

  • theezeefje
  • Registratie: Maart 2000
  • Laatst online: 10-09 23:39
dit is het inlogding:

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?PHP
include("config.php");
 
if(!$_GET['act']){ 
if(!$submit){ 
    ?> 
    <form method="post" action="?"> 
    <input type="hidden" name="url" value="<?echo $_SERVER['HTTP_REFERER'];?>"> 
    <input type="hidden" value="1" name="submit"> 
    E-mail:<br><input type="text" value="" name="naam"><br> 
    Wachtwoord:<br><input type="password" value="" name="ww"><br> 
    <input type="submit" value="Inloggen"></form> 
    <? 
} 
else{ 
    $query=mysql_query("SELECT * FROM users WHERE email='$naam' AND wachtwoord='$ww'"); 
    if(mysql_num_rows($query)){ 
        $object=mysql_fetch_object($query); 
        $uid=$object->id; 
        session_register('uid'); 
        echo"U bent nu ingelogd."; 
        echo"<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=index.php\">"; 
    } 
    else{ 
        echo"Wachtwoord en/of naam verkeerd!<br>"; 
        echo"<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=inloggen.php\">"; 
    } 
} 
} 
elseif($_GET['act'] == "uitloggen"){ 
    session_destroy(); 
    session_unset(); 
    echo"<META HTTP-EQUIV=Refresh CONTENT=\"1; URL=inloggen.php\">"; 
} 

onder(); 
?>

Vroeger, toen de kratten bier nog van hout waren, en je moest doorzuipen om de kachel warm te houden....


Acties:
  • 0 Henk 'm!

  • Eelke Spaak
  • Registratie: Juni 2001
  • Laatst online: 17-09 06:59

Eelke Spaak

- Vlad -

Misschien staan cookies standaard uit (of vreemd ingesteld) in de Win2k3 server?

TheStreme - Share anything with anyone


Acties:
  • 0 Henk 'm!

  • theezeefje
  • Registratie: Maart 2000
  • Laatst online: 10-09 23:39
Tis gewoon een Apache webservertje overigens.

Vroeger, toen de kratten bier nog van hout waren, en je moest doorzuipen om de kachel warm te houden....


Acties:
  • 0 Henk 'm!

  • dArtagnan
  • Registratie: Mei 2002
  • Laatst online: 23-08 22:47

dArtagnan

Een voor allen, allen voor een

Lees dit eens: http://nl3.php.net/session
If you are using $_SESSION and disable register_globals, do not use session_register(), session_is_registered() and session_unregister(), if your scripts shall work in PHP 4.2 and earlier. You can use these functions in 4.3 and later.
Dit komt echt heel vaak langs.
[rml][ PHP] sessies en toen??[/rml]

Acties:
  • 0 Henk 'm!

  • theezeefje
  • Registratie: Maart 2000
  • Laatst online: 10-09 23:39
woei, het lag idd aan session_register() !
tnx !!

Vroeger, toen de kratten bier nog van hout waren, en je moest doorzuipen om de kachel warm te houden....


Acties:
  • 0 Henk 'm!

  • Alex
  • Registratie: Juli 2001
  • Laatst online: 20-08 21:38
Waarom selecteer je alles uit de database:
PHP:
1
    $query=mysql_query("SELECT * FROM users WHERE email='$naam' AND wachtwoord='$ww'");

Als je enkel het id gebruikt:
PHP:
1
2
3
4
5
6
7
    if(mysql_num_rows($query)){
        $object=mysql_fetch_object($query);
        $uid=$object->id;
        session_register('uid');
        echo"U bent nu ingelogd.";
        echo"<META HTTP-EQUIV=Refresh CONTENT=\"0; URL=index.php\">";
    }


Beetje onzinnig om dan de langzame asteriks te gebruiken.
Daarbij gebruikje in diezelfde query de post-vars op de niet volledig legale wijze en escape je ze niet wat kan zorgen voor gekke dingen, hele gekke dingen :/... Om niet te spreken over de manier van invoegen van variabelen in een string.
Ik stel dus voor als SQL-query:
PHP:
1
2
3
4
5
6
$query=mysql_query("
SELECT id
FROM users 
WHERE 
        email='" .mysql_escape_string($_POST['naam']). "' 
AND wachtwoord='" .mysql_escape_string($_POST['ww']). "'");

Deze post is bestemd voor hen die een tegenwoordige tijd kunnen onderscheiden van een toekomstige halfvoorwaardelijke bepaalde subinverte plagiale aanvoegend intentioneel verleden tijd.
- Giphart


Acties:
  • 0 Henk 'm!

  • crisp
  • Registratie: Februari 2000
  • Laatst online: 18:59

crisp

Devver

Pixelated

voeg voor de gein dit eens toe aan je form:

HTML:
1
<input type="button" onclick="this.form.submit()" value="doe eens een JS submit" />


kortom: geef een form-element nooit een name="submit" ;)

Intentionally left blank

Pagina: 1