Avatar
MichalOškera:

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. září 19:03
Avatar
Petr Linhart
Člen
Avatar
Odpovídá na MichalOškera
Petr Linhart:

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. září 20:53
 
Nahoru Odpovědět  +2 30. září 20:52
Avatar
mkub
Redaktor
Avatar
Odpovídá na MichalOškera
mkub:

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  +2 1. října 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.