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

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: 22.08.2025 - 17:41