Autor | Zpráva | ||
---|---|---|---|
technik Profil |
#1 · Zasláno: 22. 2. 2010, 18:25:28
Mám tento kód:
<?php if (isset($_POST['submit'])){ if (isset($_POST['old_pass'])){ $old=$_POST['old_pass']; } else{ echo "Nezadal jste staré heslo"; echo "<br>"; } if (isset($_POST['new_pass'])){ $new=$_POST['new_pass']; } else{ echo "Nezadal jste nové heslo"; echo "<br>"; } if (isset($_POST['new_pass1'])){ $new1=$_POST['new_pass1']; } else{ echo "Nezadal jste kontrolní heslo"; echo "<br>"; } if ($new == $new1){ $pass=$new; } else{ echo "Hesla se neschodují"; echo "<br>"; } } else{ echo"<form method='post' action='#' name='edit_pass'>"; echo"<table>"; echo"<tr><td>Staré heslo:</td><td><input type='text' name='old_pass' size='44'></td></tr>"; echo"<tr><td>Nevé heslo:</td><td><input type='text' name='new_pass' size='44'></td></tr>"; echo"<tr><td>Znovu:</td><td><input type='text' name='new_pass1' size='44'></td></tr>"; echo"<tr><td><input type='submit' name='submit' value='Změnit'></td></tr>"; echo"</table>"; echo"</form>"; } ?> Čistě teoreticky by to při nezadání některé z položek měl zahlásit chybu. To se ovšem neděje. Nevíte prosím někdo proč? Díky T |
||
Taps Profil |
#2 · Zasláno: 22. 2. 2010, 18:31:51 · Upravil/a: Taps
technik:
zkus menší úpravu <?php if (isset($_POST['submit'])){ if (!empty($_POST['old_pass'])){ $old=$_POST['old_pass']; } else{ echo "Nezadal jste staré heslo"; echo "<br>"; } if (!empty($_POST['new_pass'])){ $new=$_POST['new_pass']; } else{ echo "Nezadal jste nové heslo"; echo "<br>"; } if (!empty($_POST['new_pass1'])){ $new1=$_POST['new_pass1']; } else{ echo "Nezadal jste kontrolní heslo"; echo "<br>"; } if ($new == $new1){ $pass=$new; } else{ echo "Hesla se neschodují"; echo "<br>"; } } else{ echo"<form method='post' action='#' name='edit_pass'>"; echo"<table>"; echo"<tr><td>Staré heslo:</td><td><input type='text' name='old_pass' size='44'></td></tr>"; echo"<tr><td>Nevé heslo:</td><td><input type='text' name='new_pass' size='44'></td></tr>"; echo"<tr><td>Znovu:</td><td><input type='text' name='new_pass1' size='44'></td></tr>"; echo"<tr><td><input type='submit' name='submit' value='Změnit'></td></tr>"; echo"</table>"; echo"</form>"; } ?> |
||
technik Profil |
#3 · Zasláno: 22. 2. 2010, 18:37:58 · Upravil/a: technik
Taps:
Díky. Ještě dotaz. Je if (empty($_POST['new_pass'])){ if (!isset($_POST['new_pass'])){ nebo je v tom nějaký rozdíl T. |
||
Keeehi Profil |
#4 · Zasláno: 22. 2. 2010, 18:47:14
technik:
Rozdíl v tom je. Přesně si to zjistíš, když klepneš na odkazy, které z nich vytvořil zdejší zvýrazňovač. laicky: empty kontroluje "prázdnost" proměnné, isset kontroluje, zda proměnná "je už použitá". |
||
Taps Profil |
#5 · Zasláno: 22. 2. 2010, 18:48:51
technik:
IsSet - Testuje jestli proměnná existuje empty - Testuje zda je testovaná proměnná prázdná Vykřičník před funkcí znamená její negaci |
||
technik Profil |
#6 · Zasláno: 22. 2. 2010, 18:57:03
Děkuji za vysvětlení.
|
||
Časová prodleva: 14 let
|
0