ugrás a tartalomhoz

Miért nem változtatja meg a cooki-t?

babazs · 2005. Május. 2. (H), 21.52
A problémám az, hogy a regisztrálás után se változik meg az user neve $U-ra!

Ez az első oldal:
  1. <? setcookie('unev',0,0);  
  2. ?>  
  3. <html>  
  4.   
  5. <head>  
  6. <title>homepage</title>  
  7. </head>  
  8.   
  9. <body background="hatter.jpg">  
  10. <center><h2>Belépési oldal!!</h2></center>  
  11.   
  12. <table>  
  13. <?php  
  14.        if(!isset($_COOKIE['unev']))  
  15.        {  
  16.        echo"<tr>";  
  17.        echo"<td>Usernev:</td>";  
  18.        echo"<form action='belepes.php' method='POST'>";  
  19.        echo"<td><input type='text' name='un' value=''></td>";  
  20.        echo"</tr>";  
  21.        echo"<tr>";  
  22.        echo"<td>Password:</td>";  
  23.        echo"<td><input type='password' name='pw' value=''></td>";  
  24.        echo"</tr>";  
  25.        echo"<tr>";  
  26.        echo"<td><input type='submit' name='belep' value='Belépés'></td>";  
  27.        echo"</form>";  
  28.        echo"<form action='reg.php' method='POST'>";  
  29.        echo"<td><input type='submit' name='gomb' value='Regisztració'></td>";  
  30.        echo"</form>";  
  31.        echo"</tr>";  
  32.        }  
  33.        else  
  34.        {  
  35.        echo"<tr>";  
  36.        echo"<td>Üdvözöllek:</td><td>".$_COOKIE['unev']."</td>";  
  37.        echo"</tr>";  
  38.          
  39.        }  
  40. ?>  
  41. </table>  
  42.   
  43.   
  44. </body>  
  45. </html>  
ez meg a regisztrációs oldal:
  1. <? setcookie('unev',0,0);  
  2. ?>  
  3.   
  4. <html>  
  5.   
  6. <?php  
  7.        if(!emptyempty($_POST['un']) && !emptyempty($_POST['pw']) && isset($_COOKIE['unev']))  
  8.        {  
  9.           $U=$_POST['un'];  
  10.           $P=$_POST['pw'];  
  11.             
  12.           $kapcsolat=mysql_connect('localhost','wu','');  
  13.           mysql_select_db('db');  
  14.           $keres=mysql_query("SELECT * FROM tabla WHERE usernev='$U' AND password='$P'");  
  15.   
  16.           if(mysql_fetch_array($keres))  
  17.           {  
  18.             $COOKIE['unev']=$U;  
  19.                                   
  20.           }  
  21.        }  
  22.        else  
  23.        {   
  24.            echo"<center><h3>Hiba!!</h3></center>";  
  25.        }  
  26.              
  27.        echo"<br><be><center><h4><a href='index.php'>Vissza</a> </h4></center>";  
  28.          
  29.          
  30. ?>  
  31.   
  32.   
  33.   
  34. <body>  
  35. </body>  
  36. </html>  
köszi a segítséget!!
 
1

cookie manual!!!

Anonymous · 2005. Május. 2. (H), 22.52
Nem próbáltam ki a kódot, de az látszik, hogy mindkét oldal elején kezdőlépésként az unev nevű cookie-nak "0" értéket adsz. Ezután bármit csinálhatsz, minden oldal betöltődésekor a $COOKIE['unev'] az 0-ra íródik felül.

Olvasd el a cookie-ról szóló manual oldalt, és nezd meg, hogyan kell paraméterezni.
http://hu.php.net/manual/hu/function.setcookie.php

Gyulus
2

Ha csak ennyit irok:

Anonymous · 2005. Május. 2. (H), 23.04
Ha csak ennyit irok: setcookie('unev'); akkor meg nem ír ki semmit.
Miért?
3

cookie manual

Anonymous · 2005. Május. 3. (K), 10.54
Továbbra is csak azt tudom javasolni, hogy olvasd el a már említett manualt, és úgy paraméterezd a setcookie-t, ahogy kell.
És próbáld ki az ott bemutatott példákat.
A setcookie('unev') parancs egyébként nullázza (kiüríti) a kukit.

Gyulus
4

de hogyha meg kell adni neki

Anonymous · 2005. Május. 3. (K), 18.30
de hogyha meg kell adni neki kezdő értéket, akkor az oldal mindig ezt
fogja felvenni, nem pedig az $U-t
5

vizsgálat?

tiku I tikaszvince · 2005. Május. 3. (K), 19.03
Mi lenne ha előbb megnéznéd hogy van-e már unev a $_COOKIE tömbben?, ha nincs lerakod az alap értékekkel, ha meg van akkor nem bántod!
valahogy így:
  1. if (!isset($_COOKIE['unev']))  
  2. {  
  3.   setcookie('unev',0,0);  
  4. }  
  5. else  
  6. {  
  7.   $u = $_COOKIE['unev'];  
  8. }  
vagy rövidebben:
  1. (!isset($_COOKIE['unev'])) ? setcookie('unev',0,0) : $u = $_COOKIE['unev'];  
6

ezzel én is

Anonymous · 2005. Május. 3. (K), 19.15
ezzel én is probálkoztam.
az első oldalon még nincs jelen az $U-ezt hogy vigyem át oda?
de ez igy lenne akkor is,nem?: $_COOKIE['unev']=$U;
7

mi van?

tiku I tikaszvince · 2005. Május. 3. (K), 19.37
ezt én most nem nagyon értem! azt a sort berakod mindkettő elejére és ellenőrzi hagy van-e süti, ha nincs lerakja, ha van a kapottat használja.

most végigbogarásztam mégegyszer a kódodat, és nem is igazán értem hogy minek kell neked az a süti! Ha beléptetést akarsz csinálni, akkor szvsz inkább a session körül nézelődj.
Én egyébként nem vagyok a híve ennek "a minden funkicó külön fájlban" felfogásnak. Egy állományban (index.php) meg lehet oldani mindent, a feladattól függő kimenetek létrehozásával... de ez az én véleményem.

de hogy valami használhatót is mondjak:
amikor ilyen "megoldhatatlan" problémám van akkor megszoktam állni, és
1. lépés: végiggondolom, hogy mit is kell csinálni?
2. lépés: leírom, de minimum magamban megfogalmazom a lépéseket
3. lépés: rajzolok egy kis folyamatábrát (mondjuk utoljára egy A3-as lapot rajzoltam tele, de megérte, mert egy csomó felesleges próbálkozástól megóvtam magam)
4. lépés: végiggondolom, hogy hogy lehetne az egyes lépéseket minél egyszerűbben megoldani.
és csak ezek után kezdek el tényleg kódot írni.

szóval gondold végig hogy kell-e biztosan az a süti!
8

nem kell neki

Anonymous · 2005. Május. 4. (Sze), 13.00
Természetesen nem kell neki. Fõleg, hogy nem teljesen érti a mûködését, úgy látom.
Session kell neki.
http://hu.php.net/session

Gyulus
9

A SESSIONnnak ártem a

Anonymous · 2005. Május. 4. (Sze), 19.08
A SESSIONnnak ártem a cookiet most tanulom!
ezért lennék kiváncsi a használatára, ha valaki jol leirná
miben különbözik a sessiontol??