Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Małe pytanko - formularz MYSQL
Forum PHP.pl > Forum > Bazy danych > MySQL
Teilor123
Witam. Mam małe pytanie dotyczącą formularza rejestracyjnego i bazy danych.

Zrobiłem na stronie skrypt rejestracyjny, działa on bez błedów jednak nie wysylka wyników do bazy, a polaczenie z baża jest dobre. Sami zobaczcie. Co jest zle?

Oto treść mojego pliku Rejestracyjnego.


  1. <?php
  2. mysql_connect("localhost", "nazwa1", "")or die("Nie można nawiązać połączenia z bazą"); //połączenie z bazą danych
  3. mysql_select_db("teilor")or die("Wystąpił błąd podczas wybierania bazy danych");
  4.  
  5. function ShowForm($komunikat="Uzupełnij teraz swoje dane, abyśmy mogli dopisać cię do spisu mieszkańców państwa. <br /> Od chwili, gdy staniesz się mieszańcem jednego z miast państwa, pamiętaj, że wszystko co zrobisz może obrócić się przeciwko Tobie. <br /> A i nie zapomnij: <i>Oko za oko, ząb za ząb.</i> "){ //funkcja wyświetlająca formularz rejestracyjny
  6.  
  7. echo "$komunikat<br>";
  8.  
  9. echo " <br /> <b> DANE POTRZEBNE DO REJESTRACJI : </b> </br></br> ";
  10.  
  11.  
  12. echo "<form action='rejestruj.php' method=post>";
  13. echo "<b> Login: </b> <input type=text name=login><br>";
  14. echo "<b>Hasło: </b><input type=text name=haslo><br>";
  15. echo "<b>Email: </b><input type=text name=email><br>";
  16.  
  17. echo " <br /> <b> DANE PERSONALNE TWOJEGO BOHATERA: </b> </br></br> ";
  18.  
  19.  
  20. echo "<b> Imie: </b><input type=text name=imie><br>";
  21. echo "<b>Nazwisko: </b><input type=text name=nazwisko><br> <br />";
  22.  
  23.  
  24.  
  25. echo "<b> Płeć: </b> <br />
  26. Mężczyzna<input type=radio name=sex value=M /> <br />
  27. Kobieta<input type=radio name=sex value=K /> <br> <br /> ";
  28.  
  29.  
  30.  
  31.  
  32. echo "<b>Oczy: </b> <br />
  33. Zielone<input type=radio name=oczy value=Zielone /> <br />
  34. Niebieskie<input type=radio name=oczy value=niebieskie /> <br />
  35. Piwne<input type=radio name=oczy value=piwne /> <br />
  36. Szare<input type=radio name=oczy value=szare /> <br />
  37. Kasztanowe<input type=radio name=oczy value=kasztanowe /> <br />
  38. <br>";
  39.  
  40.  
  41. echo "<b>Wlosy: </b> <br />
  42. Czarne<input type=radio name=wlosy value=czarne /> <br />
  43. Brązowe<input type=radio name=wlosy value=brazowe /> <br />
  44. Blond<input type=radio name=wlosy value=blond /> <br />
  45. Ciemny Blond <input type=radio name=wlosy value=ciemny blond /> <br />
  46. Rude <input type=radio name=wlosy value=rude /> <br />
  47. <br>";
  48.  
  49.  
  50.  
  51.  
  52.  
  53.  
  54.  
  55. echo "<input type=hidden value='1' name=send>";
  56. echo "<input type=submit value='Zarejestruj mnie'>";
  57. echo "</form>";
  58. }
  59. ?>
  60. <!DOCTYPE html
  61. PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  62. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  63. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="pl" lang="pl">
  64. <head>
  65. <title>Formularz rejestracyjny</title>
  66. </head>
  67. <body>
  68. <?php
  69.  
  70.  
  71.  
  72.  
  73. if($_POST["send"]==1){ //sprawdzanie czy formularz został wysłany
  74. if(!empty($_POST["login"]) && !empty($_POST["haslo"]) && !empty($_POST["email"]) && !empty($_POST["imie"]) && !empty($_POST["nazwisko"]) && !empty($_POST["sex"]) && !empty($_POST["wlosy"]) && !empty($_POST["oczy"]) ){ //oraz czy uzupełniono wszystkie dane
  75. if(mysql_num_rows(mysql_query("select * from users where user_login='".htmlspecialchars($_POST["login"]."'"))))ShowForm("Użytkownik o podanym loginie już istnieje!!!"); // sprawdzanie czy użytkownik o podanej nazwie już istnieje
  76. else{
  77. mysql_query("insert into users values(NULL, '".htmlspecialchars($_POST["login"])."', '".htmlspecialchars($_POST["haslo"])."' , '".htmlspecialchars($_POST["email"])."' , '".htmlspecialchars($_POST["imie"])."' , '".htmlspecialchars($_POST["nazwisko"])."' , '".htmlspecialchars($_POST["sex"])."' , '".htmlspecialchars($_POST["wlosy"])."' , '".htmlspecialchars($_POST["oczy"])."'"); // zapisywanie rekordu do bazy
  78. echo "Rejestracja przebiegła pomyślnie. Możesz teraz przejść do <a href='index.php'>strony głównej</a> i się zalogować.";
  79. }
  80. }
  81. else ShowForm("Nie uzupełniono wszystkich pól!!!");
  82. }
  83. else ShowForm();
  84. mysql_close(); //zamykanie połączenia z bazą
  85. ?>
  86. </body>
  87. </html>








To tabela w bazie danych do której ma wysyłać dane z rejestracji. Połaczenie bazy danch działa na 100% bo rejestracja dziala dla loginu hasla i maila, jesli dodaje reszte to juz nie sad.gif.





Prosze o info co zmienić.
Z góry dziekuję wink.gif
skowron-line
Za zapytaniem daj
i zobacz co się pokaże.
Niktoś
skowron-line to ty chyba dobrze się nie przyjrzałeś.Kolega użył funkcji jako parametr dał komunikat, wewnątrz całą strukturę html,potem robi posta nie odwołując się do struktury która jest w funkcji ,a na końcu ją wywołuje nie przekazując parametru do funkcji ,która przecież nic nie zwraca.Pierwszy raz widzę taki sposób i mogę być w błędzie.
Teilor123
Jestem początkujący w tym. Korzystając z tego poradnika wszystko jest ok, działą taka struktura jak podałem, tyle że bez dodania kilku pól do formularza więc ja musiałem gdzieś błeda walnąc wink.gif Prosze zobaczcie ten link, na nim jest w taki sam sposob i to działa.

http://webmade.org/porady/sesje-php-system-logowania.php



A co do zapytania: echo mysql_error();
Wyszło:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1 .

Lecz niestety dużo mi to nie mówi:(
Niktoś
Specyfikacja xhtml wymaga domykania tagów:
powinno być tak:
Cytat
<input type=radio name=wlosy value=czarne />

a ty w większości masz tak:
Cytat
<input type=text name=nazwisko>
bez "/" przy końcu.


PS.Pierwszy raz spotkałem się z tym sposobem tworzenia formularza.
Teilor123
Mimo to nie wysyła do bazy.
Jak nie ma innych pomysłów to sprubuje skorzystać z innej metody, ale i tak dzięki smile.gif
Niktoś
A nie masz hasła do bazy?
Teilor123
Nie. Połaczenie jest dobre. Mówie, sprawdzałem czy ten skrypt działa tak jak na stronei z samym : login/hasło/email. i śmiga. wysyła
a jak dodaje do wybory: plec, oczy itd..
to szlak to trafia i nie wysyła.
Więc jestem pewny że to mój fail w kodzie ;<
thek
Zerknij sobie na tablicę $_POST, bo może być sytuacja, że w IF jakiś warunek !empty() daje FALSE i nawet nie dochodzi do operacji zapisu, gdyż IF do niego nie dopuszcza.
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.