Autor | Zpráva | ||
---|---|---|---|
weckho Profil |
Kuwa už mě to se*e... Redaktor se mi přihlásí i když zadá špatný heslo... Nevidím tam chybu... Díky
<?php //otevření DB require_once('otevridb.inc'); if (!otevriDB()) break; $autori = mysql_query("SELECT heslo FROM redakce WHERE jmeno = '{$_REQUEST["login"]}'"); if(!autori){ echo "Problém s redakčním systémem."; exit; } //kontrola přihlašovacího jména a hesla if(!mysql_num_rows($autori)){ echo "Neznámý redaktor!"; exit; } else{ if(mysql_result($autori,"heslo") !=$_REQUEST["heslo"]){ echo "Neplatné heslo!"; exit; } } setcookie('login', $_REQUEST["login"], time()+900); setcookie('heslo', $_REQUEST["heslo"], time()+900); header("location: index2.php?page=novinky"); ?> |
||
llook Profil |
#2 · Zasláno: 3. 6. 2005, 00:06:37
Nehlásí PHP nějakou chybu? Protože tenhle řádek by podle mě chybu hlásit měl (kvůli těm uvozovkám):
$autori = mysql_query("SELECT heslo FROM redakce WHERE jmeno = '{$_REQUEST["login"]}'"); Další věc vidím tady: if(!autori){ Těch věcí tam bude víc. Nemáš náhodou v php.ini nastavené display_error=Off, nebo error_reporting=0 ? |
||
23k_sleep Profil * |
#3 · Zasláno: 3. 6. 2005, 01:18:49
hmm je to naky divny ... zkus to takhle
$jmeno a $heslo jsou z FORMULARE ($_POST); $autori = mysql_query("SELECT login, heslo FROM redakce WHERE jmeno = $jmeno AND heslo=$heslo'"); if (mysql_num_rows($autori)==0) die('spatne zadane udaje'); elseif (mysql_num_rows($autori)>1) die('OPET CHYBA'); // autor je tam vickrat? else{ SET COOKIE + presmerovani ... } |
||
printf Profil |
#4 · Zasláno: 3. 6. 2005, 14:27:56 · Upravil/a: printf
proč by tenhle řádek měl hlásit chybu? Podle mne je dobře. (doplněno: aspoň syntakticky, neošetřenej vstup je jiná věc)
$autori = mysql_query("SELECT heslo FROM redakce WHERE jmeno = '{$_REQUEST["login"]}'"); jinak bych doporučil podívat se co vlastně leze z Requestu a co leze z databáze print_r($_REQUEST); print_r(mysql_fetch_array($autori, MYSQL_ASSOC)); |
||
weckho Profil |
#5 · Zasláno: 3. 6. 2005, 15:50:53
printf
Jo, je to dobře, chybu to nehlásí a ani by hlásit nemělo. Jinak z REQUESTU mi to hází informace správně, a ten výstup z DB ještě zkontroluju... llook Další věc vidím tady: if(!autori){ Jo no, ale to jen malinká chybka, díky tomu to není... Ale díky |
||
Časová prodleva: 6 měsíců
|
|||
xalivarius Profil * |
#6 · Zasláno: 21. 11. 2005, 21:58:55
MAM TAKOVY PROBLEM. NA WZ.CZ MAM SQL DATABAZI. A CHCI VYTVORIT OVEROVANI HESLA PREZ DATABAZI A NEJAK ME TO NEBEZI. ZREJME BUDE CHYBA V DOTAZU, ALE ZKOUSEL JSEM MNOHO VARIANT AUZ ME NIC NENAPADA A ZACINAM MIT Z TOHO VYGUMOVANO. PORADTE KDE JE CHYBA.
if (isset($HTTP_POST_VARS['userid']) && isset($HTTP_POST_VARS['password'])) { $userid = $HTTP_POST_VARS['userid']; $password = $HTTP_POST_VARS['password']; $db_conn = mysql_connect('mysql.wz.cz', 'NIK', 'HESLO'); mysql_select_db('auth', $db_conn); $query = 'select * from auth ' ."where name='$userid' " ." and pass=password('$password')"; $result = mysql_query("SELECT * FROM auth WHERE pass = '$_POST[$password]' AND name = _POST'$userid'"); if (mysql_num_rows($result) >0 ) { $HTTP_SESSION_VARS['valid_user'] = $userid; } } HLASI MI TO PO PŘIHLÁŠENÍ CHYBU: Warning: mysql_num_rows(): supplied argument is not a valid MySQL MARŤAS |
||
jozob Profil |
#7 · Zasláno: 21. 11. 2005, 22:31:21 · Upravil/a: jozob
mysql_select_db('auth', $db_conn);
- Názov DB je na wz rovnaký ako názov webu, nie? (predpokladám, že auth je názov tabuľky, nie názov databázy) $query = 'select * from auth ' ."where name='$userid' " ." and pass=password('$password')"; $result = mysql_query("SELECT * FROM auth WHERE pass = '$_POST[$password]' AND name = _POST'$userid'"); - Dotaz uložený v premennej $query sa nevykoná, v nasledujúcej funkcii mysql_query() je parameter iný SQL dotaz $result = mysql_query("SELECT * FROM auth WHERE pass = '$_POST[$password]' AND name = _POST'$userid'"); - Tu už je asi odpoveď na pôvodnú otázku - dotaz SELECT * FROM auth WHERE pass = '$_POST[$password]' AND name = _POST'$userid'; - by mal vyzerať takto: SELECT * FROM auth WHERE pass = '$password' AND name = '$userid'; |
||
xalivarius Profil * |
#8 · Zasláno: 21. 11. 2005, 23:03:05
MNOHOKRAT DEKUJI, VUBEC JSEM SI TOTIZ NEVSIML, ZE SELECT_DB JSEM DAL NAZEV TABULKY A TO BYL TEN PROBLEM. ZA ZBYTEK SE OMLOUVAM KDYBYCH VEDEL CO JSEM UDELAL ZA HOVADINU, NEZKOUSEL BYCH TYHLE KOMBINACE A TUDIS BY TEN DALSI DOTAZ BYL ZBYTECNEJ. MOC DEKUJI
MARTAS |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0