Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [JavaScript][MySQL][PHP] Sprawdzenie formularza przed wysłaniem
zaworek
post
Post #1





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

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


Witam, nie mogę poradzić sobie z funkcją sprawdzającą czy przed wysłaniem do bazy wszystkie pola formularza zostały poprawnie dodane. Działający kod bez opcji sprawdzania poniżej:

  1. <html>
  2. <head>
  3. <title>Dodawanie</title>
  4. </head>
  5. <body>
  6.  
  7. <?php
  8. if($send=='Wyslij') {
  9. mysql_connect ("10.134.1.27","quiz","12345");
  10. $zapytanie = "INSERT INTO tools SET nazwa='$nazwa', model='$model', sn='$sn'";
  11. $wykonaj = mysql_query ($zapytanie);
  12. echo "Dane dodane prawidłowo";
  13. } else {
  14. echo '<form method="get" action="dodaj.php" name="formularz">
  15. <td><font size="2" face="Verdana">nazwa</font></td>
  16. <td align="center"><font size="2" face="Verdana"><input type="text" name="nazwa" size="20"></font></td>
  17. <td><font size="2" face="Verdana">model</font></td>
  18. <td align="center"><font size="2" face="Verdana"><input type="text" name="model" size="20"></font></td>
  19. <td><font size="2" face="Verdana">SN</font></td>
  20. <td align="center"><font size="2" face="Verdana"><input type="text" name="sn" size="20"></font></td>
  21. <td colspan="2">
  22. <p align="center"><font size="2" face="Verdana"><input type="submit" value="Wyslij" name="send"><input type="reset" value="Kasuj" name="B2"></font></td>
  23. </form>'
  24. ;
  25. }
  26. ?>
  27. </body>
  28. </html>


Kombinowałem tak, że najpierw dodam funkcję check:

  1. <input type="submit" value="Wyslij" name="send" onClick="check()">


a potem do wszystkiego wstawię poniższy kod ale coś mi to nie wychodzi (IMG:style_emoticons/default/sadsmiley02.gif)

  1. <script TYPE="text/javascript" LANGUAGE="JavaScript">
  2. function check() {
  3. var wartosc = document.formularz.nazwa.value;
  4. var numer = document.formularz.model.value;
  5. var opis = document.formularz.sn.value;
  6. if (nazwa = '')
  7. alert('Nie wypełniłeś pola nazwa');
  8. else
  9. if (model == '')
  10. alert('Nie wypełniłeś model');
  11. else
  12. if (sn== '')
  13. alert('Nie wypełniłeś sn');
  14. else
  15. document.formularz.submit();
  16. }
  17. </script>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
zaworek
post
Post #2





Grupa: Zarejestrowani
Postów: 62
Pomógł: 0
Dołączył: 27.06.2006

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


Zastosowałem się do uwag, sprawdzenie formularza działa ale po kliknięciu WYŚLIJ nadal brak rekordów w bazie (brak komunikatu potwierdzającego przesłanie danych z formularza). Co tym razem jest nie tak?

  1. <html>
  2. <head>
  3. <title>Dodaj sprzęt</title>
  4. </head>
  5. <body>
  6. <script TYPE="text/javascript" LANGUAGE="JavaScript">
  7. function check() {
  8. var nazwa = document.formularz.nazwa.value;
  9. var model = document.formularz.model.value;
  10. var sn = document.formularz.sn.value;
  11. if (nazwa == ''){
  12. alert('Nie wypełniłeś pola nazwa');}
  13. else
  14. if (model == ''){
  15. alert('Nie wypełniłeś model');}
  16. else
  17. if (sn == ''){
  18. alert('Nie wpisałes S/N');}
  19. else
  20. document.formularz.submit();
  21. }
  22. </script>
  23. <?php
  24. $nazwa = $_POST['nazwa']; //odbieram dane z formularza
  25. $model = $_POST['model'];
  26. $sn = $_POST['sn'];
  27. if($send=='Wyslij') {
  28. mysql_connect ("10.134.1.27","quiz","12345");
  29. $zapytanie = "INSERT INTO tools SET nazwa='$nazwa', model='$model', sn='$sn'";
  30. $wykonaj = mysql_query ($zapytanie);
  31. echo "Dane dodane prawidłowo";
  32. } else {
  33. echo '<form method="post" action="dodaj.php" name="formularz">
  34. <td><font size="2" face="Verdana">nazwa</font></td>
  35. <td align="center"><font size="2" face="Verdana"><input type="text" name="nazwa" size="20"></font></td>
  36. <td><font size="2" face="Verdana">model</font></td>
  37. <td align="center"><font size="2" face="Verdana"><input type="text" name="model" size="20"></font></td>
  38. <td><font size="2" face="Verdana">SN</font></td>
  39. <td align="center"><font size="2" face="Verdana"><input type="text" name="sn" size="20"></font></td>
  40. <td colspan="2">
  41. <p align="center"><font size="2" face="Verdana"><input type="button" value="Wyslij" name="send" onClick="check()"><input type="reset" value="Kasuj" name="B2"></font></td>
  42. </form>'
  43. ;
  44. }
  45. ?>
  46. </body>
  47. </html>


Czy podpowie ktoś co tym razem jest nie tak?
Go to the top of the page
+Quote Post
Prezi2907
post
Post #3





Grupa: Zarejestrowani
Postów: 107
Pomógł: 4
Dołączył: 11.08.2010
Skąd: Inowrocław

Ostrzeżenie: (10%)
X----



  1. <html>
  2. <head>
  3. <title>Dodaj sprzęt</title>
  4. </head>
  5. <body>
  6. <script TYPE="text/javascript" LANGUAGE="JavaScript">
  7. function check() {
  8. var nazwa = document.formularz.nazwa.value;
  9. var model = document.formularz.model.value;
  10. var sn = document.formularz.sn.value;
  11. if (nazwa == ''){
  12. alert('Nie wypełniłeś pola nazwa');}
  13. else
  14. if (model == ''){
  15. alert('Nie wypełniłeś model');}
  16. else
  17. if (sn == ''){
  18. alert('Nie wpisałes S/N');}
  19. else
  20. document.formularz.submit();
  21. }
  22. </script>
  23. <?php
  24. $nazwa = $_POST['nazwa']; //odbieram dane z formularza
  25. $model = $_POST['model'];
  26. $sn = $_POST['sn'];
  27. if($send=='Wyslij') {
  28. mysql_connect ("10.134.1.27","quiz","12345");
  29. $zapytanie = "INSERT INTO tools SET nazwa='$nazwa', model='$model', sn='$sn'";
  30. $wykonaj = mysql_query ($zapytanie);
  31. echo "Dane dodane prawidłowo";
  32. } else {
  33. echo '<form method="post" action="dodaj.php" name="formularz">
  34. <td><font size="2" face="Verdana">nazwa</font></td>
  35. <td align="center"><font size="2" face="Verdana"><input type="text" name="nazwa" size="20"></font></td>
  36. <td><font size="2" face="Verdana">model</font></td>
  37. <td align="center"><font size="2" face="Verdana"><input type="text" name="model" size="20"></font></td>
  38. <td><font size="2" face="Verdana">SN</font></td>
  39. <td align="center"><font size="2" face="Verdana"><input type="text" name="sn" size="20"></font></td>
  40. <td colspan="2">
  41. <p align="center"><font size="2" face="Verdana"><input type="button" value="Wyslij" name="send" onClick="check()"><input type="reset" value="Kasuj" name="B2"></font></td>
  42. </form>'
  43. ;
  44. }
  45. ?>
  46. </body>
  47. </html>

2 pytania:

1. Wróciłeś dla testu do opcji
  1. <p align="center"><font size="2" face="Verdana"><input type="submit" value="Wyslij" name="send" onClick="check()"><input type="reset" value="Kasuj" name="B2"></font></td>
  2. </form>'

Po poprawce tych nawiasów itd ?
Jeśli tak to narzuca się drugie pytanie.
2. Może dodaj w kodzie:(daje w XML bo nie ma JS)
  1. <script TYPE="text/javascript" LANGUAGE="JavaScript">
  2. function check() {
  3. var nazwa = document.formularz.nazwa.value;
  4. var model = document.formularz.model.value;
  5. var sn = document.formularz.sn.value;
  6. var send = document.formularz.send.value;
  7. if (nazwa == ''){
  8. alert('Nie wypełniłeś pola nazwa');}
  9. else
  10. if (model == ''){
  11. alert('Nie wypełniłeś model');}
  12. else
  13. if (sn == ''){
  14. alert('Nie wpisałes S/N');}
  15. else {
  16. return [nazwa, model, sn, send];
  17. document.formularz.submit();}
  18. }
  19. </script>

Bo coś chyba ci nie pobiera tego Submita i może to pomoże...
(IMG:style_emoticons/default/smile.gif)
Gdybyś rozwiązał problem to napisz co było nie tak bo uczę się komunikacji PHP JS MySQL...
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 - 03:22