Autor Zpráva
lelekton
Profil *
zdravim netusim co delam spatne ale kod mi absolutne ignoruje podminku

cast formulare:
<div><label for=\"password\">Password:</label></div>
<div><input type=\"password\" name=\"password\"></div>
<p></p>
<div><input type=\"submit\" value=\"submit\" name=\"submit\"></div>

podminka číslo 1:
$password = $_POST['password'];
$pass = $_SESSION['pass'];

if(isset($_POST['submit']) and ($password != $pass)){
echo "<p>Bad password</p>";
}

podmínka číslo 2:
if(isset($_POST['submit']) and ($password = $pass)){
nějaký kód
}

problem je to ze at zadam jekekoliv heslo tak to stejne provede podminku cislo 2
mohli by jste mi prosim pomoct
lionel messi
Profil
lelekton:
1. Operátor = znamená v PHP priradenie. Porovnáva operátor == (prípadne === okrem hodnoty berie do úvahy i typ). Čiže správny zápis je:
if(isset($_POST['submit']) and ($password == $pass))

Ešte by sa z toho myslím (na 99,99%) dala vyhodiť zátvorka za and (slovné operátory majú takmer najnižšiu prioritu), ale radšej mať zbytočnú zátvorku než chybu navyše.
lelekton
Profil *
díky moc
serverteam.sk
Profil
doted se snažím pochopit co má za funkci ta 2 podmínka :D
lionel messi
Profil
serverteam.sk:
doted se snažím pochopit co má za funkci ta 2 podmínka :D
Predpokladám, že má znamenať: „Ak je odoslaný formulár a heslo sa zhoduje s heslom uloženým v session, tak…“ Ide o útržky kódu bez kontextu, podľa mňa by to celé išlo napísať lepšie, ale nepoznám celý kód.

lelekton:
Až teraz som si všimol zrejme prebytočné spätné lomítka okolo úvodzoviek v časti kódu s formulárom, môžem sa spýtať, prečo ich používaš? Tipujem správne, že formulár vypisuješ cez echo v PHP (jediný prípad, keď by to dávalo zmysel)?

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