Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Małe pytanko - formularz MYSQL
Teilor123
post 27.03.2012, 19:07:12
Post #1





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 27.03.2012

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


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

Ten post edytował Teilor123 27.03.2012, 19:08:09
Go to the top of the page
+Quote Post
skowron-line
post 27.03.2012, 19:14:06
Post #2





Grupa: Zarejestrowani
Postów: 4 340
Pomógł: 542
Dołączył: 15.01.2006
Skąd: Olsztyn/Warszawa

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


Za zapytaniem daj
i zobacz co się pokaże.


--------------------
I'm so fast that last night I turned off the light switch in my hotel room and was in bed before the room was dark - Muhammad Ali.
Peg jeżeli chcesz uprawiać sex to dzieci muszą wyjść, a jeżeli chcesz żeby był dobry ty też musisz wyjść - Al Bundy.

QueryBuilder, Mootools.net, bbcradio1::MistaJam
http://www.phpbench.com/
Go to the top of the page
+Quote Post
Niktoś
post 27.03.2012, 19:24:57
Post #3





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


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.
Go to the top of the page
+Quote Post
Teilor123
post 27.03.2012, 19:46:13
Post #4





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 27.03.2012

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


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:(

Ten post edytował Teilor123 27.03.2012, 19:55:11
Go to the top of the page
+Quote Post
Niktoś
post 27.03.2012, 19:59:12
Post #5





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


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.

Ten post edytował Niktoś 27.03.2012, 19:59:52
Go to the top of the page
+Quote Post
Teilor123
post 27.03.2012, 20:06:39
Post #6





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 27.03.2012

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


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
Go to the top of the page
+Quote Post
Niktoś
post 27.03.2012, 20:11:41
Post #7





Grupa: Zarejestrowani
Postów: 1 195
Pomógł: 109
Dołączył: 3.11.2011

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


A nie masz hasła do bazy?
Go to the top of the page
+Quote Post
Teilor123
post 27.03.2012, 20:13:12
Post #8





Grupa: Zarejestrowani
Postów: 7
Pomógł: 0
Dołączył: 27.03.2012

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


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 ;<
Go to the top of the page
+Quote Post
thek
post 27.03.2012, 21:42:17
Post #9





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




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.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
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: 16.06.2025 - 19:35