Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [MySQL][PHP] Przekazywanie danych z formularza
Ruda Grażyna
post 26.03.2013, 13:37:39
Post #1





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 3.02.2009
Skąd: Warszawa

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


Witam,

N/w kod ma za zadanie pobranie danych z formularza HTML, oraz za pomocą PHP(funkcja dodaj) zapisanie w bazie danych Mysql.

Niestety nie mogę znaleźć błędu. ponieważ wyskakuje mi komunikat "Niepoprawne dane" - po wykonaniu kodu w pasku przegladarki pojawiają sie zmienne ($id oraz $nazwa) natomiast nie zapisuję sie bezpośrednio w bazie danych.


  1.  
  2. function dodaj ($id , $nazwa){
  3. /*sprawdzanie poprawnosci przekazywanych danych*/
  4. if ($nazwa == ''){
  5. echo ('Brak danych: prosze uzupelnic pole Imie i nazwisko');
  6. return;
  7. }
  8.  
  9. if ($id == '') $id = 'NULL';
  10.  
  11. //Utworzenia i wykonywanie zapytania
  12. $query = "INSERT INTO Autorzy VALUES ($id , '$nazwa')";
  13.  
  14. if(!mysql_query ($query , $db_lnk)){
  15. echo ('Wystapil blad; zapytanie zostalo odrzucone ... <br>');
  16. return;
  17. }
  18. //Pobranie informacji o liczbie wstawionych wierszy
  19. $rowsNo = mysql_affected_rows ($db_lnk);
  20.  
  21. echo ('Zapytanie zostalo wykonane.<br>');
  22. echo ("Liczba dodanych rekordow: $rowsNo<br>");
  23.  
  24. // Zamkniecie polaczenia z baza
  25. if (!@mysql_close()){
  26. echo ('Wystapil blad podczas zamykania polaczenia <br>');
  27. }
  28. }
  29.  
  30. if(isSet($_GET['nazwa']) && isSet ($_GET['id'])){
  31. dodaj($_GET['id'] , $_GET['nazwa']);
  32. }
  33. else {
  34. echo ('Niepoprawne dane');
  35. }
  36.  
Go to the top of the page
+Quote Post
_Borys_
post 26.03.2013, 15:10:21
Post #2





Grupa: Zarejestrowani
Postów: 587
Pomógł: 190
Dołączył: 5.02.2011
Skąd: 64-800

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


Zmień isset na !empty , nazwa i id zawsze będzie po wysłaniu formularza ale !empty sprawdzi czy nie są puste.
  1. if (!empty($_GET['nazwa']) && !empty($_GET['id']))
  2. {
  3. dodaj($_GET['id'], $_GET['nazwa']);
  4. } else
  5. {
  6. echo ('Niepoprawne dane');
  7. }

Jeśli to nie pomoże to znaczy, że z formularzem coś nie tak.
Go to the top of the page
+Quote Post
Ruda Grażyna
post 26.03.2013, 15:42:41
Post #3





Grupa: Zarejestrowani
Postów: 23
Pomógł: 0
Dołączył: 3.02.2009
Skąd: Warszawa

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


Przelecialem jeszcze raz var_dumpem, kod jest prawidłowy wstawiając zarówno "!empty" jak i "isSet", blad dotyczyl indeksu id w bazie danych.

Mimo wszystko dzięki za pomoc smile.gif
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 Wersja Lo-Fi Aktualny czas: 4.07.2025 - 05:38