Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] Formularz dodawania rekordu do bazy, Przy każdym uruchomieniu formularza dodawany jest pusty rekord
Lukasso
post
Post #1





Grupa: Zarejestrowani
Postów: 20
Pomógł: 0
Dołączył: 11.09.2013

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


Zmobilizowałem się wreszcie do nauki php od początku.

Stworzyłem formularz dodawania danych do bazy. Po mniejszych i większych perturbacjach udało mi się połączyć z bazą i zapisać w niej dane z formularza.
PROBLEM: po każdym otwarciu strony z formularzem od razu pojawia się komunikat o poprawnym dodaniu rekordu do bazy i rekord taki zostaje dodany, oczywiście pusty, bo pole formularza były puste. Jak temu zapobiec i spowodować dodawanie danych dopiero po naciśnięciu submit? Czy przesyłanie danych w ten sposób jest bezpieczne, czy powinienem mieć w nawyku dodawanie jakiegoś zabezpieczenia? Lepiej to wiedzieć i niech wejdzie w krew na początku nauki. Może jeszcze jakieś uwagi doświadczonych programistów?

Kod:
  1. <?php require ('config.php'); // wstawiamy dane configuracyjne do polaczenia z baza
  2.  
  3. // tworzymy krotkie nazwy zmiennych otrzymanych z formularza
  4. $marka=$_POST['marka'];
  5. $model=$_POST['model'];
  6. $kolor=$_POST['kolor'];
  7. $pojemnosc=$_POST['pojemnosc'];
  8. $paliwo=$_POST['paliwo'];
  9.  
  10. // przekazujemy wartosci zmiennych do odpowiednich pol w bazie danych
  11. // WSTAW DO tabeli test (kolumny w bazie) WARTOSCI (wartosci zmiennych)
  12. $zapytanie = "INSERT INTO test (marka, model, kolor, pojemnosc, paliwo) VALUES ('$marka','$model','$kolor','$pojemnosc','$paliwo')" or die(mysql_error());
  13. // wykonaj zapytanie
  14. $wynik = mysql_query($zapytanie);
  15. // komunikat potwierdzający poprawne zapisanie danych w bazie
  16. if ($wynik) {
  17. echo 'Prawidłowo dodano do bazy danych';
  18. }
  19.  
  20. mysql_close($db);
  21. ?>
  22.  
  23. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  24. <html>
  25. <head>
  26. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  27. <title>Untitled Document</title>
  28. </head>
  29.  
  30. <body>
  31. <h3>DODAJ NOWY SAMOCHÓD DO BAZY</h3>
  32.  
  33. <!-- FORMULARZ HTML WPROWADZANIA DANYCH -->
  34. <form name="form1" method="post" action="samochody-dodaj.php">
  35. marka: <input name="marka" type="text" size="20">
  36. model: <input type="text" name="model" size="20">
  37. kolor: <input type="text" name="kolor" size="20">
  38. pojemność: <input type="text" name="pojemnosc" size="20">
  39. paliwo: <input type="text" name="paliwo" size="20">
  40. <input value="dodaj samochód" type="submit">
  41. </form>
  42. <!-- KONIEC FORMULARZA -->
  43.  
  44. </br>
  45. <a href="samochody.php">ť lista samochodów</a>
  46. </body>
  47. </html>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
alex19
post
Post #2





Grupa: Zarejestrowani
Postów: 172
Pomógł: 7
Dołączył: 23.12.2005
Skąd: Wejherowo

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



  1. <?php
  2. If (isset($_POST['marka'])){
  3. require ('config.php'); // wstawiamy dane configuracyjne do polaczenia z baza
  4.  
  5. // tworzymy krotkie nazwy zmiennych otrzymanych z formularza
  6. $marka=$_POST['marka'];
  7. $model=$_POST['model'];
  8. $kolor=$_POST['kolor'];
  9. $pojemnosc=$_POST['pojemnosc'];
  10. $paliwo=$_POST['paliwo'];
  11.  
  12. // przekazujemy wartosci zmiennych do odpowiednich pol w bazie danych
  13. // WSTAW DO tabeli test (kolumny w bazie) WARTOSCI (wartosci zmiennych)
  14. $zapytanie = "INSERT INTO test (marka, model, kolor, pojemnosc, paliwo) VALUES ('$marka','$model','$kolor','$pojemnosc','$paliwo')" or die(mysql_error());
  15. // wykonaj zapytanie
  16. $wynik = mysql_query($zapytanie);
  17. // komunikat potwierdzający poprawne zapisanie danych w bazie
  18. if ($wynik) {
  19. echo 'Prawidłowo dodano do bazy danych';
  20. }
  21.  
  22. mysql_close($db);
  23. }
  24. ?>
  25.  
  26. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
  27. <html>
  28. <head>
  29. <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  30. <title>Untitled Document</title>
  31. </head>
  32.  
  33. <body>
  34. <h3>DODAJ NOWY SAMOCHÓD DO BAZY</h3>
  35.  
  36. <!-- FORMULARZ HTML WPROWADZANIA DANYCH -->
  37. <form name="form1" method="post" action="samochody-dodaj.php">
  38. marka: <input name="marka" type="text" size="20">
  39. model: <input type="text" name="model" size="20">
  40. kolor: <input type="text" name="kolor" size="20">
  41. pojemność: <input type="text" name="pojemnosc" size="20">
  42. paliwo: <input type="text" name="paliwo" size="20">
  43. <input value="dodaj samochód" type="submit">
  44. </form>
  45. <!-- KONIEC FORMULARZA -->
  46.  
  47. </br>
  48. <a href="samochody.php">ť lista samochodów</a>
  49. </body>
  50. </html>

[/quote]
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: 27.12.2025 - 09:10