Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Wysylanie informacji do bazy MySQL
Keenic
post 13.07.2007, 14:34:15
Post #1





Grupa: Zarejestrowani
Postów: 64
Pomógł: 2
Dołączył: 13.07.2007
Skąd: Poznań

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


Witam, zaczynam dopiero moja prygode z PHP i MySQL i tu moje pytanie. W jaki sposob moge wyslac za pomoca formularza ane do bazy MySQL? Napisalem juz jakis kod, ale nie chce on wysylac danych. PRosilbym o sprawdzenie co musze zmienic.

formularz do zbierania danych
  1. <html>
  2. <head>
  3. <title>Wysylanie Newsow</title>
  4. </head>
  5. <body>
  6. <?
  7. include 'config.php';
  8. ?>
  9.  
  10. <form name = "newsy"
  11. action = "http://127.0.0.1/~php/submit.php"
  12. method = "POST"
  13. >
  14. <table>
  15. <tr>
  16. <td>Tytul</td>
  17. <td><input type="text" name="tytul"></td>
  18. </tr>
  19. <tr>
  20. <td>Tresc Newsa</td>
  21. <td><input type="text" name="tresc"></td>
  22. </tr>
  23. <tr>
  24. <td><input type="submit" value="Wyślij"></td>
  25. </table>
  26. </form>
  27.  
  28. </body>
  29. </html>


plik wysylajace dane
  1. <html>
  2. <head>
  3. <title>Wyslanie Newsa</title>
  4. </head>
  5. <body>
  6. <?
  7. include 'config.php';
  8.  
  9. if ($tytul == '' or empty($tytul) or $tresc == '' or empty($tresc)) {
  10. echo "<html>n<head>n<title>Blad</title>n</head>nn<body><h1 align="center">Blad</h1>n<p>Nie wypelniles pola <b>Tytuł</b> i/lub <b>TRESC</b></p>";
  11. echo "<a href="java script:history.back()">Powrot do formularza</a></body></html>";
  12. }
  13.  
  14. $query = "insert into News values ('$tytul', '$tresc')";
  15. ?>
  16.  
  17. Dziękujemy za dodanie ogloszenia. Kliknij <a href="index.php">tutaj</a> aby zobaczyć stronę główną.
  18.  
  19. </body>
  20. </html>
Go to the top of the page
+Quote Post
DawidF
post 13.07.2007, 14:49:34
Post #2





Grupa: Zablokowani
Postów: 120
Pomógł: 2
Dołączył: 4.11.2004

Ostrzeżenie: (10%)
X----


Przede wszystkim...

W pliku submit.php nie ma nic o połączeniu z bazą. W ogóle go nie nawiązałeś!

Brakuje mysql_connect, potem mysql_select_db i wreszcie mysql_query.

Proponuję najpierw przejrzeć trochę skryptów, nieco poczytać... Tutaj nikt tego za Ciebie nie napisze.
Go to the top of the page
+Quote Post
Keenic
post 13.07.2007, 15:44:10
Post #3





Grupa: Zarejestrowani
Postów: 64
Pomógł: 2
Dołączył: 13.07.2007
Skąd: Poznań

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


Zapomnialem pokazac plik config.php
  1. <?
  2. $db_lnk = mysql_connect("localhost", "root", "marcin");
  3. mysql_select_db('php', $db_lnk);
  4. ?>


Zrobilem zamiast $query takie cos
$mysql_query = "insert into News values ('$tytul', '$tresc')";

Takie cos starczy czy cos jeszcze musze zrobic?
Go to the top of the page
+Quote Post
flv
post 13.07.2007, 15:47:35
Post #4





Grupa: Zarejestrowani
Postów: 130
Pomógł: 1
Dołączył: 29.06.2007

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


Musisz wykonać to zapytanie funkcją mysql_query" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
Keenic
post 13.07.2007, 16:16:33
Post #5





Grupa: Zarejestrowani
Postów: 64
Pomógł: 2
Dołączył: 13.07.2007
Skąd: Poznań

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


Chce teraz aby do kazdej wysylanej informacji dodawane bylo ID. Dodalem kolumne w bazie id nadalem jej atrybut NOT NULL. W pliku submit.php do mysql_query dodalem NULL (czytalem, ze mozna tka zrobic aby kazde nastepne id byla automatycznie wieksze o 1) i wyglada to teraz tak
$wyslanie = mysql_query("insert into News values (NULL '$tytul', '$tresc')")
Kolumna ID jest oczywiscie pierwsza. Jak to zrobilem to juz wogole nie chce sie dodac zadna wiadomosc. Co jest tutaj zle?
Go to the top of the page
+Quote Post
Moli
post 13.07.2007, 16:18:47
Post #6





Grupa: Zarejestrowani
Postów: 662
Pomógł: 45
Dołączył: 26.03.2007
Skąd: Warszawa

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


Aby było powiększane, musisz w phpmyadmin, na pole ID ustawić klucz i wartość auto_icrement.

ps. Nie działa, bo po NULL zapomniałeś o przecinku smile.gif
Go to the top of the page
+Quote Post
Keenic
post 13.07.2007, 16:34:30
Post #7





Grupa: Zarejestrowani
Postów: 64
Pomógł: 2
Dołączył: 13.07.2007
Skąd: Poznań

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


Czy mozna nadac te rzeczy podczas tworzenia tabeli w PHP aby nie trzeba bylo tego robic w phpmyadmin?

Po ustawieniu tego, nie moge dodac kolejnych danych poprzez formularz.

Ten post edytował Keenic 13.07.2007, 17:07:37
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: 20.07.2025 - 10:29