Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Dlaczego formularz nie wysyła maila?, ...coś chyba sknociłem, a działał
rafales
post 11.07.2011, 11:09:44
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.04.2006

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


Mam tego typu skrypt do wysyłania zapytania ze strony www
Kod php w pliku np kontakt.php:
  1. <?php
  2. function passcheck($pass) {
  3. $nr = floor(time() / 3600);
  4. for($i = 0; $i < strlen($pass); $i++)
  5. if($i % 2 == 0) $a .= $pass[$i]; else $b .= $pass[$i];
  6. $a = base_convert(strrev($a), 36, 10);
  7. $b = base_convert($b, 36, 10);
  8. if($a + $b <= $nr && $a + $b <= $nr - 2) return true;
  9. return false;
  10. }
  11.  
  12. if(!passcheck($pass)) die("Hasło nie poprawne !!!");
  13.  
  14. if(!empty($_POST["mail"])) // jeżeli pole mail nie jest puste
  15. {
  16.  
  17. echo "wiadomość została wysłana"; // wyświetl komunikat, że mail został wysłany (zawsze jest wysyłany więc nie ma innej opcji ;] )
  18. $headers = 'From: biuro@domena.pl'; // z tego maila beda wysyłane wiadomości
  19. $email = 'biuro@domena.pl'; // zmienna w której przekazywany jest mail DO którego ma przyjść wiadomość
  20. $subject = $_POST['temat']; // temat wiadomości
  21. $message = "wiadomość od: ".$_POST['mail']."
  22.  
  23. ".$_POST['tresc']; // tu jest cała treść wiadomości
  24. //
  25.  
  26. mail($email, $subject, $message, $headers); // funkcja wysyłająca wiadomość
  27.  
  28. }
  29. ?>
  30. <form action="kontakt.php" method="post">
  31. /*odpowiednie inputy*/
  32. <img src="image.php"><br/>
  33. Wpisz hasło z obrazka aby wysłać wiadomość!<br/>
  34. <input type="text" name="pass" size="8">
  35. <input type="submit" value="wyślij"/>
  36.  
  37. </form>


i plik image.php
  1. <?
  2. function passgen() {
  3. $nr = floor(time() / 3600);
  4. srand(array_sum(explode(" ", microtime())) * 100000);
  5. $a = rand(0, min(getrandmax(), $nr));
  6. $b = $nr - $a;
  7. $a = base_convert($a, 10, 36);
  8. $b = base_convert($b, 10, 36);
  9. $a = strrev(str_pad($a, max(strlen($a), strlen($b)), 0, STR_PAD_LEFT));
  10. $b = str_pad($b, max(strlen($a), strlen($b)), 0, STR_PAD_LEFT);
  11. for($i = 0; $i < strlen($a); $i++) $pass .= $a[$i].$b[$i];
  12. return $pass;
  13. }
  14. header("Content-type: image/jpeg");
  15. $img = imagecreate(110, 30);
  16. $background = imagecolorallocate($img, 206, 207, 099);
  17. $textcolor = imagecolorallocate($img, 0, 0, 0);
  18. imagestring($img, 5, 10, 7, passgen(), $textcolor);
  19. imagejpeg($img);
  20. imagedestroy($img);
  21. ?>


Pytanie brzmi: gdzie leży problem, ponieważ nie wysyła mi maili na skrzynkę...domena wpisana dobrze, funkcja mail włączona na serwerze, serwer smtp też dostępny...
Go to the top of the page
+Quote Post
yevaud
post 11.07.2011, 12:53:54
Post #2





Grupa: Zarejestrowani
Postów: 471
Pomógł: 89
Dołączył: 29.07.2008
Skąd: Warszawa

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


a jak brzmi komunikat bledu ? smile.gif
czy funkcja mail zwraca wartosc true ? jesli tak, to problem lezy po stronie smtp
Go to the top of the page
+Quote Post
rafales
post 11.07.2011, 13:02:19
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.04.2006

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


Nie zwraca mi żadnego błędu.
Poprostu nie otrzymuję maila na skrzynkę, a powinienem :-)

a jak sprawdzić czy zwraca true? Jestem laikiem i nie bardzo wiem jak to sprawdzić.
Go to the top of the page
+Quote Post
Babcia@Stefa
post 11.07.2011, 13:28:59
Post #4





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Spróbuj użyć do tego var_dump.


--------------------
Środowisko testowe (desktop) - Gedit, lighttpd, sftp, rsync, xfce4-terminal, chromium, firefox4 | System: Gentoo ~x86
O'Neill - serwer WWW @ lighttpd, links, nano, rsyncd, sftpd | System: Debian
Go to the top of the page
+Quote Post
rafales
post 12.07.2011, 06:10:07
Post #5





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.04.2006

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


Hmmm, a nie możesz troszkę jaśniej? Jak już pisałem, raczkuję w tym wszystkim.
Go to the top of the page
+Quote Post
modern-web
post 12.07.2011, 08:01:40
Post #6





Grupa: Zarejestrowani
Postów: 763
Pomógł: 117
Dołączył: 15.03.2010
Skąd: void

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


sprawdz czy serwer obsluguje funkcje mail(). niektore hostingi blokuja te opcje ze wzgledu na liczny spam wysylany przez boty odwiedzajace witryne. najlepiej rzuc okiem na php.ini. wiecej info znajdziesz w google, nie chce mi sie tego opisywac. tak czy inaczej stworz nowy plik .php i wyswietl w nim konfiguracje parsera php.


--------------------
Pomogłem? Kliknij `Pomógł`. To nic nie kosztuje, a mnie usatysfakcjonuje! ;)
Go to the top of the page
+Quote Post
rafales
post 13.07.2011, 13:43:16
Post #7





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 10.04.2006

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


Nie wiem czy czytałeś pierwszy mój post, ale tam wyraźnie napisałem, że funkcja mail działa na moim serwerze.

dla potwierdzenia treść maila z supportu
Kod
Witam serdecznie,

Uprzejmie informuję, że funkcja ta jest uruchomiona i działa poprawnie.


Sprawa rozwiązana. Tzn już wysyła. Błąd tkwił w tym, że zmieniłem name inputa email na mail :-)



Ten post edytował rafales 12.07.2011, 12:40:32
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: 17.06.2025 - 14:31