Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [HTML][PHP] Formularz, użycie isset
pablo663
post
Post #1





Grupa: Zarejestrowani
Postów: 13
Pomógł: 0
Dołączył: 22.12.2009

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


  1. <title>Dodawanie skladników</title>
  2. </head>
  3.  
  4. <?php
  5.  
  6. include("baza.php");
  7.  
  8. $nazwa = addslashes(htmlspecialchars($_POST['nazwa']));
  9. $jednostka = addslashes(htmlspecialchars( $_POST['jednostka']));
  10. $stan = addslashes(htmlspecialchars($_POST['stan']));
  11.  
  12. $q = "INSERT INTO skladniki SET nazwa = '$nazwa', jednostka = '$jednostka', stan = '$stan'";
  13. $r = mysql_query($q);
  14. ?>
  15.  
  16. <?php
  17. if ( isset ($nazwa)) && ( !empty( $nazwa )) //drugą wersje mam taką: if ( isset ($_POST['nazwa']) && ( !empty($_POST['nazwa'] )) {
  18. {
  19. echo("<br>");
  20. echo ("Wprowadzenie danych powiodło się!");
  21. }
  22. ?>
  23.  
  24.  
  25.  
  26. <form method="post" action="dodaj_skladniki.php">
  27. Nazwa: <input type="text" name="nazwa">
  28. Jednostka miary: <input type="text" name="jednostka">
  29. Stan:<input type="text" name="stan">
  30. <input type="submit" value="Dodaj">
  31. </form>
  32. </body>
  33. </html>


Czy w taki sposób mogę stosować funkcję isset żeby sprawdzić czy w formularzu podano nazwę lub czy pole nie jest puste?
Ciągle mam błąd w 20 lini, nie mogę sobie poradzić

Ten post edytował pablo663 22.05.2010, 14:40:47
Go to the top of the page
+Quote Post
thek
post
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Źle robisz jeśli chodzi o kolejność. Od kiedy najpierw wpisujesz do bazy a dopiero potem sprawdzasz? Linie od 11 do 16 powinny być wewnątrz IF, czyli obecna linia 22. No i sprawdzenie czy dodanie się powiodło sprawdzasz poprzez wynik funkcji mysql_query oraz dodatkowo mysql_affected_rows. Czemu? Bo zapytanie może iść do bazy i wszystko być ok, a mimo to się nic nie stanie, gdyż baza może mieć obiekcje przed dodaniem rekordu, choć samo zapytanie jest poprawne. Z tym się człowiek najczęściej spotyka przy update. Ale to już ciekawostka bardziej, bo na obecną chwilę, to sięgnij po jakiś kurs/książkę bo masz poważne braki w podstawach. Poza tym szwankuje Ci nieco logika, bo nie wiesz co gdzie wstawiać.

Inna sprawa, że masz cyrk z nawiasami. W jednym miejscu brakuje w innym niepotrzebny. Używaj więc edytora z podświetlaniem nawiasów bo się pogubisz kiedyś. Nie
if ( isset ($nazwa)) && ( !empty( $nazwa ))
ale
if ( isset ($nazwa) && !empty( $nazwa ) )

Weź używaj też gotowych funkcji. Nie po to masz mysql_real_escape_string by cudować z addslashes i innymi.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 20.08.2025 - 13:04