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
Lukasso
post
Post #2





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

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


Super. Działa. Czy są jeszcze jakieś inne metody sprawdzenia, które można by tutaj użyć. Podana powyżej działa, ale chyba nie jest podręcznikową. To raczej rozwiązanie praktyczne, prawda?
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: 11.10.2025 - 19:05