<?php
if(!isset($_POST["submit"])){ // als de submitknop in mijn form niet is aangeraakt.
// formpje: user, pass.
}
elseif(isset($_POST["submit"])){ // submit wel is aan geraakt
$query = mysql_query("SELECT * FROM members WHERE user='" . $_POST["user"] . "' AND pass='" . md5($_POST["pass"]) . "'"); // check de query, user pass klopt of niet.
if(mysql_num_rows($query) != 0){ // als er rows gevonden zijn
$member = mysql_fetch_assoc($query); // selecteren uit db
setcookie("mid",$member["mid"], Time()+60); // cookie (dacht ik)
echo "Cookie is geset";
}
else{ // als de user/pass niet klopt
echo "Foute user/pass";
}
}
?>
<?php
if(!isset($_POST["submit"])){// als de submitknop in mijn form niet is aangeraakt.
// formpje: user, pass.
}
elseif(isset($_POST["submit"])){// submit wel is aan geraakt
$query=mysql_query("SELECT * FROM members WHERE user='".$_POST["user"]."' AND pass='".md5($_POST["pass"])."'");// check de query, user pass klopt of niet.
if(mysql_num_rows($query)!=0){// als er rows gevonden zijn
Dat maakt niet uit Crazed. Maar wat werkt er dan niet? Je moet wel wat specifieker zijn. Ik raad je trouwens aan om even addslashes(); o.i.d. te gebruiken bij je SQL query.
Thomas - 22/04/2006 10:41 (laatste wijziging 22/04/2006 10:43)
Moderator
Je cookie is maar 60 seconden geldig?
Je cookie is ook pas actief nadat je je pagina ververst met header() of wat dan ook.
Daarnaast is het cookie alleen geldig in het pad waarin je je cookie hebt geset. Om je cookie op heel je site geldig te laten zijn moet je een vierde parameter toevoegen, die aangeeft in welke folder(s) het cookie geldig is ("/" wil zeggen: op het hele domein):
Het kan natuurlijk ook geen kwaad om je cookie wat langer geldig te laten zijn. Ook kunnen verschillen tussen lokale tijd en servertijd ervoor zorgen dat je cookie meteen verlopen is (denk ik)!
ik heb dit script (dit is niet het hele script) in login.php staan, en die include ik in het menu. (en de \\\\ staan er wel maar worden door de highlight van sima.be weggehaald)...
Je had alles in aparte echo's gepropt terwijl het ook gewoon in 1 echo kon en je vergat de 'ontsnappingstekens'.
Waarom uberhaupt alle HTML gaan echoën. Waarom niet even je php tags afsluiten en gewoon als HTML erin gooien, op die manier hoeft PHP het hele zaakje ook niet te parsen.
het probleem is dus dat als ik op submit klik en de user en pass zijn niet correct zegt ie: "foute user/pass" en als ik de juiste gegevens neerzet gaat ie terug naar het form. (cookie wordt dus volgensmij niet geset)
--- EDIT ---
Acht laat ook maar, ik ben nu bezig met een nieuw systeem.
Sluit dit topic maar!