Autor | Zpráva | ||
---|---|---|---|
petrr Profil * |
Ahojky mam takovy problem - vzdy kdyz vytvorim nejaky kod v php ktery spolupracuje s db nezobrazuje mi to vysledek,
vytvril sem login formular , databazi, ale porad to ve vysledku nic nevypisuje - posilam kod: index.php: <html> <body> <font size="5" face="sans-serif">Login </font> <form action="login.php" method="POST"> <table cellpadding="3" cellspacing="4" border="0"> <tr> <td>Username:</td> <td><input type="text" name="username"></td> </tr> <tr> <td>Password:</td> <td><input type="password" name="password"></td> </tr> <tr> <td><input type="submit" name="submit" value="Log in"/></td> </tr> </table> </form> </body> </html> a login.php <?php $username = $_POST['username']; $password = $_POST['password']; $login = $_GET['login']; setcookie("username","$username",time()+86400); if($login=='yes') { $con = mysql_connect("localhost","root",""); mysql_selctdb("login"); $get = mysql_querry("SELECT count(id) FROM login WHERE user='$username' and pass='$password' "); $result = mysql_result($get, 0); if ($result!=1){ echo "Spatne prihlaseni"; } else { echo "Prihlaseni uspesne" . $_COOKIE['username'] . "Vitejte"; $_SESSION['username'] =$username; } } ?> Nevite nekdo kde se muze vyskytovat chyba, ktera ma za vliv nevypsani vysledku na obrazovku??? Dekuji Moderátor nightfish: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
xmark Profil |
#2 · Zasláno: 3. 8. 2010, 09:18:48
mysql_selectdb
|
||
nightfish Profil |
#3 · Zasláno: 3. 8. 2010, 09:19:13 · Upravil/a: nightfish
pochybný je řádek
if($login=='yes') uvážíme-li, že se proměnná $login plní z URL (a v atributu action žádná taková proměnná není) dále pak řádek 10 souboru login.php - správně: mysql_select_db EDIT: a ještě řádek 11: správně mysql_query EDIT2: používáš $_SESSION, ale nikde tam nevidím session_start() |
||
AM_ Profil |
#4 · Zasláno: 3. 8. 2010, 09:20:00
A který konkrétně příkaz by měl vypsat na výstup a nevypisuje?
stačí se podívat na kód a vidíš - pokud je $_GET['login']=='yes', skočí se do větve, kde se v každém případě něco vypíše. Pokud ne, nemáš tam žádnou "else" větev ani nic jiného, co by mělo něco vypsat. Přímo z databáze se žádná data ani vypsat nesnažíš, nevím, kde očekáváš, že se nějaká vypíší, když z databáze pouze zjišťuješ, zda se uživatel správně přihlásil. |
||
petrr Profil * |
kdyz vypisu: session_start() kamkoliv tak mi to vypisuje chyby?
jak to dale tedy poupravit?? poslam poopraveny kod: <?php $username = $_POST['username']; $password = $_POST['password']; $login = $_GET['login']; setcookie("username","$username",time()+86400); if($login=='yes') { $con = mysql_connect("localhost","root",""); mysql_selct_db("login"); $get = mysql_query("SELECT count(id) FROM login WHERE user='$username' and pass='$password' "); $result = mysql_result($get, 0); if ($result!=1){ echo "Spatne prihlaseni"; } else { echo "Prihlaseni uspesne" . $_COOKIE['username'] . "Vitejte"; $_SESSION['username'] =$username; } } ?> Pro méně všímavé ještě jednou: Moderátor nightfish: Tvůj projev je špatně srozumitelný, piš prosím s diakritikou.
Moderátor nightfish: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
|
||
nightfish Profil |
#6 · Zasláno: 3. 8. 2010, 09:42:40
petrr:
Existuje nějaký způsob, aby se v proměnné $login objevila hodnota yes? Pokud ano, tak odkud? |
||
AM_ Profil |
#7 · Zasláno: 3. 8. 2010, 11:55:56
petrr:
„kdyz vypisu: session_start() kamkoliv tak mi to vypisuje chyby?“ proč se ptáš, jestli ti to vypisuje chyby? jak máme vědět, co ti to vypisuje? session_start() musí být vždy před jakýmkoli výstupem nebo znaky mimo <?php ?>, nejlépe hned na začátku souboru. „jak to dale tedy poupravit?? poslam poopraveny kod:“ a co chceš aby to dělalo? pokud trváš na tom, "aby to něco vypisovalo", dej na začátek třeba echo "ahoj"; |
||
Časová prodleva: 14 let
|
0