Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Formularz, Formularz przesyłanie i walidacja
kemes123
post
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.04.2010

Ostrzeżenie: (0%)
-----


Witam
Walcze z tym cały dzień i nie wiem jak to zrobić mianowicie:

Metodą prób i błędów napisałem walidację formularza :
  1.  
  2. function walidacja_id($ID_klienta){
  3. if (isset ($_POST['ID_klienta'])) {
  4. if(strlen($ID_klienta)!= 8)
  5. {
  6. echo 'id jest do dupy' ;
  7. } else echo 'ID jest malina';
  8. }
  9. $ID_klienta= $_POST['ID_klienta'];
  10. }
  11.  
  12. function walidacja_date1($date1){
  13. if (isset ($_POST['date1']))
  14. if(preg_match('/^[0-9]{4}[\-]{1}[0-9]{2}[\-]{1}[0-9]{2}\s{1}[0-9]{2}[\:]{1}[0-9]{2}[\:]{1}[0-9]{2}$/D', trim($_POST['date1'])))
  15. {
  16. echo 'Data jest gitara' ;
  17. }
  18. else echo 'Zly format. Musi byc zachowany foramt YYYY-MM-DD HH:MI:SS !!!!';
  19. }
  20. $date1= $_POST['date1'];
  21.  
  22.  
  23. echo <<<lll
  24. <form name="formularz" action="data.php" method="post">
  25. <input type"text" name="login_1" value="$login_1" />login<br>
  26. <input type"text" name="ID_klienta" value="$ID_klienta" />id<br>
  27.   <input type"text" name="date1" value="$date1" />data<br>
  28.  <input type="submit" value="Wyślij" /><br><br></form>
  29. lll;
  30.  
  31.  
  32. if ($date1) walidacja_date1($date1);
  33. echo '<br>';
  34. if ($ID_klienta) walidacja_ID($ID_klienta);
  35. echo '<br>';
  36.  
  37.  
  38. ?>
  39.  

Jak wymusić dodanie rekordu do bazy?
Zmieniając method na GET i podając stronę wstaw.php gdzie napisany jest insert do bazy walidacja nie działa rekord trafia ale walidacja nie jest brana pod uwagę.
Próbując na głównej stronie zostawić sam formularz a walidację umieszczając w pliku wstaw.php jest tak samo

W pliku wstaw.php jak usunąłem
function walidacja_date1($date1){
to pojawia się informacja o błędnym wpisaniu daty czy loginu ale rekord i tak się dodaje
  1. plik wstaw.php
  2.  
  3. if (isset ($_GET['ID_klienta'])) {
  4. if(strlen($ID_klienta)!= 8)
  5. {
  6. echo 'id jest do dupy' ;
  7. } else echo 'ID jest malina';
  8. }
  9. $ID_klienta= $_GET['ID_klienta'];
  10.  
  11.  
  12. function walidacja_date1($date1){
  13. if (isset ($_GET['date1']))
  14. if(preg_match('/^[0-9]{4}[\-]{1}[0-9]{2}[\-]{1}[0-9]{2}\s{1}[0-9]{2}[\:]{1}[0-9]{2}[\:]{1}[0-9]{2}$/D', trim($_GET['date1'])))
  15. {
  16. echo 'Data jest gitara' ;
  17. }
  18. else echo 'Zly format. Musi byc zachowany foramt YYYY-MM-DD HH:MI:SS !!!!';
  19. }
  20. $date1= $_GET['date1'];
  21.  
  22.  
  23.  
  24. $login_1 = addslashes($login_1);
  25. $ID_klienta = addslashes($ID_klienta);
  26. $date1 = addslashes($date1);
  27.  
  28.  
  29.  
  30. @ $db = mysql_pconnect($dbhost, $dbuname, $dbpass);
  31.  
  32. if (!$db)
  33. {
  34. echo 'Błąd: : Połączenie z serwerem bazy danych nie powiodło się. Proszę spróbować później.';
  35. }
  36.  
  37. mysql_select_db ("$dbname") or
  38. die ("Nie można połączyć się z bazą danych. Proszę spróbować później");
  39.  
  40.  
  41. $zapytanie = "INSERT INTO skrzynka (ID, login_1, ID_klienta, date1) VALUES ('', '$login_1', '$ID_klienta', '$date1');";
  42. $wynik = mysql_query ($zapytanie);


Ten post edytował kemes123 25.12.2010, 20:21:05
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kemes123
post
Post #2





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 15.04.2010

Ostrzeżenie: (0%)
-----


Udało mi się zrobić coś takiego
  1. function walidacja_id($ID_klienta){
  2.  
  3. if (empty($ID_klienta['ID_klineta'])){
  4. echo 'dane puste';
  5. }
  6. if(strlen($ID_klienta)!= 8){
  7. echo 'zla ilosc znakow';
  8.  
  9. }
  10. else {
  11. $zapytanie = "INSERT INTO skrzynka (ID, login_1, ID_klienta, problem, date1, date2, segment, skrzynka_1, telefon, przekierowanie, notatka, form_k) VALUES ('', '$login_1', '$ID_klienta', '$problem', '$date1', '$date2', '$segment', '$skrzynka_1', '$telefon', '$przekierowanie', '$notatka', '$form_k' );";
  12. $wynik = mysql_query ($zapytanie);
  13. }
  14. if ($wynik){
  15. echo 'rekord dodany';
  16. }
  17. else{ echo 'nie doany';}
  18. }
  19. $ID_klineta = $_POST ["ID_klienta"];
  20.  
  21. echo <<<lll
  22. <form name="formularz" action="data.php" method="post">
  23. <input type"text" name="login_1" value="$login_1" />login<br>
  24. <input type"text" name="ID_klienta" value="$ID_klienta" />id<br>
  25.   <input type"text" name="date1" value="$date1" />data<br>
  26.  <input type="submit" value="Wyślij" /><br><br></form>
  27. lll;
  28. if($ID_klineta) walidacja_id($ID_klienta);


walidacja ładnie działa ale jeszcze jedno jak zrobić aby po dodaniu rekordu (obecnie potwierdzenie bez przeładowania) czyścił się formularz?

Ten post edytował kemes123 25.12.2010, 23:13:33
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: 3.10.2025 - 00:36