NOVINKA - Online rekvalifikační kurz Java programátor. Oblíbená a studenty ověřená rekvalifikace - nyní i online.
NOVINKA – Víkendový online kurz Software tester, který tě posune dál. Zjisti, jak na to!

Diskuze: Funkcia vypisať vysledok

V předchozím kvízu, Online test znalostí PHP, jsme si ověřili nabyté zkušenosti z kurzu.

Aktivity
Avatar
MichalOškera:30.9.2016 19:03

Dobrý deň,
chcem sa opytať či by ste mi nevedeli poradiť prečo funkcia mi nechce vypisať vysledku hodnotu

function registracia ($sluzba,$hladam,$prihla_meno,$datum_narodenia,$email,$heslo,$heslo_znovu){
        if (isset($sluzba) AND isset($hladam) AND isset($prihla_meno) AND isset($datum_narodenia) AND isset($email) AND isset($heslo) AND isset($heslo_znovu) AND (!filter_var($email, FILTER_VALIDATE_EMAIL) === false) AND StrLen($heslo) > "5")
          {
            if ($heslo == $heslo_znovu AND isset($heslo) AND isset($heslo_znovu))
             {
              $heslo_md5 = md5($heslo);
              if(mysql_query("insert into uzivatelia values('','$email','$heslo_md5','$prihla_meno','$hladam','$datum_narodenia'"));
              if($result)
               {$sprava_registracia = '<div class="class="bg-success text-center">'.$jazyk_registracia[1].'</div>';}
              else
                {$sprava_registracia = '<div class="class="bg-danger text-center">'.$jazyk_registracia[2].'</div>';}
             }
            else
             {
              if ($heslo != $heslo_znovu){$sprava_registracia = '<div class="class="bg-danger text-center">'.$jazyk_registracia[3].'</div>';}
              if (!isset($heslo) OR !isset($heslo_znovu)){$sprava_registracia = '<div class="class="bg-danger text-center">'.$jazyk_registracia[4].'</div>';}
             }
          }
         else
          {
           $sprava_registracia = '<div class="class="bg-danger text-center">'.$jazyk_registracia[5].'</div>';
          }
           return  "$sprava_registracia";
       }

je to v externom subore function.php
a volam ju

 include "function.php";
$sluzba = $_POST['sluzba'];
     $hladam = $_POST['hladam'];
     $prihla_meno = $_POST['prihla_meno'];
     $datum_narodenia = $_POST['datum_narodenia'];
     $email = $_POST['email'];
     $heslo = $_POST['heslo'];
     $heslo_znovu = $_POST['heslo_znovu'];
     echo registracia ($sluzba,$hladam,$prihla_meno,$datum_narodenia,$email,$heslo,$heslo_znovu);

a nič mi to nevypiše ale vo funkcii nie je žiadna chyba.

 
Odpovědět
30.9.2016 19:03
Avatar
Odpovídá na MichalOškera
Neaktivní uživatel:30.9.2016 20:52

No takhle to vypadá, že ti tam chybí deklarace pár proměnných a pole.
Používáš špatnou funkci pro db query, vyměň ji za mysqli_query.
Za podmínkou s db query není žádné podmíněné pokračování.

Nemáš vypnuté zobrazování chyb a varování v php?

Editováno 30.9.2016 20:53
Nahoru Odpovědět
30.9.2016 20:52
Neaktivní uživatelský účet
Avatar
mkub
Tvůrce
Avatar
Odpovídá na MichalOškera
mkub:1.10.2016 17:12

driver mysql je zastaraly, treba rucne osetrovat SQL Injection chyby, namiesto funkcii mysql_* su tuj funkcie mysqli_*, alebo PDO (PDO uz osetruje SQL Injection chyby)

 
Nahoru Odpovědět
1.10.2016 17:12
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 3 zpráv z 3.