Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Problem z kodem do Rejestracji
Piotrek666
post 17.02.2010, 10:46:37
Post #1





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.11.2008
Skąd: Czestochowa

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


Witam wszystkich.

Ponieważ jestem dość zielony w sprawach php, mam problem z kodem do rejestracji

Proces rejestracji działa prawidłowo ale 2 pętle -if- nie chcą działać
pierwsza ma zwracać błąd że jedno z pól zostało nie wypełnione
druga wysyła zapytanie do bazy i zwraca komunikat o błędzie - że dany użytkownik już istnieje w bazie

niestety nie wiem co może być źle
jeśli wyśle pusty szablon rejestracji to kieruje mnie że rejestracja została ukończona - w bazie mam pusty wpis
jeśli wyśle szablon z powtarzającym się adresem E-mail to kieruje mnie że rejestracja została ukończona - ale nie mam żadnego wpisu w bazie sql


  1. <?php
  2. setcookie("fld_name",null,0,"/");
  3. setcookie("fld_surname",null,0,"/");
  4. setcookie("fld_addr",null,0,"/");
  5. setcookie("fld_postalcode",null,0,"/");
  6. setcookie("fld_city",null,0,"/");
  7. setcookie("fld_email");
  8.  
  9. // pierwsza pętla
  10. if ((!$_POST['name']) or (!$_POST['surname']) or (!$_POST['city']) or (!$_POST['email'])or (!$_POST['addr']) or (!$_POST['postalcode']))
  11. {
  12. setcookie("fld_name",$_POST['name'],0,"/");
  13. setcookie("fld_surname",$_POST['surname'],0,"/");
  14. setcookie("fld_addr",$_POST['addr'],0,"/");
  15. setcookie("fld_postalcode",$_POST['postalcode'],0,"/");
  16. setcookie("fld_city",$_POST['city'],0,"/");
  17. setcookie("fld_email",$_POST['email'],0,"/");
  18.  
  19. header("Location: <a href="http://error1&quot%3b%29;" target="_blank">http://error1");</a>
  20. }
  21.  
  22. include("dbman.class.php");
  23.  
  24. $DB = new tDbMan();
  25. $DB->dbhost = "";
  26. $DB->dbuser = "";
  27. $DB->dbpass = "";
  28. $DB->dbname = "";
  29. $DB->Connect();
  30. $DB->Query("SET NAMES 'UTF8'");
  31.  
  32. //druga pętla
  33. if ($DB->Count($DB->Query("SELECT * FROM `users` WHERE `email` = '".$_POST['email']."'"))>0)
  34. {
  35. header("Location: <a href="http://error2&quot%3b%29;" target="_blank">http://error2");</a>
  36. }else{
  37.  
  38. $pass = substr(strtoupper(md5(time())),0,6);
  39. $kontoe = $_POST['email'];
  40.  
  41. $query = "INSERT INTO `users` (name,surname,gender,email,addr,postalcode,city,password)
  42. values ('{$_POST['name']}','{$_POST['surname']}','{$_POST['gender']}','{$_POST['email']}','{$_POST['addr']}','{$_POST['postalcode']}','{$_POST['city']}','".md5($pass)."')";
  43. $DB->Query($query) or die("Error occured, Registration failed!");
  44. $userID = $DB->GetLastInsertId();
  45.  
  46. $mailmsg = 'bla bla bla'
  47. $naglowki .= "X-MailPersonSubscriberID: ".$userID."\r\n";
  48. $naglowki .= "X-MailPersonEmail: ".$_POST['email']."\r\n";
  49. $naglowki .= "MIME-Version: 1.0\r\n";
  50. $naglowki .= "Content-type: text/html; charset=utf-8\r\n";
  51. $naglowki .= "From: <...>\r\n";
  52. $naglowki .= "Message-ID: <".date("YmdHis")."mailer@11.com>\r\n";
  53. $naglowki .= "X-Mailer: PHP v".phpversion()."\r\n"; // These two to help avoid spam-filters
  54. $mail_sent = mail($_POST['email'],"Registration",$mailmsg,$naglowki);
  55. }
  56. header("Location: htp//success");
  57. ?>


Proszę o pomoc bo nie potrafie sobie poradzić z tą rejestracją
sciana.gif
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Kocurro
post 17.02.2010, 12:40:18
Post #2





Grupa: Zarejestrowani
Postów: 461
Pomógł: 32
Dołączył: 17.09.2003
Skąd: Łódź

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


Witam,

drogi kolego same wywołanie header niestety nie wystarcza. Funkcja ta służy do ustawiania informacji o nagłówku wysyłanym do przeglądarki, nie powoduje jednak przerwania działania aplikacji. Dlatego też jeśli używasz header location to musiałbyś po tym dać wywołanie die();

Jeśli dalej będziesz miał problemy, pytaj śmiało.

Pozdrawiam serdecznie,
Łukasz
Go to the top of the page
+Quote Post
Piotrek666
post 17.02.2010, 13:38:12
Post #3





Grupa: Zarejestrowani
Postów: 14
Pomógł: 0
Dołączył: 11.11.2008
Skąd: Czestochowa

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


Zgadza się

Wszystko teraz ładnie działa
W życiu bym się nie domyslił że tak to ma wygladać

a właśnie... a jeśli tak dodać else pod koniec funkcji if to rozumiem że polecenie die już nie było potrzebne?


Pozdrawiam i dziękuje za pomoc
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: 19.07.2025 - 20:01