Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php] nie wysyła emaila
plej
post
Post #1





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

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


  1. <?php
  2. $tytul = "Rejestracja";
  3. include('naglowek.php');
  4. include('panel-logowania.php');
  5. include('menu-gora.php');
  6. include('menu-lewe.php');
  7. ?>
  8. <div id="srodek">
  9. <div id="srodekt"></div>
  10. <div id="srodeks">
  11. <br/>
  12. <?php
  13. if (!isset($_SESSION['login'])) { // dostęp dla zalogowanego użytkownika
  14.  
  15. include 'db.php'; // połączenie się z bazą danych
  16. $tabela = 'uzytkownik'; // zdefiniowanie tabeli MySQL
  17.  
  18.  
  19. if ($_POST["wyslane"]) { // jeżeli formularz został wysłany, to wykonuje się poniższy skrypt
  20.  
  21. // filtrowanie treści wprowadzonych przez użytkownika
  22. $login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
  23. $haslo = $_POST["haslo"];
  24. $haslo2 = $_POST["haslo2"];
  25. $email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
  26. $email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);
  27.  
  28. // system sprawdza czy prawidło zostały wprowadzone dane
  29. if (strlen($login) < 3 or strlen($login) > 30 or !eregi("^[a-zA-Z0-9_.]+$", $login)) {
  30. $blad++;
  31. echo '<p>Proszę poprawny wprowadzić login (od 3 do 30 znaków).</p>';
  32. } else {
  33. $wynik = mysql_query("SELECT * FROM $tabela WHERE login='$login'");
  34. if (mysql_num_rows($wynik) <> 0) {
  35. $blad++;
  36. echo '<p>Podana nazwa użytkownika została już zajęta.</p>';
  37. }
  38. }
  39. if (strlen($haslo) < 6 or strlen($haslo) > 30 ) {
  40. $blad++;
  41. echo '<p>Proszę poprawnie wpisać hasło (od 6 znaków do 30 znaków). </p>';
  42. }
  43. if ($haslo !== $haslo2) {
  44. $blad++;
  45. echo '<p> Podane hasła nie są ze sobą zgodne. </p>';
  46. }
  47. if (!eregi("^[0-9a-z_.-]+@([0-9a-z-]+\.)+[a-z]{2,4}$", $email)) {
  48. $blad++;
  49. echo '<p> Proszę wprowadzić poprawnie adres email.</p>';
  50. } else {
  51. $wynik = mysql_query("SELECT * FROM $tabela WHERE email='$email'");
  52. if (mysql_num_rows($wynik) <> 0) {
  53. $blad++;
  54. echo '<p> Podany adres e-mail jest już zajęty.</p>';
  55. }
  56. }
  57. if ($email !== $email2) {
  58. $blad++;
  59. echo '<p> Podane adresy e-mail nie są ze sobą zgodne.</p>';
  60. }
  61.  
  62.  
  63. // jeżeli nie ma żadnego błedu, użytkownik zostaje zarejestronwany i wysłany do niego e-mail z linkiem aktywacyjnym
  64. if ($blad == 0) {
  65.  
  66. $haslo = md5($haslo); // zaszyfrowanie hasla
  67. $kod = uniqid(rand()); // tworzenie unikalnego kodu dla użytkownika
  68.  
  69. $wynik = mysql_query("INSERT INTO $tabela VALUES('', '$login', '$haslo', '$email', '$kod', NOW(), '')");
  70. if ($wynik) {
  71. $list = "Witaj $login !
  72. Kliknij w poniższy link, aby aktywować swoje konto. <a href="http://www.fctorpedo.e-putana.pl/weryfikacja.php?weryfikacja=potwierdz&kod=$kod&quot;;" target="_blank">http://www.fctorpedo.e-putana.pl/weryfikac...#036;kod";</a>
  73. mail($email, "Rejestracja użytkownika", $list, "From: <kontobn@gmail.com.pl>");
  74. echo '<p>Dziękujemy za rejestrację! W ciągu nabliższych 5 minut dostaniesz wiadomość e-mail z dalszymi wskazówkami rejestracji.</p>';
  75. mysql_close($polaczenie);
  76. }
  77. }
  78. mysql_close($polaczenie);
  79. }
  80.  
  81. // tworzenie formularza HTML
  82. echo <<< KONIEC
  83.  
  84.   <form action="rejestracja.php" method="post">
  85.   <input type="hidden" name="wyslane" value="TRUE" />
  86.  
  87.   <p>Login*: <input type="text" name="login" /></p>
  88.   <p>Hasło*: <input type="password" name="haslo" /></p>
  89.   <p>Powtórz hasło*: <input type="password" name="haslo2" /></p>
  90.   <p>Adres e-mail*: <input type="text" name="email" /></p>
  91.   <p>Powtórz adres e-mail*: <input type="text" name="email2" /></p>
  92.  
  93.  
  94.   <p><input type="submit" value="wyślij" /></p></form>
  95. KONIEC;
  96.  
  97. } else {
  98. header('Location: / '); // zalogowany użytkownik zostaje przekierowany na stronę główną
  99. }
  100. ?>
  101. <br />
  102. </div>
  103. <div id="srodekb"></div>
  104. </div>
  105. <?php
  106. include('prawa-strona.php');
  107. include('stopka.php');
  108. ?>


WItam:) górny skrypt nie wysyła emaila na pcozte z kodem aktywacji konta:/ ale wcześniej działał... wie ktoś może co jest nie tak?? z góy dziękuje
Go to the top of the page
+Quote Post
juri500
post
Post #2





Grupa: Zarejestrowani
Postów: 15
Pomógł: 8
Dołączył: 22.05.2011

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


http://wklej.org/id/534287/
Poprawiłem cudzysłowy, powinno pomóc.
Napisz jaki błąd Ci wyskakuje.
Zwróć uwagę na to: (chodzi o action)
  1. <form action="rejestracja.php" method="post">


Upewnij się, że to dobra ścieżka.

Ten post edytował juri500 23.05.2011, 21:07:43
Go to the top of the page
+Quote Post
plej
post
Post #3





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

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


Wiesz fajnie by było jak by jakiś błąd wyskakiwał(IMG:style_emoticons/default/smile.gif) ale tak nie jest wszystko działa okey formularz jest też okey tylko nie wysyła emaila z kodem aktywacji:/ i nie wiem czemu bo wszytsko jest okey wcześniej tez działał a teraz nie chce działąć:/
Go to the top of the page
+Quote Post
CuteOne
post
Post #4





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


włącz wyświetlanie błędów(w pliku php.ini "display_error=1") i dodaj na początku tego skryptu


dodaj na końcach zapytań "or die(mysql_error());"

np. tak :
  1. $wynik = mysql_query("INSERT INTO $tabela VALUES('', '$login', '$haslo', '$email', '$kod', NOW(), '')") or die(mysql_error());


Ten post edytował CuteOne 24.05.2011, 00:01:27
Go to the top of the page
+Quote Post
plej
post
Post #5





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

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


Myślę że to nie jest potrzebne też(IMG:style_emoticons/default/smile.gif) wierz że raportowania już próbowałem:) porostu nie chce emaila wysłać i się zastanawiam nad tym już parę godzin co jest? nie mogę tego ogarnąć heh

próbowałem nawet zmienne dac w cudzysłowowa i tez nei działa:| i to jest bardzo dziwne:) w osobnym pliku nawet dałem skrypt i też nie działa:/




---------------------------- Ciąg dalszy (IMG:style_emoticons/default/haha.gif) ----------------------------------------------

Oks już naprawiłem:) nie wiem jak to zrobiłem ale działa:)

I tak dziękuje osobą które chciały mi pomóc (IMG:style_emoticons/default/smile.gif)

Ten post edytował plej 24.05.2011, 00:16:44
Go to the top of the page
+Quote Post
Rid
post
Post #6





Grupa: Zarejestrowani
Postów: 715
Pomógł: 47
Dołączył: 5.12.2010

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



$login = htmlspecialchars(stripslashes(strip_tags(trim($_POST["login"]))), ENT_QUOTES);
$haslo = $_POST["haslo"];
$haslo2 = $_POST["haslo2"];
$email = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email"]))), ENT_QUOTES);
$email2 = htmlspecialchars(stripslashes(strip_tags(trim($_POST["email2"]))), ENT_QUOTES);

Nie rozumiem,dlaczego wszędzie htmlspecialchars(stripslashes(strip_tags
,a $haslo tak sobie samo siedzi,przecież to taki sam input jak w $login czy w $email.
Go to the top of the page
+Quote Post
plej
post
Post #7





Grupa: Zarejestrowani
Postów: 264
Pomógł: 11
Dołączył: 9.05.2011
Skąd: Gdańsk

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


heh no to już mam zmienione:)

Może przy okazji znacie jakieś funkcje lepsze do zabezpieczania skryptów? przyda mi się(IMG:style_emoticons/default/smile.gif) jeśli to oczywiście nie problem wam napisac:)
Go to the top of the page
+Quote Post
CuteOne
post
Post #8





Grupa: Zarejestrowani
Postów: 2 958
Pomógł: 574
Dołączył: 23.09.2008
Skąd: wiesz, że tu jestem?

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


a po ką cholerke te "htmlspecialchars(stripslashes(strip_tags(" (IMG:style_emoticons/default/questionmark.gif) wystarczy PDO lub mysql_real_escape_string() gdy zapisujesz dane do bazy a "htmlspecialchars(stripslashes(strip_tags(" używasz podczas wyświetlania danych na stronie.

ps. nie używaj eregi
Go to the top of the page
+Quote Post

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: 27.08.2025 - 07:39