18. august 2004 - 14:57Der er
18 kommentarer og 1 løsning
Cookie test
Dau, jeg sidder her og er ved at bygge et site op. Jeg skal til at teste på mine cookies. Jeg tester med denne string: if ($_COOKIE['dacookie'] != "99" ) { Jeg ved denne if sætning ikke er fuldført, men vil denne også sortere de users hvor "dacookie"'s værdi er tom? Sætter den til $id hvor kun admins, mods, highusers osv. får en id.. normal users er tomme der.. vil den virke som filter til en normal user (uden id)?
I dette særtema ser vi på, hvordan cloud og AI bliver fundamentet for virksomhedernes digitale forretning, og hvordan de nye muligheder for automatisering og forretningsværdi kan udnyttes uden at miste overblik, sikkerhed og menneskelig kontrol.
Husk bare på, at brugeren kan ændre indholdet af cookies - så det er måske en noget risikabelt måde at lave det på..
Brug evt $_SESSION.. Det virker næsten på samme måde..
øverst i dit script sætter du session_start();
når du vil gemme noget i session: $_SESSION['userid'] = 99;
når du vil bruge værdien til noget, gør du som ved cookie
if( $_SESSION['userid'] != 99 ) { ..
osv..
Brugeren kan ikke rette i en session. Han får kun en session-id - som i sig selv ikke er informationsbærende. Men PHP kan med dette session-id finde de dataer du har gemt i den pågældende session.
I know - men mine sessions kan ikke rigtig køre på det her login system.. Det kommer til at se lidt anderledes med noget kryptering på mine cookies osv, før det bliver officielt ;)
du fik svaret på mit spørgsmål ;) og tror fordi jeg har en action i samme doc. som den ene af dem - og de gider ikke blive resat ved logout... så man skal hele tiden lukke browser vinduet og kan kun opdatere et member per gang du er logget ind..
<? if ($_COOKIE['dacookie'] != "99" ) { echo "<b>You do not have the appropriate permissions to enter user admin!</b>"; echo "<b><a href=login_success.php>Back to Distributors Section</a></b><br>"; echo "<b><a href=logout.php>Logout</a>"; } else { include 'db.php'; if ($update) { $query = mysql_query("UPDATE users SET username='$username', password='$password', email_address='$email', WHERE username='$username' ") or print mysql_error(); echo "Dine oplysninger er nu blevet opdateret"; }else{ print " $username "; print " $num "; $num = o ?> </p> <h3 align="center">Rediger crew</h3><br> <p>Hvilken bruger vil du redigere info for?</p>
<?
$result = mysql_query("SELECT * FROM users ORDER BY userid DESC LIMIT 0,25") or die(mysql_error()); while($row = mysql_fetch_array($result)) { echo"<table width='90%' border='0' cellspacing='2' cellpadding='2'><tr><td><b>".$row['username']. " </b><a href='user_update.php?page=user_update&bruger=show&username=" . $row['username'] . "'><b>*Rediger*</b></A></td></tr></table>\n"; } $query = mysql_query("SELECT * FROM users WHERE username='$username' ") or print mysql_error(); while($row = mysql_fetch_array($query)) { $id = $row['userid']; $username = $row['username']; $password = $row['password']; $email = $row['email_address']; $username = $row['username']; }
hvis jeg vælger at jeg vil opdatere en user - loader den sig selv igen - og så laver den en session fejl.. <form method="post" action="user_update.php?page=user_update&bruger=show&navn=" . $row['username'] . "> user_update = den slamkode jeg postede...
forstår ikke helt hvad det er du siger, MÅ jeg have 2 session_start() eller må jeg ikke? der er jo netop 2 session_start() fordi den loader user_update.php igen (det hedder filen der loader sig selv i form action..)
dennismp <form method="post" action="user_update.php?page=user_update&bruger=show&navn=" . $row['username'] . "> <- dette er min form action på user_update.php - som altså loader user_update.php igen, dog med de nye variabler til at opdatere brugerne med. Der står session_start(); i toppen af den - og når den loader igen i min form action loader den også min session_start(); det er der mit problem ligger med mine sessions..
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.