Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP + MySQL] Prosty skrypt rejestracji.[SOLVED]
ecox
post
Post #1





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.11.2008

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


Jest to mój pierwszy post na tym forum, więc na początku chciałbym przywitać się ze wszystkimi.

Jestem początkującym programistą PHP, napisałem prosty skrypt który ma za zadanie przeprowadzić rejestrację na stronie. Wszystko byłoby jak najbardziej ok, ale nie jest bo warunek w którym są polecenia zapytań do bazy nie spełnia się. Nie mam pojęcia dlaczego tak jest gdyż jak już wspomniałem jestem początkującym w tym temacie.
[php]

Ten post edytował ecox 4.11.2008, 18:29:43
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
pyro
post
Post #2





Grupa: Zarejestrowani
Postów: 2 148
Pomógł: 230
Dołączył: 26.03.2008

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


$user_reg_pass = "INSERT INTO `users` (`user_password`) VALUES('.addslashes($login).')";
$user_reg_login = "INSERT INTO `users` (`user_login`) VALUES('.addslashes($password).')";

przyjrzyj sie temu kawalkowi kodu i popraw winksmiley.jpg


--------------------
ET LINGUA EIUS LOQUETUR IUDICIUM
Go to the top of the page
+Quote Post
ecox
post
Post #3





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.11.2008

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


Cytat(pyro @ 3.11.2008, 20:24:44 ) *
$user_reg_pass = "INSERT INTO `users` (`user_password`) VALUES('.addslashes($login).')";
$user_reg_login = "INSERT INTO `users` (`user_login`) VALUES('.addslashes($password).')";

przyjrzyj sie temu kawalkowi kodu i popraw winksmiley.jpg




Nie jestem pewien co w tych liniach jest źle. Może nawiasy przy tabelach i komórkach, a może funkcja addslashes() jest źle umieszczona. Nawet jeżeli jest to napisane błędnie, to nie zmienia to faktu iż else if nie jest wykonywane. Gdyby było wyplułoby "rejestracja zakończona" - nie wypluwa.
Go to the top of the page
+Quote Post
kefirek
post
Post #4





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

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


Zobacz tak
  1. <?php
  2. mysql_connect("localhost", "database", "passwd")or die(mysql_error());
  3. mysql_select_db("database")or die (mysql_error());
  4. ?>
  5.  
  6. <html>
  7. <head>
  8. <title>Formularz rejestracyjny</title>
  9. </head>
  10.  
  11. <form action="ble.php" method="POST">
  12. Login: <input type=text name='login'><br/>
  13. Haslo: <input type=password name='password'><br/>
  14. <input type=submit value='Rejestruj'><br/>
  15. <input type=hidden value='1' name='send'>
  16. </form>
  17.  
  18. <?php
  19. $login = $_POST['login'];
  20. $password = $_POST['password'];
  21.  
  22. $user_reg_pass = "INSERT INTO users (user_password) VALUES ('".addslashes($login)."')";
  23. $user_reg_login = "INSERT INTO users (user_login) VALUES ('".addslashes($password)."')";
  24.  
  25. if ($_POST["send"] == 1){
  26.    if ($_POST['login'] == 0 && $_POST['password'] == 0){
  27.     echo 'Prosze wprowadzic dane do formularza'.'<br/>';
  28.    }else {
  29.        mysql_query("$user_reg_pass");
  30. mysql_query("$user_reg_login");
  31. echo 'Zakonczono rejestracje';
  32.     }
  33. }
  34. ?>


Ten post edytował kefirek 3.11.2008, 21:10:45
Go to the top of the page
+Quote Post
ecox
post
Post #5





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.11.2008

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


Dziękuję za pomoc, problem z wysyłaniem został naprawiony. Jednakowóż mam kolejny bardzo podobny problem z tymże formularzem:

  1. <?php
  2. mysql_connect("localhost", "database", "password")or die(mysql_error()); 
  3. mysql_select_db("database")or die (mysql_error());
  4. ?>
  5.  
  6. <html>
  7. <head>
  8. <title>Formularz rejestracyjny</title>
  9. </head>
  10.  
  11. <form action="ble.php" method="POST">
  12. Login: <input type=text name='login'><br/>
  13. Haslo: <input type=password name='password'><br/>
  14. <input type=submit value='Rejestruj'><br/>
  15. <input type=hidden value='1' name='send'>
  16. </form>
  17.  
  18. <?php
  19. $login = $_POST['login'];
  20. $password = $_POST['password'];
  21.  
  22. $user_reg_pass = "INSERT INTO `users` (`user_password`) VALUES('".addslashes($login)."')";
  23. $user_reg_login = "INSERT INTO `users` (`user_login`) VALUES('".addslashes($password)."')";
  24.  
  25. if ($_POST["send"] == 1){
  26.    if ($_POST['login'] == null && $_POST['password'] == null){
  27.     echo 'Prosze wprowadzic dane do formularza'.'<br/>';
  28.    }else {
  29.  mysql_query("$user_reg_login");
  30.  mysql_query("$user_reg_pass");
  31.         echo mysql_error();
  32.  echo 'Zakonczono rejestracje';
  33.     }
  34. }
  35.  
  36.  
  37. ?>





Więc tak: skrypt wysyła do bazy zapytanie i zostaje ono wykonane ale ku mojemu zdziwieniu błędnie wykonane!



Spojrzałem na to i pomyślałem co?! Jakim prawem tworzone są dwa rekordy do każdego pola i dlaczego hasło zapisuje się w polu login a login w polu hasło? Tego nie potrafię zrozumieć. 



Pozdrawiam

Ten post edytował ecox 4.11.2008, 16:34:08
Go to the top of the page
+Quote Post
magnus
post
Post #6





Grupa: Zarejestrowani
Postów: 99
Pomógł: 15
Dołączył: 15.11.2007
Skąd: Nowogród Bobrz.

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


Przecież robisz 2 zapytania INSERT - to logiczne, że każde z nich dopisze jeden rekord do bazy.
A czemu na odwrót - bo sam tak napisałeś, żeby do pola login wpisywał hasło a do hasła login smile.gif

Jednym zapytaniem:
INSERT into tabela (login, hasło) values (login, hasło) - jeden rekord (a kolejność też ważna).


--------------------
Efemental.pl - nasz punkt słyszenia :: recenzje :: tylko metal!
Opensource'owy klon Cantra: http://github.com/magnax/Simtr
Go to the top of the page
+Quote Post
ecox
post
Post #7





Grupa: Zarejestrowani
Postów: 4
Pomógł: 0
Dołączył: 3.11.2008

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


Cytat(magnus @ 4.11.2008, 17:09:31 ) *
Przecież robisz 2 zapytania INSERT - to logiczne, że każde z nich dopisze jeden rekord do bazy.
A czemu na odwrót - bo sam tak napisałeś, żeby do pola login wpisywał hasło a do hasła login smile.gif

Jednym zapytaniem:
INSERT into tabela (login, hasło) values (login, hasło) - jeden rekord (a kolejność też ważna).



oopss... ale gafę strzeliłem  sciana.gif


Widać że lamą jestem w php smile.gif


Dzięki za pomoc - temat do zamknięcia.
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 Aktualny czas: 21.08.2025 - 19:49