Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP][TPL] przekazywanie zmiennych
krystian1991x
post
Post #1





Grupa: Zarejestrowani
Postów: 114
Pomógł: 0
Dołączył: 7.08.2010

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


Mam problem z formularzem rejestracji a konkretnie taki ustawiłem sobie żeby sprawdzało czy wszystkie pola zostały wypełnione oraz czy pola z hasłem oraz pola z email są takie same niestety coś tutaj nie gra Bo gdy za pierwszym razem wypełnię formularz to plik się przeładuje ale nie wyskoczy żaden komunikat :/ za drugim razem za to pokazuje mi tak jak by błąd z poprzedniego wypełnienia czyli jak w poprzednim niezgodne było hasło to wtedy wyskakuje mi błąd że pola z hasłem nie są identyczne o co tutaj chodzi ? Podaje kod PHP
  1. $login = mysql_escape_string($_POST['nick']);
  2. $password = mysql_escape_string($_POST['pw']);
  3. $rpw = mysql_escape_string($_POST['rpw']);
  4. $email = mysql_escape_string($_POST['email']);
  5. $remail = mysql_escape_string($_POST['remail']);
  6.  
  7. $login_use = mysql_query ("SELECT login FROM user WHERE login='$login'");
  8. $email_use = mysql_query ("SELECT email FROM user WHERE email='$email'");
  9.  
  10. if($_POST['register'] == 1) {
  11. if($login == "" && $password == "" && $rpw == "" && $email == "" && $remail == "")
  12. {
  13. $error_register = "bad_null";
  14. } else{
  15. if($pw == $rpw) {
  16.  
  17. $error_register = "bad_pw";
  18. } else {
  19.  
  20. if($email != $remail) { $error_register = "bad_email";
  21. } else {
  22.  
  23. $error_register = "yes";
  24.  
  25. $zapytanie = "INSERT INTO `user` (`id`, `login`, `password`, `email`, `avatar`)
  26. VALUES ('', '$login', '".md5($password)."', '$email', '')" ;
  27. $idzapytania = mysql_query($zapytanie);
  28. } }
  29. }
  30. }
  31. $smarty->assign('index', $img);
  32. $smarty->assign('error', $error_register);
  33. $smarty->display('register.tpl');
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
krispak
post
Post #2





Grupa: Zarejestrowani
Postów: 250
Pomógł: 55
Dołączył: 27.08.2008

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


Sprawdz to czy jest ok..
  1. if($_POST['register'] == 1)
  2. {
  3. $login = mysql_escape_string($_POST['nick']);
  4. $password = mysql_escape_string($_POST['pw']);
  5. $rpw = mysql_escape_string($_POST['rpw']);
  6. $email = mysql_escape_string($_POST['email']);
  7. $remail = mysql_escape_string($_POST['remail']);
  8.  
  9. $login_use = mysql_query("SELECT login, email FROM user WHERE login = '$login' OR email = '$email'"); // zamienilem na jedno zapytanie po co dwa?
  10.  
  11. if($login == "" || $password == "" || $rpw == "" || $email == "" || $remail == "")
  12. {
  13. $error_register['bad_null'] = "bad_null";
  14. $blad = true;
  15. }
  16. if($pw != $rpw)
  17. {
  18. $error_register['bad_pw'] = "bad_pw";
  19. $blad = true;
  20. }
  21. if($email != $remail)
  22. {
  23. $error_register['bad_email'] = "bad_email";
  24. $blad = true;
  25. }
  26. if($blad)
  27. {
  28. $smarty->assign('post', $_POST); // wrzucasz te posty w value aby przy zle wypelnionym nie trzeba bylo wypelniac jeszcze raz wystarczy poprawic
  29. $smarty->assign('error', $error_register); //errory
  30. } else {
  31. $zapytanie = "INSERT INTO `user` (`id`, `login`, `password`, `email`, `avatar`) VALUES ('', '$login', '".md5($password)."', '$email', '')";
  32. $idzapytania = mysql_query($zapytanie);
  33. }
  34. }
  35.  
  36. $smarty->assign('index', $img);
  37. $smarty->display('register.tpl');

Bledy w register.tpl wywoluj tak {$error.bad_null}, {$error.bad_pw}, {$error.bad_email}
Mozesz tez dodac Post aby nie wypelniac ponownie w razie bledu, czyli w value ustaw tak jak masz w post np. gdzie wpisujesz nick ustaw value="{$post.nick}"
Pozdrawiam
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 11.10.2025 - 03:21