Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] Dwie takie same wartości w tablicy
-Guest-
post
Post #1





Goście







Witam!
Mam rejestrację z walidacja napisaną w php. Niestetu walidacja nie chroni przed wpisanem do bazy tych samych danych. W efekcie gdy wypełni się formularz i kliknie 5 razy na przycisk wyślij to 5 rekordów takich samych zostanie dodanych do bazy. Mój kod php to:
  1. <?
  2.  
  3. //jesli byl wyslany formularz przechodzimy do obsługi danych
  4. if(isset($_POST['wyslij']))
  5. {
  6. //Obrabiamy wszystkie zmienne przekazane metodą POST
  7. foreach ($_POST AS $klucz => $wartosc)
  8. {
  9. $wartosc= trim($wartosc);//usuwamy białe znaki
  10. $wartosc= stripslashes($wartosc);
  11. $wartosc=htmlspecialchars($wartosc, ENT_QUOTES);
  12. $_POST[$klucz]=$wartosc;
  13. }
  14. $login=$_POST['login'];
  15. $haslo=$_POST['haslo'];
  16. $email=$_POST['email'];
  17.  $blad_txt='';
  18. $blad=false;
  19. //sprawdzamy czy jest wypełnine pole login
  20. if(strlen($login)<2){
  21. $blad_txt.='<div>Podaj swój <b>login</b></div>';
  22. $blad=true;
  23. }
  24. //sprawdzamy czy jest podane haslo
  25. if(strlen($haslo)<2){
  26. $blad_txt.='<div>Podaj swoje <b>hasło</b></div>';
  27. $blad=true;
  28. }
  29. //sprawdzamy czy jest podany prawidłowy adres e-mail
  30. if(!preg_match('|^[_a-z0-9.-]*[a-z0-9]@[_a-z0-9.-]*[a-z0-9].[a-z]{2,3}$|e', $email)){
  31. $blad_txt.='<div>Podaj prawidłowy adres <b>e-mail</b></div><br/>';
  32. $blad=true;
  33. }
  34. if(!$blad)
  35. {
  36. //poprawne dane - robmy z nimi co trzeba (zapisujemy do bazy danych itp.)
  37. include("config.php"); 
  38. $result= mysql_query("insert into t_user values ('$id','$login','$haslo','$email')");
  39. echo "<div>Wpisane dane zostały dodane do bazy! 
  40. Kliknj <a href=\"index.php\">tutaj</a><br/><br/></div>";
  41. }
  42. else
  43. {
  44. //cos jest zle – wyświetlamy stosowne komunikaty
  45. echo $blad_txt;
  46. }
  47. }
  48. else
  49. {
  50. //wypelniamy zmienne pustymi danymi jesli formularz nie został jeszcze wysłany
  51. $login='';
  52. $haslo='';
  53. $email='';
  54. }
  55. //wyswietlamy formularz
  56. echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post">
  57. Twój login: <input class="standard" style="margin-right: 50px;" type="text" name="login" value="'.$login.'" /><br/>
  58. Twoje hasło: <input class="standard" style="margin-right: 50px;" type="text" name="haslo" value="'.$haslo.'" /><br/>
  59. Twój e-mail: <input class="standard" style="margin-right: 50px;" type="text" name="email" value="'.$email.'" /><br/>
  60. <input class="submit" type="submit" style="margin-right: 50px;" name="wyslij" value="Wyślij" /> 
  61. </form>';
  62. ?>


Z góry dziękuję za pomoc
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 15:52