Autor | Zpráva | ||
---|---|---|---|
Jakub Šebík Profil |
#1 · Zasláno: 24. 5. 2011, 18:21:04 · Upravil/a: Jakub Šebík
Dobrý den,
Mám otázku: Jde udělat třeba z tohohle inputu <form action="porovnat.php" method="post"> <input type="text" name="jmeno"> <input type="password" name="heslo"> <input type="submit" name="odeslat"> </form> to, že by nějak porovnal v textovém dokumentu třeba jmeno:heslo? Pokud by se to schodovalo, napsalo by se správné údaje. Pokud ano, mohl by jste mi někdo tento script poskytnout? Děkuji |
||
Ernie Profil |
#2 · Zasláno: 24. 5. 2011, 18:28:28 · Upravil/a: Ernie
<?php $jmeno = $_POST["jmeno"]; $heslo = $_POST["heslo"]; $soubor = file("soubor.txt", FILE_IGNORE_NEW_LINES); for($i=0;$i<count($soubor);$i++) { $e = Explode(":", $soubor[$i]); if($e[0]==$jmeno && $e[1]==$heslo) { echo "<i>správné údaje</i>"; break; } } ?> Za předpokladu, že máte ve stejné složce soubor.txt, který vypadá nějak takto: jmeno1:heslo1 jmeno2:heslo2 jmeno3:heslo3 |
||
Jakub Šebík Profil |
#3 · Zasláno: 24. 5. 2011, 18:32:59
Ernie:
Ano, to je přesně ono! Děkuji mnohokrát, moc jste mi pomohl. |
||
Jakub Šebík Profil |
#4 · Zasláno: 24. 5. 2011, 18:43:04 · Upravil/a: Jakub Šebík
Dobrý den,
omlouvám se že "obnovuji" staré vlákno, ale mám problém. <?php $jmeno = $_POST["jmeno"]; $heslo = $_POST["heslo"]; $soubor = file("ulozeno.txt", FILE_IGNORE_NEW_LINES); for($i=0;$i<count($soubor);$i++) { $e = Explode(":", $soubor[$i]); if($e[0]==$jmeno && $e[1]==$heslo) { echo "<i>Správné údaje</i>"; } else { echo "<i>Chybné údaje!</i>"; } } ?> Když uživatel zadá špatné údaje, echo ohlásí Chybné údaje!. Ale echo mi to hlásí i když zadám správné údaje. Prosím, opravíte mě kde mám chybu? Děkuji. |
||
Jakub Šebík Profil |
#5 · Zasláno: 24. 5. 2011, 18:45:48
Již je to vyřešeno, omylem jsem si vymazal break;
|
||
Ernie Profil |
#6 · Zasláno: 24. 5. 2011, 19:10:24 · Upravil/a: Ernie
Jakub Šebík:
„Již je to vyřešeno, omylem jsem si vymazal break;“ Ovšem jestli je těch jmen a hesel více než jeden pár (což asi je), tak je potřeba mírná úprava: <?php $jmeno = $_POST["jmeno"]; $heslo = $_POST["heslo"]; $soubor = file("ulozeno.txt", FILE_IGNORE_NEW_LINES); for($i=0;$i<count($soubor);$i++) { $e = Explode(":", $soubor[$i]); if($e[0]==$jmeno && $e[1]==$heslo) { echo "<i>Správné údaje</i>"; break; } } if($i==count($soubor)) echo "<i>Chybné údaje!</i>"; ?> (protože aby byly údaje vyhodnoceny jako správné, tak stačí jedna shoda, ale nesprávné údaje znamenají neshodu se všemi položkami v souboru) |
||
Jakub Šebík Profil |
#7 · Zasláno: 24. 5. 2011, 19:31:27
Ernie:
Poupravený script, vyhodnocuje jako špatně dobře zadané údaje? Co s tím? |
||
Ernie Profil |
#8 · Zasláno: 24. 5. 2011, 19:39:53
Jakub Šebík:
Chybička se vloudila. Patří tam if($i==count($soubor)) echo "<i>Chybné údaje!</i>"; |
||
Časová prodleva: 13 let
|
0