Jump to content

[PHP] Cookies


Recommended Posts

Geplaatst:

Hey

Ik ben een control panel aan het ontwerpen voor m'n sa-mp server. Nu zou ik graag hebben dat de gebruikers ook ingelogd blijven in het UCP, in plaats van altijd opnieuw te moeten inloggen. Dit doe ik d.m.v. cookies.

Nu heb ik het probleem dat die cookies niet worden aangemaakt ..

Hoe los ik dat op? Het zou natuurlijk kunnen dat die query verkeerd is, maar dat lijkt me niet.

<?php
$action = $_GET['action'];

$con = mysql_connect("127.0.0.1", "root", "password");

$tmpuser = mysql_real_escape_string($_POST['username']); 
$tmppass = mysql_real_escape_string($_POST['password']);

$expire = 60*60*24;

if (!$con)
{
	die('Could not connect to database: ' . mysql_error());
}
mysql_select_db("samp_db", $con);

if(mysql_num_rows($result = mysql_query("SELECT * FROM `playerinfo` WHERE `username`='" . $tmpuser . "' && `password` = '" . md5($tmppass) . "' LIMIT 1")))
{		
	setcookie("user", $tmpuser, $expire);
	setcookie("pass", md5($tmppass), $expire);
	$action = "control"; // laat het ucp zien
}
else
{
	setcookie("user", "", time()-3600); // make the cookie expire, so the browser will delete it
	setcookie("pass", "", time()-3600);
	$action = "login"; // laat login scherm zien
}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
...

Geplaatst: (bewerkt)

Voor zover ik zie zet je de cookie time parameter op $expire, die gelijkstaat aan 60×60×24 (86400). setcookie(), die via timestamp werkt, denkt dus dat dit 2 januari 1970 0:00:00 (de datum/tijd van timestamp 86400) is, waardoor de browser de cookie verwijdert (hij is verlopen).

Regel 9 ($expire = 60*60*24;) moet worden:

$expire = time()+(60*60*24);

Hierdoor wordt de $expire ingesteld op de huidige timestamp + 86400, waardoor dat precies over een dag is.

Bewerkt: door Donald F. Duck

Een reactie plaatsen

Je kan nu een reactie plaatsen en pas achteraf registreren. Als je al lid bent, log eerst in om met je eigen account een reactie te plaatsen.

Gast
Op dit onderwerp reageren...

×   Je hebt text geplaatst met opmaak.   Opmaak verwijderen

  Only 75 emoji are allowed.

×   Je link is automatisch ingevoegd.   In plaats daarvan weergeven als link

×   Je vorige bewerkingen zijn hersteld.   Alles verwijderen

×   You cannot paste images directly. Upload or insert images from URL.

  • Recent actief   0 leden

    • Er zijn hier geen geregistreerde gebruikers aanwezig.
×
×
  • Create New...