Diskuze: Znegování kontroly délky zadáváni

PHP PHP Znegování kontroly délky zadáváni American English version English version

Avatar
Ondřej Langr (andysekcze):

Ahoj,
Nevěděl by někdo jak napsat abych toto znegoval? Má to být řešené přes to else if, protože už fakt nevím :D

if($heslo == $potvrd_heslo)
   {
     if($nick AND $email)
       if($heslo_kontrola >= "8" AND $heslo_kontrola <= "20")
       {
                $heslo = md5(md5($heslo));
                include "./config.php";
               $ip = $_SERVER["REMOTE_ADDR"];
       $zapis = mysql_query("INSERT INTO uzivatele SET nick='$nick', heslo='$heslo', email='$email', ip='$ip', opravneni='1' ;");
       echo "Registrace proběhla v pořádku.";
               } else {
        echo("Nezadal jsi jméno nebo email.")
         }
       else if($heslo_kontrola ){
       echo "Heslo musí mít minimální počet 8 znaků a maximální počet 20 znaků.";
     }
   } else {
     echo "Hesla nejsou shodná!";

Předem děkuji

Odpovědět 12.5.2015 20:34
I have a charger. I have Note 7. Umh I haven't Note7.
Avatar
Odpovídá na Ondřej Langr (andysekcze)
Martin Konečný (pavelco1998):

Ahoj,

podívej se http://www.itnetwork.cz/php/tipy-dil1 na část "Příliš velké větvení".

Pokud to přepíšeš do toho způsobu, pak by kontrola délky hesla mohla vypadat takto:

$errors = array();
if ($_POST) {
  if (!$nick) {
    $errors[] = "Nebyl vyplněn nick";
  }
  if (!$email) {
    $errors[] = "Nebyl vyplněn email";
  }
  if (empty($errors)) {
    $passLength = strlen($pass);
    if ($passLength < 8 || $passLength > 20) {
      $errors[] = "Heslo 8-20 znaků";
    }

    if (empty($errors)) {
      $passHash = neco_lepsiho_nez_dvakrat_md5($pass);
      // DB INSERT atd
    }
  }
}
Akceptované řešení
+20 Zkušeností
+1 bodů
Řešení problému
 
Nahoru Odpovědět  +1 12.5.2015 21:48
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 2 zpráv z 2.