| | |
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
Autor | Správa |
---|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 Bydlisko: SK/Prievidza |
Zdravim pokusam sa prekusnut cez problem v scripte -zmena_hesla.php
script:
Kód: <?php $titul_strany = 'Zmena hesla'; include ('./zahlavie.inc');
if (isset($_POST['odoslat'])) { require_once ('./mysql_spojit.php'); function odstranit_problemy ($data) { global $DBC; if (ini_get('magic_quotes_gpc')) { $data = stripslashes($data); } return mysql_real_escape_string ($data, $DBC); } $sprava = NULL; if (empty($_POST['login'])) { $lo = FALSE; $sprava .= 'Nezadali ste login'; } else { $lo = odstranit_problemy($_POST['login']);} if (empty($_POST['heslo'])) { $he = FALSE; $sprava .= 'Nezadali ste povodne heslo'; } else { $he = odstranit_problemy($_POST['heslo']);} if (empty($_POST['heslo1'])) { $h1 = FALSE; $sprava .= 'Nezadali ste nove heslo '; } else { if ($_POST['heslo1'] == $_POST['heslo2']) { $h1 = odstranit_problemy($_POST['heslo1']); } else { $sprava .= 'Hesla vam nesuhlasia';} } if ($lo && $he && $h1) { $dotaz = "SELECT id FROM uzivatelia WHERE (login='$lo' AND heslo = PASSWORD('$he'))"; $vysledok = @mysql_query ($dotaz); $pocet = mysql_num_rows ($vysledok); if ($pocet == 1) { $riadok = mysql_fetch_array($vysledok, MYSQL_NUM); $dotaz = "UPDATE uzivatelia SET heslo=PASSWORD('$h1') WHERE id=$riadok[0]"; $vysledok = mysql_query ($dotaz); if (mysql_affected_rows() == 1) { echo 'Zmena hesla uspesna'; include ('./pata.inc'); exit(); } else {$sprava .= 'Zmena sa nepodarila'. mysql_error(); } } else {$sprava .= 'Vase meno a heslo nezodpoveda ulozenym zaznamom'. $pocet. mysql_error();} mysql_close(); } else { $sprava .= 'skuste prosim znovu'; } }
if (isset($sprava)) { echo "$sprava" ; } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <fieldset><legend>Zadejte příslušné údaje do následujícího formuláře:</legend>
<p><b>Uživatelské jméno:</b> <input type="text" name="login" size="20" maxlength="40" value="<?php if (isset($_POST['uziv_jmeno'])) echo stripslashes($_POST['uziv_jmeno']); ?>" /></p>
<p><b>Staré heslo:</b> <input type="password" name="heslo" size="20" maxlength="20" /></p>
<p><b>Nové heslo:</b> <input type="password" name="heslo1" size="20" maxlength="20" /></p>
<p><b>Potvrďte nové heslo:</b> <input type="password" name="heslo2" size="20" maxlength="20" /></p> </fieldset>
<div align="center"><input type="submit" name="odoslat" value="Změnit heslo" /></div>
</form>
<?php include ('./pata.inc'); ?>
chyba je urcite niekde okolo riadku 34 ale neviem kde prestne pokial vynecham v tomto riadku AND heslo = PASSWORD('$he') script funguje bez problemov (ale nekontroluje ci sa zhoduje zadany login a heslo) Problem je v tom ze premenna $pocet sa vzdy rovna 0 ci zadam spravne hodnoty alebo nespravne uz si neviem rady dufam ze mi pomozete dakujem
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
ked vypisuje nejaku chybu, tak ju treba vzdy uviest, aby bolo riesenie problemu rychlejsie...
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 Bydlisko: SK/Prievidza | Napísal autor témy 8andrej8: 14.09.2009 17:05 | |
|
Ukazuje mi spravu ze sa zmena nepodarila:
Vase meno a heslo nezodpoveda ulozenym zaznamom
// tak som si isty ze chyba je tu:
SELECT id FROM uzivatelia WHERE (heslo=PASSWORD('$NEJAKE_HESLO'));
pretoze aj ked to skusam ako querry cez SQLog tak to nefunguje napr. mam v DB 20 ludi a z toho 2maju heslo 123 a ked dam
SELECT id FROM uzivatelia WHERE (heslo=PASSWORD('123'));
tak mi nezobrazi ziaden vysledok
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 Bydlisko: Bratislava |
aha, myslel som si, ze sa jedna i syntakticku alebo inu podobnu chybu...
hm a mas tie hesla, ktore su ulozene v db, vygenerovane cez password()?
skor by som ale pouzival md5() alebo sha1()
_________________ NTB: Acer Aspire 4820TG 14" | CPU: Intel Core i5 2,53 GHz | VGA: ATI Mobility Radeon HD5650 1GB | RAM: 8GB DDR3 1066 MHz | HDD: 1TB SSD WD BLUE |
|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 Bydlisko: SK/Prievidza | Napísal autor témy 8andrej8: 14.09.2009 17:39 | |
|
robim to podla knihy a tam je PASSWORD()
skusil som aj zmenit vsetky hodnoty PASSWORD na md5 ( aj v registracnom formluari samozrejme) ale po zaregistrovani noveho uzivatela (uz s md5 sifrovanym heslo) mi pisalo rovnaku chybu Vase meno a heslo nezodpoveda ulozenym zaznamom aj ked som si isty ze som zadal spravne udaje
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
Registrovaný: 11.08.07 Príspevky: 4088 Témy: 34 Bydlisko: Brno | Napísal Ďuri: 14.09.2009 17:46 | |
|
Skus si selectnut a vypisat vsetko, co medzi sebou porovnavas, teda to, co prichadza zvonka aj to, co je ulozene v DB. Potom mozno uvidime, kde je problem.
|
|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 Bydlisko: SK/Prievidza | Napísal autor témy 8andrej8: 14.09.2009 17:49 | |
|
Ak som spravne pochopil duri tak to som uz skusal ako vravim mam zhruba 20ludi v DB z toho 2maju heslo "123" a ked dam SELECT id FROM uzivatelia WHERE (heslo=PASSWORD('123')); tak mi nenajde ani jedneho!
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
Registrovaný: 05.02.07 Prihlásený: 27.03.12 Príspevky: 113 Témy: 31 Bydlisko: SK/Prievidza | Napísal autor témy 8andrej8: 14.09.2009 18:49 | |
|
Vyriesene islo o to ze PASSWORD generuoval dlzku hesla viac ako som mal v velkost tabulky
_________________ MB:ASUS P5Q PRO CPU: Intel Core 2 Quad Q9300 2.5GHz + Thermalright Ultra-120 eXtreme+Scythe S-Flex 120mmFAN 1200rpm GPU: ATI Sapphire HD4870 1GBRAM:4GB DDR2-800Mhz CL5 Kingston 2x2GB HDD:WD6400AAKS 640GB 2x PSU:Enermax MODU82+ EMD525AWT DVDRW:LG GH22LS30 LS CASE: ThermalTake VI1000BWS M9 Monitor:Samsung LCD 24" 2493HM OS:OEM WIndows Vista Home Premium 64bit SK |
|
| Stránka: 1 z 1
| [ Príspevkov: 8 ] | |
| Nemôžete zakladať nové témy v tomto fóre Nemôžete odpovedať na témy v tomto fóre Nemôžete upravovať svoje príspevky v tomto fóre Nemôžete mazať svoje príspevky v tomto fóre
|
|