Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php]Skrypt " Dodaj " w postgresie - nie dodaje danych do bazy
gustafitka
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 7.11.2007

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


Mam skrypcik napisany do bazy danych postgres który powinien dodawać dane.
Lecz jednak nie dodaje ... Zaden błąd nie wyskakuje. Nie wiem gdzie jest zle ,
kod czy baza .

Prosze o pomoc

Oto ten kod :
  1. <html>
  2. <head>
  3. <meta http-equiv="content-type" content="text/html; charset=iso-8859-2">
  4. <title>Formularz</title>
  5. </head>
  6. <body>
  7. <form method="post" action="dodaj.php">
  8. <table>
  9. <tbody>
  10. <tr>
  11. <br>
  12. Imię: <input name="imie" value="" size="20"
  13. maxlength="20" type="text">* <br>
  14. Nazwisko: <input name="nazwisko" value="" size="20"
  15. maxlength="20" type="text">* <br>
  16. Data urodzenia: <input name="data_ur" value=""
  17. size="10" maxlength="10" type="text">* 
  18. Wpisz dane nowego pracownika: <br>
  19. <input name="SUBMIT" value="Przeslij dane"
  20. type="submit">
  21. <p><br>
  22. <input value="Kasuj" dane="" type="reset">
  23. </p>
  24. </td>
  25. </tr>
  26. </tbody>
  27. </table>
  28. </form>
  29. <?php // Dopisanie danych z formularza do bazy
  30. if ((!$imie) or (!$nazwisko) or (!$data_ur))
  31. { echo "<cente?><b>
  32. Pola oznaczone * musz&scaron; byc podane! </b><br>";
  33. }
  34. // Dodanie znaków backslash przed:  (apostrof,cudzysłów, ukośnik)
  35. $imie = addslashes($imie);
  36. $nazwisko = addslashes($nazwisko);
  37. $data_ur = addslashes($data_ur);
  38. // zapisanie danych w tabeli
  39. // otworzenie bazy danych
  40. $polaczenie = pg_connect("dbname=Baza user=postgres port=5432 password=gustafitka host=localhost");
  41. if (!$polaczenie) { echo " Brak poł&scaron;czenia z baz&scaron;.<br>"; exit; }
  42. // wstawienie nowego rekordu 
  43. $wynik = pg_Exec($polaczenie, "insert into pracownicy (imie, nazwisko, data_ur) VALUES ('$imie', '$nazwisko', '$data_ur')");
  44. if (!$wynik) { echo "Bł&scaron;d podczas aktualizacji bazy"; exit;
  45. }
  46. if ($wynik):
  47. echo "Pracownik $NAZWISKO zostal dopisany do bazy";
  48. endif;
  49. ?>
  50. <!-- Koniec skryptu PHP -->
  51. </body>
  52. </html>



-------------------------
dodałem [tag] do tematu ponieważ
padły już odpowiedzi
na przyszłość pamiętaj, że dodawanie
[tag]u należy do Ciebie
~Cienki1980


Ten post edytował Cienki1980 21.11.2007, 13:28:27
Go to the top of the page
+Quote Post
batman
post
Post #2





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Po pierwsze:
  1. <?php
  2. $imie = $_POST['imie'];
  3. $nazwisko = $_POST['nazwisko'];
  4. $data_zatr = $_POST['data_zatr'];
  5. ?>


Po drugie
  1. <?php
  2. $wynik = pg_query($polaczenie, "insert into pracownicy (imie, nazwisko, data_ur) VALUES ('".$imie."', '".$nazwisko."', '".$data_zatr."')");
  3. ?>


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
gustafitka
post
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 7.11.2007

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


Drugie poprawilem a z pierwszym nie wiem co mam zrobic , gdzie poprawic lub wstawic .
Potrzebuje nadal pomocy

Moze cos w mojej bazie jest nie tak

  1. CREATE TABLE pracownicy
  2. (
  3. id_pracownicy serial NOT NULL,
  4. id_dane int4 NOT NULL,
  5. imie varchar(200),
  6. nazwisko varchar(200),
  7. data_ur date,
  8. CONSTRAINT pracownicy_pkey PRIMARY KEY (id_pracownicy)
  9. )
  10. WITH OIDS;
  11. ALTER TABLE pracownicy OWNER TO postgres;


Ten post edytował gustafitka 21.11.2007, 11:07:15
Go to the top of the page
+Quote Post
batman
post
Post #4





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




  1. <?php
  2. // Dopisanie danych z formularza do bazy
  3. $imie = $_POST['imie'];
  4. $nazwisko = $_POST['nazwisko'];
  5. $data_ur = $_POST['data_zatr'];
  6. if ((!$imie) or (!$nazwisko) or (!$data_ur))
  7. ?>


Zmień też SQL-a na
  1. <?php
  2. $wynik = pg_query($polaczenie, "insert into pracownicy (imie, nazwisko, data_ur) VALUES ('".$imie."', '".$nazwisko."', '".$data_ur."')");
  3. ?>


W tabeli masz pole id_dane int4 NOT NULL. Pole to nie może przyjmować pustych wartości, więc najprawdopodobniej skrypt wypluwa błąd. Kolejna sprawa - jak podajesz datę?
Napisałeś, że błędy nie wyskakują, może masz wyłączone raportowanie błędów?


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
gustafitka
post
Post #5





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 7.11.2007

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


Dzieki dziala yahoo.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 Aktualny czas: 22.08.2025 - 02:58