Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][MYSQL] Rejestracja
conix
post 10.03.2008, 17:10:25
Post #1





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Witam wszystkich kolejny raz smile.gif
Chcialbym napisac rejestracje, ALE..
Mam formularz, o taki:
  1. <form method=post action=\"rejestracja.php\">
  2. <TABLE ALIGN=\"center\">
  3. <tr>
  4. <td colspan=2><H1>Dodanie nowego użytkownika</H1><TD></TD></td>
  5. <tr>
  6. <td>Login:</td>
  7. <td><input type=text name=login></td></tr>
  8. <tr>
  9. <td>Numer Gadu-Gadu:</td>
  10. <td><input type=text name=gg></td></tr>
  11. <tr>
  12. <td>Skšd jesteœ:</td>
  13. <td><input type=tekst name=skad></td></tr>
  14. <tr>
  15. <td>Płeć:</td>
  16. <td>Mężczyzna: <input type=\"radio\" value=\"m\" checked name=\"plec\"> Kobieta: <input type=\"radio\" name=\"plec\" value=\"k\"></td></tr>
  17. <tr>
  18. <td>Hasło:</td>
  19. <td><input type=password name=haslo></td></tr>
  20. <tr>
  21. <td>Powtórz hasło:</td>
  22. <td><input type=password name=haslo2></td></tr>
  23. <tr><td colspan=2><h4>Hasło powinno składać się z nie więcej niż 12 znaków.</H4></td></TR>
  24. <tr>
  25. <td align=center colspan=2>
  26. <input type=submit value=\"Zapisz\"></td></TABLE></form>

i chcialbym zrobic zeby jak wpisze np. dwa rozne hasla, to nad/pod* wywali o tym komunikat. Niewiem jak to sie robi, watpie ze sie nieda. Czytalem o AJAX'ie ale mi to potrzebne jest na wczoraj i niechce sie bawic z ajaxem.
Oczywiscie wiem jak zrobic warunek, ktory sprawdzi czy hasla sie nie powtarzaja, jednak jak zrobic zeby nie otwierala sie kolejna strona, tylko zeby na tej wyswietlalo.
Prosze o pomoc, jak to zrobic :/
Nie kapuje tego :/


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
netmare
post 10.03.2008, 17:33:05
Post #2





Grupa: Zarejestrowani
Postów: 285
Pomógł: 37
Dołączył: 18.12.2007
Skąd: Łódź

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


coś mi się wydaje że już Ci kiedyś pisałem że jak dasz form action="" wstawiając fragment kodu podany przez którąś z osób które Ci podawały przykłady, to będzie Ci wyświetlać to na tej samej stronie. A jak nie to JS.
Go to the top of the page
+Quote Post
prog112
post 10.03.2008, 17:47:11
Post #3





Grupa: Zarejestrowani
Postów: 19
Pomógł: 2
Dołączył: 10.03.2008

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


Przenieś rejestracje do pliku z formularzem i wtedy użyj poprostu echo(); bądż trudniejsza wersja użyj include();
Tj. dorzuć w pliku z formularzem notkę, że gdy ?action=cos to wyświetla ten sam formularz ale z chcianą wiadomością. No, a wtedy w pliku ze skryptem użyjesz header();

Jak masz jeszcze jakieś pytania to pisz winksmiley.jpg

EDIT
Kod:

  1. <?php
  2.  
  3. // zmienna $action przekazana metoda GET
  4. $action = $_GET['action'];
  5.  
  6. // sprawdzamy czy zmienna $action ma warto&#347;&#263; zlehasla a jak tak wywalamy b&#322;&#261;d
  7. if($action=='zlehasla') echo '<b><center>Hasła siężnią</b></center>';
  8.  
  9.  
  10. ?>
  11. <form method=post action=\"rejestracja.php\">
  12. <TABLE ALIGN=\"center\">
  13. <tr>
  14. <td colspan=2><H1>Dodanie nowego użytkownika</H1><TD></TD></td>
  15. <tr>
  16. <td>Login:</td>
  17. <td><input type=text name=login></td></tr>
  18. <tr>
  19. <td>Numer Gadu-Gadu:</td>
  20. <td><input type=text name=gg></td></tr>
  21. <tr>
  22. <td>Skšd jesteœ:</td>
  23. <td><input type=tekst name=skad></td></tr>
  24. <tr>
  25. <td>Płeć:</td>
  26. <td>Mężczyzna: <input type=\"radio\" value=\"m\" checked name=\"plec\"> Kobieta: <input type=\"radio\" name=\"plec\" value=\"k\"></td></tr>
  27. <tr>
  28. <td>Hasło:</td>
  29. <td><input type=password name=haslo></td></tr>
  30. <tr>
  31. <td>Powtórz hasło:</td>
  32. <td><input type=password name=haslo2></td></tr>
  33. <tr><td colspan=2><h4>Hasło powinno składać się z nie więcej niż 12 znaków.</H4></td></TR>
  34. <tr>
  35. <td align=center colspan=2>
  36. <input type=submit value=\"Zapisz\"></td></TABLE></form>

A wtedy jak mówiłem w rejestracja.php dajesz
  1. <?php
  2. if($haslo1 != $haslo2) header("Location: formularz.php?action=zlehasla")
  3. ?>


Ten post edytował prog112 10.03.2008, 17:57:16


--------------------
cout<<"Po co się patrzysz w ten podpis" <<endl;
cout<<"Cpp rox!";
Go to the top of the page
+Quote Post
conix
post 11.03.2008, 16:12:15
Post #4





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Dzięki smile.gif
Teraz juz sobie sam zrobie do konca smile.gif
pozdro smile.gif

Niechce zakladac nowego tematu, wiec..
mam problem. Mam zabezpieczenie przed powtarzajacym sie loginie. Wywala mi o tym komunikat, jednak w bazie zapisuje :/
Jak zrobic by nie zapisywało?
Moj kod, rejestracja.php:
  1. <?php
  2. include ('config.php');
  3. if($haslo1 != $haslo2) header("Location: formularz.php?action=zlehasla");
  4.  
  5. $wynik = mysql_query("select * from users where login='$login'");
  6. if (mysql_num_rows($wynik)>0) header("Location: formularz.php?action=zlylogin");
  7.  
  8. if (!preg_match("/^[-0-9A-Z_.]{1,50}@([-0-9A-Z_.]+.){1,50}([0-9A-Z]){2,4}$/i", $mail)) header("Location: formularz.php?action=mail");
  9. else {
  10. $login = $_POST['login'];
  11. $gg = $_POST['gg'];
  12. $skad = $_POST['skad'];
  13. $plec = $_POST['plec'];
  14. $haslo1 = $_POST['haslo1'];
  15. $haslo2 = $_POST['haslo2'];
  16. $mail = $_POST['mail'];
  17. $query = mysql_query("insert into users values('', '$login', '$gg', '$skad', '$plec', '$haslo1', '$haslo2', '$mail' )");
  18. echo ' Rejestracja zakończona pomyślnie, teraz możesz sie <a href="login.php">zalogować</a>. ';
  19. }
  20.  
  21. ?>

Formularz.php:
  1. <?php
  2.  
  3. // zmienna $action przekazana metoda GET
  4. $action = $_GET['action'];
  5.  
  6. // sprawdzamy czy zmienna $action ma wartość zlehasla a jak tak wywalamy błąd
  7. if($action=='zlehasla') echo '<b><center>Hasła nie pasują do siebie</b></center>';
  8.  
  9.  
  10. // zmienna $action przekazana metoda GET
  11. $action = $_GET['action'];
  12.  
  13. // sprawdzamy czy zmienna $action ma wartość zlehasla a jak tak wywalamy błąd
  14. if($action=='zlylogin') echo '<b><center>Login jest już zajęty przez innego użytkownika.</b></center>';
  15.  
  16. // zmienna $action przekazana metoda GET
  17. $action = $_GET['action'];
  18.  
  19. // sprawdzamy czy zmienna $action ma wartość zlehasla a jak tak wywalamy błąd
  20. if($action=='mail') echo '<b><center>Podany przez ciebie e-mail jest nieprawidłowy.</b></center>';
  21.  
  22.  
  23.  
  24.  
  25.  
  26.  
  27.  
  28.  
  29. ?>
  30. <form method=post action="rejestracja.php">
  31. <TABLE ALIGN="center">
  32. <tr>
  33. <td colspan=2><H1>Dodanie nowego użytkownika</H1><TD></TD></td>
  34. <tr>
  35. <td>Login:</td>
  36. <td><input type=text name=login></td></tr>
  37. <tr>
  38. <td>Adres email:</td>
  39. <td><input type=tekst name=mail></td></tr>
  40. <tr>
  41. <td>Numer Gadu-Gadu:</td>
  42. <td><input type=text name=gg></td></tr>
  43. <tr>
  44. <td>Skšd jesteoe:</td>
  45. <td><input type=tekst name=skad></td></tr>
  46. <tr>
  47. <td>Płeć:</td>
  48. <td>Mężczyzna: <input type="radio" value="m" checked name="plec"> Kobieta: <input type="radio" name="plec" value="k"></td></tr>
  49. <tr>
  50. <td>Hasło:</td>
  51. <td><input type=password name=haslo1></td></tr>
  52. <tr>
  53. <td>Powtórz hasło:</td>
  54. <td><input type=password name=haslo2></td></tr>
  55. <tr><td colspan=2><h4>Hasło powinno składać się z nie więcej niż 12 znaków.</H4></td></TR>
  56. <tr>
  57. <td align=center colspan=2>
  58. <input type=submit value="Rejestruj"></td></TABLE></form>


Ten post edytował conix 10.03.2008, 18:04:02


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
marcio
post 11.03.2008, 16:17:18
Post #5





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


Po sprawdzeniu czy hasla sa inne daj die() albo exit; wtedy zatrzyma dzialanie reszty kodu


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
nitek
post 11.03.2008, 16:21:37
Post #6





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


  1. <?php
  2. include ('config.php');
  3. if($haslo1 != $haslo2) header("Location: formularz.php?action=zlehasla");
  4. ?>


zostałem uprzedzony winksmiley.jpg

Ten post edytował nitek 11.03.2008, 16:22:34


--------------------
Go to the top of the page
+Quote Post
conix
post 11.03.2008, 16:25:46
Post #7





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Jak tak dam, to po kliknieciu na rejestruj otwiera sie pusta, biala stronka
  1. <?php
  2. if($haslo1 != $haslo2) header("Location: formularz.php?action=zlehasla");
  3. $wynik = mysql_query("select * from users where login='$login'");
  4. if (mysql_num_rows($wynik)>0) header("Location: formularz.php?action=zlylogin");
  5. if (!preg_match("/^[-0-9A-Z_.]{1,50}@([-0-9A-Z_.]+.){1,50}([0-9A-Z]){2,4}$/i", $mail)) header("Location: formularz.php?action=mail");
  6. ?>


Ten post edytował conix 11.03.2008, 16:30:28


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
nitek
post 11.03.2008, 16:34:19
Post #8





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


  1. <?php
  2. include ('config.php');
  3.  
  4. $wynik = mysql_query("select * from users where login='".$_POST['login']."'");
  5.  
  6. if($_POST['haslo1'] != $_POST['haslo2']) 
  7. header("Location: formularz.php?action=zlehasla");
  8.  
  9. else if (mysql_num_rows($wynik)>0) 
  10.  header("Location: formularz.php?action=zlylogin");
  11.  
  12. else if (!preg_match("/^[-0-9A-Z_.]{1,50}@([-0-9A-Z_.]+.){1,50}([0-9A-Z]){2,4}$/i", $mail)) header("Location: formularz.php?action=mail");
  13. else {
  14. $login = $_POST['login'];
  15. $gg = $_POST['gg'];
  16. $skad = $_POST['skad'];
  17. $plec = $_POST['plec'];
  18. $haslo1 = $_POST['haslo1'];
  19. $haslo2 = $_POST['haslo2'];
  20. $mail = $_POST['mail'];
  21. $query = mysql_query("insert into users values('', '$login', '$gg', '$skad', '$plec', '$haslo1', '$haslo2', '$mail' )");
  22. echo ' Rejestracja zakończona pomyślnie, teraz możesz sie <a href="login.php">zalogować</a>. ';
  23. }
  24. ?>


czytałem na szybkiego twój kod, ale powinno być ok...


--------------------
Go to the top of the page
+Quote Post
marcio
post 11.03.2008, 16:38:12
Post #9





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

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


A nie powinienes dac if() {} z tymi {}{ zeby wykonwalu sie 2 opracje po if bo jesli if == true a nie masz {} to wykona sie tylko pierwsza operacja gdzie znajdzie ; wiec zrobi tylko przekierowanie

Ten post edytował marcio 11.03.2008, 16:38:58


--------------------
Zainteresowania: XML | PHP | MY(SQL)| C# for .NET | PYTHON
http://code.google.com/p/form-builider/
Moj blog
Go to the top of the page
+Quote Post
conix
post 11.03.2008, 16:52:36
Post #10





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Co ja bym zrobił bez tego forum.
Link do niego ukaże sie w stopce mojej strony, która rusza za kilka dni smile.gif
Działa, dzieki nitek ;D


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
Go to the top of the page
+Quote Post
nitek
post 11.03.2008, 16:54:01
Post #11





Grupa: Zarejestrowani
Postów: 209
Pomógł: 37
Dołączył: 27.02.2008
Skąd: Kwidzyn

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


nie ma problemu - polecam się winksmiley.jpg
pozdrawiam

PS - ten twój kod można by jeszcze trochę po ulepszać, bo sporo rzeczy tam niepotrzebnie robisz. ale to już inna bajka.. winksmiley.jpg

Ten post edytował nitek 11.03.2008, 16:55:00


--------------------
Go to the top of the page
+Quote Post
conix
post 11.03.2008, 17:24:33
Post #12





Grupa: Zarejestrowani
Postów: 136
Pomógł: 0
Dołączył: 8.02.2008

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


Narazie chce zrobic zeby dzialalo. Potem bede ulepszac/edytowac/optymalizowac itd.


--------------------
Jeśli pomogłem kliknij na Pomógł
Jeśli nie pomogłem kliknij na Pomógł
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: 26.04.2024 - 04:38