Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inny] formularz z wysyłaniem do MySQL
raszbu
post 23.03.2011, 14:22:32
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 23.03.2011

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


Witam,

Prowadzę stronę z linkami do transmisji sportowych ( http://transmisje.org.pl/ ). Chciałbym do niej dodać formularz dzięki któremu użytkownicy będą mogli dodawać swoje transmisje. Przy dużej pomocy google udało mi się stworzyć coś takiego: http://www.raszbu2.unixstorm.org/test/test2.php

Kod źródłowy prezentuje się tak:

  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  4. </head>
  5. <?php
  6. // nawiazujemy polaczenie
  7. $connection = @mysql_connect('xxxxxx', 'raszbu2_test2', 'xxxxxx')
  8. // w przypadku niepowodznie wyświetlamy komunikat
  9. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  10. // połączenie nawiązane ;-)
  11. echo "Udało się połączyć z serwerem!<br />";
  12. // nawiązujemy połączenie z bazą danych
  13. $db = @mysql_select_db('raszbu2_test2', $connection)
  14. // w przypadku niepowodzenia wyświetlamy komunikat
  15. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  16. // połączenie nawiązane ;-)
  17. echo "Udało się połączyć z bazą dancych!";
  18. // zamykamy połączenie
  19. mysql_close($connection);
  20.  
  21. mysql_query("insert into nazwa_tabeli (pole1, pole2, pole3) values ('".$_POST['pole1']."','".$_POST['pole2']."', '".$_POST['pole1']."');");
  22. ?>
  23.  
  24.  
  25.  
  26. <table>
  27. <form action="" method="post">
  28. <tr>
  29. <td><b>Data:</b></td>
  30. <td><input type="text" name="formName"/></td>
  31. </tr>
  32.  
  33. <tr>
  34. <td><b>Godzina:</b></td>
  35. <td><input type="text" name="formNazwa"/></td>
  36. </tr>
  37.  
  38. <tr>
  39. <td><b>Nazwa:</b></td>
  40. <td><input type="text" name="formText"/></td>
  41. </tr>
  42.  
  43. <tr>
  44. <td><b>Link:</b></td>
  45. <td><textarea name="text"></textarea></td>
  46. </tr>
  47.  
  48. <tr>
  49. <td><b>Nazwa kanału:</b></td>
  50. <td><textarea name="formText"></textarea></td>
  51. </tr>
  52.  
  53. <tr>
  54. <td>&nbsp;</td>
  55. <td><input type="submit" name="submit" value="Wyślij formularz"/></td>
  56. </tr>
  57. </form>
  58. </table>
  59.  
  60.  
  61. </html>



Problem polega na tym że nic się nie dzieje w bazie danych - jest pusta mimo iż wysyłam do niej próbne treści.
Proszę żeby ktoś poprawił mi ten kod aby działał.

Ten post edytował raszbu 23.03.2011, 14:50:56
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
raszbu
post 24.03.2011, 00:15:19
Post #2





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 23.03.2011

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


Rozdzieliłem stronę z formularzem od strony ze skryptem php - wyczytałem że jest to bardziej bezpieczne.

Wyszło coś takiego:

test3.html
  1. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  2. </head>
  3.  
  4. <form action="skrypt_dodaj.php" method="post">
  5. <tr>
  6. <td><b>Data:</b></td>
  7. <td><input type="text" name="data"/></td>
  8. </tr>
  9.  
  10. <tr>
  11. <td><b>Godzina:</b></td>
  12. <td><input type="text" name="godzina"/></td>
  13. </tr>
  14.  
  15. <tr>
  16. <td><b>Nazwa:</b></td>
  17. <td><input type="text" name="nazwa"/></td>
  18. </tr>
  19.  
  20. <tr>
  21. <td><b>Link:</b></td>
  22. <td><textarea name="link"></textarea></td>
  23. </tr>
  24.  
  25. <tr>
  26. <td><b>Nazwa kanału:</b></td>
  27. <td><textarea name="nazwa_kanalu"></textarea></td>
  28. </tr>
  29.  
  30. <tr>
  31. <td>&nbsp;</td>
  32. <td><input type="submit" value="Wyślij formularz"/></td> <!-- nazwę przycisku usunąłem, bo nie trzeba go nawet nazywać (chyba że potrzebujesz tego np. do JS) -->
  33. </tr>
  34. </form>
  35.  
  36. </html>



skrypt_dodaj.php
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2">
  4. </head>
  5.  
  6. <?php
  7. $mysqli = new mysqli( 'XX.XXX.XXX.XXX,'raszbu2_test2','xxxxx','raszbu2_test2');
  8. if($mysqli) echo "udało się połączyć z serwerem mysqli";
  9. if( isset($_POST['data']) && isset($_POST['godzina']) && isset($_POST['nazwa']) && isset($_POST['link']) && isset($_POST['nazwa_kanalu']))
  10. {
  11. $mysqli->query("insert into nazwa_tabeli (pole1, pole2, pole3, pole4, pole5) values ('".$_POST['data']."','".$_POST['godzina']."', '".$_POST['nazwa']."', '".$_POST['link']."', '".$_POST['nazwa_kanalu']."');");
  12. }
  13. else
  14. echo "nie dobrze - skrypt nie otrzymał danych od użytkownika!!!";
  15. $mysqli->close();
  16. ?>


Problem teraz wygląda tak że nie tworzy się nic w bazie danych - jest całkowicie pusta.

http://www.raszbu2.unixstorm.org/test/test3.html

Jak widać po linku serwer www znajduje się w firmie: http://www.unixstorm.org/ pakiet: biznes
Go to the top of the page
+Quote Post

Posty w temacie


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.06.2025 - 07:41