Autor | Zpráva | ||
---|---|---|---|
Alastor_Kopal Profil * |
#1 · Zasláno: 25. 4. 2009, 20:02:07
Mám problém při tomto php k´du mi to vyhodí hlášku že mám ban 1.stupně jenomže přímo v databázi sem se díval že mám ban 0
<?php session_start(); // Startujeme session ?> <html> <head> <meta http-equiv="content-type" content="text/html; charset=windows-1250" /> <META NAME="author" CONTENT="Alastor Kopál"> </head> <body> <?php $ban = $_SESSION['ban']; if($_SESSION['ban']==0){ echo "HTML které by se mi mělo zobrazit jenomže se mi nezobrazí"; }elseif($ban == 1){ echo "Jsi ban stupně 1"; }elseif($ban == 2){ echo "Jsi ban"; }elseif($ban == 3){ echo "Jsi ban"; }else{ echo "HTML když nejsi přihlášen"; } ?> </body> </html> |
||
Alphard Profil |
#2 · Zasláno: 25. 4. 2009, 20:08:24
Že máte něco v databázi je pěkné, ale tady porovnáváte jenom session.
|
||
Alastor_Kopal Profil * |
#3 · Zasláno: 25. 4. 2009, 20:12:38
jo jenomže v přihlášení do session načítám obsah databáze
(už jsem to zkoušel zaměnit }elseif($ban == 2){ echo "Jsi ban stupně 1"; }elseif($ban == 1){ echo "Jsi ban"; a stejně mi to vyhledalo 1 takže si asi session myslí že můj $_session['ban'] = 1 |
||
keeehi Profil |
#4 · Zasláno: 25. 4. 2009, 20:19:58
Alastor_Kopal
V těch kódech, co jste poslal, jsem chybu nenašel (která by omezobvala funkčnost). Takže by bylo dobré tady ukázat, jak při přihlášení načítáte obsah databáze do session. |
||
Alastor_Kopal Profil * |
#5 · Zasláno: 25. 4. 2009, 20:25:07
Toto je kód přihlášení
<?php ob_start(); session_start(); //Nahodíme session if(isset($_POST['jmeno'])){ //Zkontrolujeme jmeno require ("db.php"); //Pripojime se do dtb. $dbjmeno = $_POST['jmeno']; //Do proměnné dbjmeno dáme jméno z formulaře $dbheslo = ($_POST['heslo']); //Do proměnné dbheslo dáme heslo z formulaře //Připojíme se do databáze a vytáhneme zní ověření zda jmeno a heslo souhlasí. $pripoj = MySQL_Query("SELECT * FROM `dobro` WHERE `jmeno` = '$dbjmeno' and `heslo` = '$dbheslo'") or die (mysql_error()); $zaznam = mysql_fetch_array($pripoj); if($zaznam['jmeno']){ $_SESSION['jmeno'] = $zaznam['jmeno']; //Uložíme si do session jmeno $_SESSION['id'] = $zaznam['id']; //Uložíme si do session pořadí uživatele $_SESSION['heslo'] = $zaznam['heslo']; //Uložíme si do session heslo $_SESSION['penize'] = $zaznam['penize']; (je tu ještě pár věcí ale ty nemusím zobrazovat neměly by omezovat funkčnost) $presmeruj="index.php"; //Přesměrujeme uživatele pokud vyplnil vše dobře header("location: $presmeruj"); }else{ echo" <p><font color=\"#f00\" size=\"2\"><strong><em><u>Buď jste zadali špatné údaje nebo jste na straně zla opakujte prosím přihlášení.</u></em></strong></font></p> "; //Chyba připojení s databází } mysql_free_result($pripoj); } ob_end_flush(); ?> <?php echo " <style> input, textarea, select {background-color: #000; color: white; border: 1px solid red} input.tlacitko {background-color: navy; color: #000; font-weight: bold; cursor: hand} </style> <div class=\"popsany\"> <center><form action=\"prihlaseni.php\" method=\"post\"> <div style=\"text-align: center;\"><table width=\"200\" cellspacing=\"1\" cellpadding=\"1\" border=\"0\" align=\"center\" summary=\"\"> <tbody> <tr> <td style=\"text-align: center;\"><font color=\"Red\">Jméno:</td> <td style=\"text-align: center;\"><input type=\"text\" name=\"jmeno\" maxlength=\"32\"/></font></td> </tr> <tr> <td style=\"text-align: center;\"><font color=\"Red\">Heslo:</td> <td style=\"text-align: center;\"><input type=\"password\" name=\"heslo\" maxlength=\"32\"/></font></td> </tr> <tr align=\"center\"> <td style=\"vertical-align: top;\" colspan=\"2\"><input type=\"submit\" name=\"odeslat\" value=\"Přihlásit\"/> </form></center><br /></td> </tr> </tbody> </table> <br /></div> "; ?> |
||
keeehi Profil |
#6 · Zasláno: 25. 4. 2009, 20:29:49
řádek 19: Když jste tam těch pár věcí smazal, mazal jste i $zaznam['ban']?
|
||
Alastor_Kopal Profil * |
#7 · Zasláno: 27. 4. 2009, 14:05:02
Promiňte ano
$_SESSION['jmeno'] = $zaznam['jmeno']; //Uložíme si do session jmeno $_SESSION['id'] = $zaznam['id']; //Uložíme si do session pořadí uživatele $_SESSION['heslo'] = $zaznam['heslo']; //Uložíme si do session heslo $_SESSION['penize'] = $zaznam['penize']; $_SESSION['misto'] = $zaznam['misto']; $_SESSION['status'] = $zaznam['status']; $_SESSION['zdravi'] = $zaznam['zdravi']; $_SESSION['maxzdravi'] = $zaznam['maxzdravi']; $_SESSION['mail'] = $zaznam['mail']; //Uložíme si do session mail $_SESSION['rasa'] = $zaznam['rasa']; //Uložíme si do session rasu $_SESSION['ban'] = $zaznam['ban']; //Uložíme si do session ban |
||
Alastor_Kopal Profil * |
#8 · Zasláno: 27. 4. 2009, 14:56:56
v tomto případu hrají roli 3 stránky
prihlaseni.php index.php strankakterablbne.php je zajimavy že index.php na který jsem hne poté co se přihlásím přesměrován tak tam mi to ban nehlásí nevim fakt |
||
Alastor_Kopal Profil * |
#9 · Zasláno: 27. 4. 2009, 15:34:45
tak jinak všechno funguje přejdu přes přihlášení a
index.php - funguje když dám F5 (aktualizaci) vpořádku strankakterablbne.php - funguje když dám F5 už si podmínky nesedí |
||
Mezerník Profil * |
#10 · Zasláno: 27. 4. 2009, 15:53:47
a co takhle
session_register('jmeno'); $_SESSION['jmeno'] = $zaznam['jmeno']; |
||
nightfish Profil |
#11 · Zasláno: 27. 4. 2009, 15:59:01
Mezerník
session_register byla zavržena v PHP 5.3.0 Alastor_Kopal nejsou zapnuté register_globals a nepřepisuješ si proměnnou $ban nebo $_SESSION['ban'] někde? |
||
keeehi Profil |
#12 · Zasláno: 27. 4. 2009, 16:48:30
je na stránce strankakterablbne.php session_start();?
nightfish a jak víš, kterou verzi Alastor_Kopal má? |
||
Alastor_Kopal Profil * |
#13 · Zasláno: 27. 4. 2009, 18:06:36
Promiňte že jsem vás otravoval už jsem našel chybu díki moc
|
||
Časová prodleva: 15 let
|
0