Autor Zpráva
Jakub Šebík
Profil
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
<?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
Ernie:
Ano, to je přesně ono!
Děkuji mnohokrát, moc jste mi pomohl.
Jakub Šebík
Profil
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
Již je to vyřešeno, omylem jsem si vymazal break;
Ernie
Profil
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
Ernie:
Poupravený script, vyhodnocuje jako špatně dobře zadané údaje?
Co s tím?
Ernie
Profil
Jakub Šebík:
Chybička se vloudila.
Patří tam
if($i==count($soubor)) echo "<i>Chybné údaje!</i>";

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0