Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] Dlaczego tak się robi?
swee
post
Post #1





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.01.2009

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


Cześć
Musiałem szybko zrobić wysyłanie maila ze strony i znalazłem na jakimś forum pewien przykład. Przerobiłem go na swoje potrzeby i wszystko teoretycznie powinno działać a za każdym razem kiedy go testuje (wrzuciłem na dwa różne serwery, odpaliłem WAMPem) bo naciśnięciu "SEND" przeglądarka odpala plik mails.php w formie tekstowej. Oczywiście mail się nie wysyła a ja nie mam pojęcia czego nie zrobiłem/ co zrobiłem źle. Pewnie dla was mój błąd jest oczywisty dlatego piszę.

index.html
  1. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  2. <head>
  3. <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
  4. <title>Untitled-4</title>
  5. </head>
  6. <body bgcolor="white">
  7. <form name="mail" action="mails.php" method="POST">
  8. Your name:
  9. <input name="name" type="text" id="name" value="" size="30" maxlength="30">
  10. <br>
  11.  
  12.  
  13. Your city:
  14. <input name= "city" type="text" id="city" value="" size="32" maxlenght="30"/>
  15. <br>
  16.  
  17. Your country:
  18. <input name="country" type="text" id="country" value="" size="28" maxlength="30" />
  19.  
  20.  
  21. <br>
  22. <br>
  23.  
  24. Wishes (of course in your native launguage) :
  25. <br>
  26.  
  27. <textarea name="dane" cols="50" rows="5" maxlenght="300" ></textarea>
  28.  
  29.  
  30. <br>
  31. <left>
  32. <input type="submit" value="Send" />
  33. <input name="reset" type="reset" value="Clear" />
  34. </left>
  35.  
  36. </form>
  37. </center>
  38. </body>
  39. </html>




mails.php
  1. <?PHP
  2.  $tr = $_POST['name'];
  3.  
  4.    $tr = $_POST['city'];
  5.  
  6.    $tr = $_POST['country'];
  7.  
  8.    $tr = $_POST['dane'];
  9.    $mailto='best2agata@gmail.com';
  10.    $mailsubject= "Wishes for Agata";
  11.    $mailbody = $tr;
  12.  
  13.    $mailheaders = "X-Mailer: PHP";
  14.    if (mail($mailto, $mailsubject, $mailbody, $mailheaders))    //Funkcja If Else
  15.    {
  16.    echo "Twój Email Do Administratora Serwisu został poprawnie wysłany";
  17.    }
  18.    else
  19.    {
  20.    echo "Twój Email nie został wysłany , przykro mi . Spróbuj Ponownie";
  21.    }
  22.    ?>
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 5)
wookieb
post
Post #2





Grupa: Moderatorzy
Postów: 8 989
Pomógł: 1550
Dołączył: 8.08.2008
Skąd: Słupsk/Gdańsk




Spróbuj dac zamiast <?PHP
<?php
albo
<?

To jest prawdopodobny błąd, ale mogę się mylic.


--------------------
Go to the top of the page
+Quote Post
marcio
post
Post #3





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

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


Cytat
$tr = $_POST['name'];

$tr = $_POST['city'];

$tr = $_POST['country'];

$tr = $_POST['dane'];

Robiac tak to ci sie tylko Dane wysla, doklej dane do zmiennej a nie ja nadpisujesz uzyj .=


--------------------
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
swee
post
Post #4





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.01.2009

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


O widzicie, coś się ruszyło smile.gif

Teraz kod wygląda tak:
  1. <?php
  2. $tr .= $_POST['name'];
  3. $tr .= $_POST['city'];
  4.  
  5.   $tr .= $_POST['country'];
  6.  
  7.   $tr .= $_POST['dane'];
  8.   $mailto='best2agata@gmail.com';
  9.   $mailsubject= "Wishes for Agata";
  10.   $mailbody = $tr;
  11.  
  12.   $mailheaders = "X-Mailer: PHP";
  13.   if (mail($mailto, $mailsubject, $mailbody, $mailheaders))    //Funkcja If Else
  14.   {
  15.   echo "Twój Email Do Administratora Serwisu zostal poprawnie wyslany";
  16.   }
  17.   else
  18.   {
  19.   echo "Twój Email nie zostal wyslany , przykro mi . Spróbuj Ponownie";
  20.   }
  21.   ?>


I już widać, że to wszystko zaczyna mieć ręce i nogi bo zamiast jakiegoś dziwnego wyświetlania całego kodu, pokazuje 'jedynie' błąd:


Notice: Undefined variable: tr in D:\wamp\www\ag2\mails.php on line 2

Warning: mail() [function.mail]: Failed to connect to mailserver at "localhost" port 25, verify your "SMTP" and "smtp_port" setting in php.ini or use ini_set() in D:\wamp\www\ag2\mails.php on line 13
Twój Email nie zostal wyslany , przykro mi . Spróbuj Ponownie


No i widze, że nie może się wysłać bo nie podoba mu się konfiguracja portu, ale nie wiem jak to można naprawić :/
Co i gdzie pozmieniać, żeby po wrzuceniu na serwer wszystko ładnie śmigało? (teraz testuje ten kod na wampie)

No i dlaczego nie podoba mu się teraz ta cała zmienna $tr ?
Go to the top of the page
+Quote Post
piotrooo89
post
Post #5


Newsman


Grupa: Moderatorzy
Postów: 4 005
Pomógł: 548
Dołączył: 7.04.2008
Skąd: Trzebinia/Kraków




a google to niby po co są?
wamp +smtp


--------------------
Go to the top of the page
+Quote Post
swee
post
Post #6





Grupa: Zarejestrowani
Postów: 6
Pomógł: 0
Dołączył: 9.01.2009

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


O, wrzuciłem wszystko jak jest na serwer i działa smile.gif Dzięki 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 Aktualny czas: 22.08.2025 - 09:16