Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wysylanie informacji do bazy MySQL
Forum PHP.pl > Forum > Przedszkole
Keenic
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>
DawidF
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.
Keenic
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?
flv
Musisz wykonać to zapytanie funkcją mysql_query" title="Zobacz w manualu PHP" target="_manual
Keenic
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?
Moli
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
Keenic
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.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.