Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL] Formularz zgłoszeniowy.
Forum PHP.pl > Forum > Przedszkole
Sanae
Witam!

Mam problem z moim formularzem...

Niestety nie wysyła mi danych do bazy ani ich nie robi rekordów w bazie...




Mógłby ktoś na to spojrzec?

Plik connection.php

  1. <?php
  2. function connection() {
  3. // host
  4. $mysql_host = "localhost";
  5. // user
  6. $mysql_user = "root";
  7. // hasło
  8. $mysql_pass = "";
  9. // nazwa bazy
  10. $mysql_db = "baza1";
  11. // nawiązujemy połączenie z serwerem MySQL
  12. @mysql_connect($mysql_host, $mysql_user, $mysql_pass)
  13. or die('Brak połączenia z serwerem MySQL.');
  14. // łączymy się z bazą danych
  15. @mysql_select_db($mysql_db)
  16. or die('Błąd wyboru bazy danych.');
  17. }
  18.  
  19. ?>


plik dodaj.html

  1. <title> Dodawanie zgłoszenia do admina.</title></head>
  2. <body>
  3. <form method="POST" action="dodaj.php">
  4. Podaj imię: <input type="text" size="30" name="imie"><br>
  5. Podaj nazwisko: <input type="text" size="40" name="nazwisko"><br>
  6. Podaj e-mail: <input type="text" size="40" name="email"><br>
  7. Podaj numer gg: <input type="text" size="40" name="gg"><br>
  8. Podaj jaką sumę jesteś w stanie dołożyć do serwera: <input type="text" size="40" name="iledasz"><br>
  9. Masz steam?: <input type="text" size="40" name="steam"><br>
  10. Podaj wiek: <input type="text" size="40" name="wiek"><br>
  11. Czy masz admina na innym serwerze?: <input type="text" size="40" name="adm"><br>
  12. Ile dziennie grasz na serwerze: <input type="text" size="40" name="ilegrasz"><br>
  13. Dlaczego mam wybrać Ciebie?: <input type="text" size="540" name="dlaczegociebie"><br>
  14. <input type="submit" value="wyślij!">
  15. </form>
  16. </body>
  17. </html>


plik dodaj.php

  1. <?php
  2. require("connection.php");
  3. connection();
  4. $imie = $_POST['imie'];
  5. $nazwisko = $_POST['nazwisko'];
  6. $email = $_POST['email'];
  7. $gg = $_POST['gg'];
  8. $iledasz = $_POST['iledasz'];
  9. $steam = $_POST['steam'];
  10. $wiek = $_POST['wiek'];
  11. $adm = $_POST['adm'];
  12. $ilegrasz = $_POST['ilegrasz'];
  13. $dlaczegociebie = $_POST['dlaczegociebie'];
  14.  
  15. $zapytanie = "INSERT INTO `formularz` VALUES('$imie','$nazwisko','$email','$gg','$iledasz','$steam','$wiek','$adm','$ilegrasz','$dlaczegociebie')";
  16. $wykonaj = "mysql_query('$zapytanie')";
  17. ?>



plik install.php

  1. <?php
  2. require("connection.php");
  3. // ładujemy plik z połączeniem
  4. connection();
  5. // łączymy się z bazą danych za pomocą funkcji, którą stworzyliśmy w pliku connection.php
  6. $zapytanie = "CREATE TABLE `formularz` (
  7. `imie` VARCHAR(30) NOT NULL,
  8. `nazwisko` VARCHAR(40) NOT NULL,
  9. `email` VARCHAR(40) NOT NULL,
  10. `gg` VARCHAR(40) NOT NULL,
  11. `iledasz` VARCHAR(40) NOT NULL,
  12. `steam` VARCHAR(40) NOT NULL,
  13. `wiek` VARCHAR(40) NOT NULL,
  14. `adm` VARCHAR(40) NOT NULL,
  15. `ilegrasz` VARCHAR(40) NOT NULL,
  16. `dlaczegociebie` VARCHAR(40) NOT NULL)";
  17. // zapisujemy zapytanie do zmiennej
  18. $wykonaj = mysql_query('$zapytanie');
  19. // wykonujemy zapytanie;)
  20. ?>






Chciałbym też dodać do pliku install komunikat jeśli dobrze zainstaluje, niestety nie umiem... : <!

Kszyhuu
Nie mam czasu na przeglądanie kodu, ale tak na szybkiego, to w przypadku dodawania wartości zawierających ciągi liczbowe nie powinieneś dawać apostrofów, Czyli VALUES('$imie', $gg, '$nazwisko'...). A komunikat daj po prostu przez echo. echo 'Tabela została dodana.';
A i jeszcze to: INSERT INTO `formularz` nazwę tabeli bez apostrofu. tongue.gif
Sanae
Nadal nie chce mi zainstalować... Nie chce w ogóle stworzyć w bazie rekordów...
koreja
Daj w pliku dodaj.php
  1. print "<pre>".print_r($_POST,true)."</pre>";

i zobacz jakie dane ma tablica post. Poza tym nie powinieneś zamieniać danych, bo tylko przysparzasz sobie pracy ($imie = $_POST['imie']).

Co do komunikatu
  1. if($wykonaj) print "Tabela została utworzona!";
Sanae
Po dodaniu pre wywala coś takiego:

  1. (
  2. )






A install.php nadal nie działa : ) Nie wiem czemu, nie chce mi utworzyć tej tabeli...

Szeszek1992
Usuń apostrofy z mysql_query()
(gdyż jest to zmienna, a nie ciąg znaków)

  1. $wykonaj = mysql_query($zapytanie);


a jeśli chcesz, żeby był jakiś komunikat

  1. if(mysql_query($zapytanie)) echo 'Tabela została utworzona';
  2. else echo 'Tabela nie została utworzona';
Sanae
Udało sięexclamation.gif

Gotowy skrypt:

connection.php

  1.  
  2. <?php
  3.  
  4. $connection = @mysql_connect('localhost', 'root', '')
  5.  
  6. or die('Brak połączenia z serwerem MySQL.<br />Błąd: '.mysql_error());
  7.  
  8. echo "  ";
  9. mysql_query("CREATE DATABASE IF NOT EXISTS baza2") or die(mysql_error());
  10.  
  11. $db = mysql_select_db('baza2', $connection)
  12. // w przypadku niepowodzenia wyświetlamy komunikat
  13. or die('Nie mogę połączyć się z bazą danych<br />Błąd: '.mysql_error());
  14.  
  15. ?>






install.php




  1.  
  2. <?php
  3. include "connection.php";
  4. $zapytanie = "CREATE TABLE formularz (
  5. imie VARCHAR(30) NOT NULL,
  6. nazwisko VARCHAR(40) NOT NULL,
  7. email VARCHAR(40) NOT NULL,
  8. gg VARCHAR(40) NOT NULL,
  9. iledasz VARCHAR(40) NOT NULL,
  10. steam VARCHAR(40) NOT NULL,
  11. wiek VARCHAR(40) NOT NULL,
  12. adm VARCHAR(40) NOT NULL,
  13. ilegrasz VARCHAR(40) NOT NULL,
  14. dlaczegociebie VARCHAR(40) NOT NULL)";
  15. // zapisujemy zapytanie do zmiennej
  16. $wykonaj = mysql_query($zapytanie) or die(mysql_error());
  17. // wykonujemy zapytanie;)
  18. if($wykonaj) print "Tabela została utworzona!";
  19. ?>






dodaj.php





<?php
 
$imie = $_POST['imie'];
$nazwisko = $_POST['nazwisko'];

$email = $_POST['email'];
$gg = $_POST['gg'];

$iledasz = $_POST['iledasz'];
$steam = $_POST['steam'];

$wiek = $_POST['wiek'];
$adm = $_POST['adm'];

$ilegrasz = $_POST['ilegrasz'];
$dlaczegociebie = $_POST['dlaczegociebie'];

if($imie and $email) {

include "connection.php";

   
$ins = @mysql_query("INSERT INTO formularz SET imie='$imie', nazwisko='$nazwisko', email='$email', gg='$gg', iledasz='$iledasz', steam='$steam', wiek='$wiek', adm='$adm', ilegrasz='$ilegrasz', dlaczegociebie='$dlaczegociebie'");

if($ins) echo "Zgłoszenie dodano pozytywnie. Prosimy o cierpliwość! ";
else echo "Zgłoszenie nie zostało wysłane, prosimy spróbować później!";

mysql_close($connection);
}

?>[/php]


dodaj.html




  1.  
  2. <title> Dodawanie zgłoszenia do admina.</title></head>
  3. <body>
  4.  
  5. <form action="dodaj.php" method="post">
  6. Imię:<br />
  7. <input type="text" name="imie" /><br />
  8.  
  9. Nazwisko:<br />
  10. <input type="text" name="nazwisko" /><br />
  11.  
  12. E-mail:<br />
  13. <input type="text" name="email" /><br />
  14.  
  15. GG:<br />
  16. <input type="text" name="gg" /><br />
  17.  
  18. Ile jesteś w stanie dołożyć do serwera?:<br />
  19. <input type="text" name="iledasz" /><br />
  20.  
  21. Posiadasz steam czy non-steam?:<br />
  22. <input type="text" name="steam" /><br />
  23.  
  24. Wiek:<br />
  25. <input type="text" name="wiek" /><br />
  26.  
  27. Posiadasz admina na innym serwerze?:<br />
  28. <input type="text" name="adm" /><br />
  29.  
  30.  
  31. Ile dziennie grasz na serwerze?:<br />
  32. <input type="text" name="ilegrasz" /><br />
  33.  
  34. Dlaczego mam wybrać akurat Ciebie?:<br />
  35. <input type="text" name="dlaczegociebie" /><br />
  36.  
  37.  
  38. <input type="submit" value="dodaj" />
  39.  
  40. </form>
  41. </body>
  42. </html>
  43.  
  44.  





Mam nadzieję, że się komuś przyda : )) Proste do edycji ; )

I przypominam to moja pierwsza styczność z php!



Plik do wyświetlenia tego:

wyswietl.php




  1.  
  2. <?php
  3. include "connection.php";
  4.  
  5. $wynik = mysql_query("SELECT * FROM formularz")
  6. or die('Błąd zapytania');
  7.  
  8. if(mysql_num_rows($wynik) > 0) {
  9. echo "<table cellpadding=\"2\" border=1>";
  10. while($r = mysql_fetch_assoc($wynik)) {
  11. echo "<tr>";
  12. echo "<td>".$r['imie']."</td>";
  13. echo "<td>".$r['nazwisko']."</td>";
  14. echo "<td>".$r['email']."</td>";
  15. echo "<td>".$r['gg']."</td>";
  16. echo "<td>".$r['iledasz']."</td>";
  17. echo "<td>".$r['steam']."</td>";
  18. echo "<td>".$r['wiek']."</td>";
  19. echo "<td>".$r['adm']."</td>";
  20. echo "<td>".$r['ilegrasz']."</td>";
  21. echo "<td>".$r['dlaczegociebie']."</td>";
  22.  
  23. echo "</tr>";
  24. }
  25. echo "</table>";
  26. }
  27.  
  28. ?>






Pozdros : )

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.