Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wysłanie danych na e-mail
Forum PHP.pl > Forum > Przedszkole
Siper
Witam,
Z góry przepraszam za pytanie, bo wiem, że odpowiedź na nie jest banalna, niestety nie dla mnie sad.gif

Zamierzam zrobić formularz, w którym są 3 bloki: nick, serwery, hasło, email. Po wpisaniu tych danych, chcę aby one zostały wysłane na email np. adres@email.com w takim stylu:

Temat: Nowe konto Neo
Wiadomość:
Nowy użytkownik prosi o utworzenie konta neo. Oto jego dane:

Nick: $nick
Hasło: $haslo
Serwery: $serwery
Email: $email


Oto to co już zrobiłem:

index.html
  1. <?xml version="1.0" encoding="utf-8" standalone="no"?>
  2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <title>Formularz zakładania konta Neo.</title>
  6. </head>
  7. <body>
  8. <form method="post" action="skrypt.php">
  9. <p>
  10. <label>Podaj nick: <input type="text" name="nick"/></label>
  11. </p>
  12. <p>
  13. <label>Wybierz serwer: <input type="text" name="serwer"/></label>
  14. </p>
  15. <p>
  16. <label>Podaj Hasło: <input type="text" name="haslo"/></label>
  17. </p>
  18. <p>
  19. <label>Podaj Email: <input type="text" name="email"/></label>
  20. </p>
  21. <p>
  22. <input type="submit" value="OK"/>
  23. </p>
  24. </form>
  25. </body>


skrypt.php
  1. <?php
  2.  
  3.   if(count($_POST) == 3)
  4.   {
  5.      echo 'Gratulacje '.$_POST['nick'].' ! Twoja prośba o wykonanie konta NEO na serwerze '.$_POST['serwer'].' została wysłana do admina!';
  6.      echo 'Aby wejść na serwer musisz wpisać w konsole setinfo _pw '.$_POST['haslo'].' i oraz mieć nick '.$_POST['nick'].' !';
  7.   }
  8. ?>



Pozdrawiam,
Siper
kamil4u
Teraz manual i mail" title="Zobacz w manualu PHP" target="_manual
Siper
Aha czyli rozumiem że do pliku skrypt.php mam dodać:

Kod
bool mail ( string 'adres@email.com', string 'Nowe konto Neo', string ' Nowy użytkownik prosi o utworzenie konta neo. Oto jego dane:<br><br>Nick: $nick <br>Hasło: $haslo <br>Serwery: $serwery <br>Email: $email' )


?
kamil4u
Prawie(nie sprawdzałem):
Kod
mail ('adres@email.com','Nowe konto Neo', ' Nowy użytkownik prosi o utworzenie konta neo. Oto jego dane:\n\nNick: '.$nick.'\nHasło: '.$haslo.'\nSerwery: '.$serwery.'\nEmail: '.$email);
Siper
Dzieki, działa, ale niestety nie mam włączonej funkcji mail sad.gif Próbowałem ją znaleść i włączyć, ale nie moge. Jak sie ona nazywa?

//Edit
Odpaliłem skrypt na moim serwerze zdalnym, i normalnie wysyła meila, ale:

-zamiast łamania tekstu jest /n
-dane nie są wysyłane (puste punkty nick: email: itp.)
Wolfie
Co do lamania linii użuwasz złego znaku, zamiast "/" użyj "\" , poza tym \n używa sie na koncu linii z tego co mi sie wydaje a nie na poczatku kolejnej....


Siper mam pytanie....

Czy posiadasz wlasny serwer pocztowy czy korzystasz z uslugodawcy ?


Jezeli masz wlasny to jak masz ustawione te dwie linijki w php.ini ?

Cytat
[mail function]
; For Win32 only.
SMTP = localhost <---- ta linijke
smtp_port = 25 <---- i ta linijke


Probuje sie dowiedziec na tym forum czy mam dobrze skonfigurowane php do wysylania maila ale nikt nie chce na ten temat sie odezwac, moze Ty pomozesz ?

czy musze miec wlasny serwer pocztowy czy w php juz isnieje cos w rodzaju okrojonego sendmail-a ?
Siper
Do przetestowania uzyłem usługodawcy, ale mam tez lokalny w którym mam ustawione te linijki tak samo.

PS.Wpisywałem "\n", a nie "/n". Jeżeli to ma znaczenie to korzystam w Windowsa, a nie z Linuxa
Wolfie
I lokalny serwer wysyła Ci normalnie maila bez problemu ? Tzn, instalowales jakis serwer pocztowy? Bo ja mam tylko Apache, MySQL i PHP zainstalowane u siebie ? Czy to wystarczy zeby wyslac maila ? Czy musze jeszcze jakis serwer pocztowy instalowac ?
Siper
No własnie nie, działa tylko ten usługodawcy. Wyświetla mi takie coś:

Warning: mail() [function.mail]: "sendmail_from" not set in php.ini or custom "From:" header missing in C:\xampp\htdocs\fomularz\skrypt.php on line 9

Może szybciej będzie odpowiedz jak pokarze co wpisałem:
  1. <?php
  2.    
  3.   if(count($_POST) == 4)
  4.   {
  5.      $message =  'Nowy użytkownik prosi o utworzenie konta neo. Oto jego dane:\n\nNick: $_POST['nick']\nHasło: $_POST['haslo']\nSerwery: $_POST['serwery']\nEmail: $_POST['email'] ';
  6.      echo 'Gratulacje '.$_POST['nick'].' ! Twoja prośba o wykonanie konta NEO na serwerze '.$_POST['serwer'].' została wysłana do admina!';
  7.      echo 'Aby wejść na serwer musisz wpisać w konsole setinfo _pw '.$_POST['haslo'].' i oraz mieć nick '.$_POST['nick'].' !';
  8. mail ('adres@email.com','Nowe konto Neo', $message);
  9.  }
  10. ?>


Próbowałem cos poprawić, ale teraz cos takiego wywala:
Parse error: syntax error, unexpected T_STRING in /home/strefask/public_html/fomularz/nazwaskryptu.php on line 5
kleszczoscisk
  1. <?php
  2. $message =  'Nowy użytkownik prosi o utworzenie konta neo. Oto jego dane:\n\nNick: '.$_POST['nick'].'\nHasło: '.$_POST['haslo'].'\nSerwery: '.$_POST['serwery'].'\nEmail: '.$_POST['email'];
  3. ?>


?
Siper
i co to da? Zadne info nie wyskoczy, meil nie bedzie wysłany bo nie ma: mail ('adres@email.com','Nowe konto Neo', $message);
lnn
  1. <?php
  2. if(count($_POST) == 4)
  3.  {
  4.     $message =  
  5.     'Nowy użytkownik prosi o utworzenie konta neo. Oto jego dane:\n\nNick:' .$_POST['nick']. '\nHasło: ' .$_POST['haslo'].'\nSerwery:' .$_POST['serwery']. '\nEmail:' .$_POST['email']  ;
  6.     echo 'Gratulacje '.$_POST['nick'].' ! Twoja prośba o wykonanie konta NEO na serwerze '.$_POST['serwer'].' została wysłana do admina!';
  7.     echo 'Aby wejść na serwer musisz wpisać w konsole setinfo _pw '.$_POST['haslo'].' i oraz mieć nick '.$_POST['nick'].' !';
  8. mail ('adres@email.com','Nowe konto Neo', $message);
  9. }
  10. ?>

jeszcze na twoim miejscu bym wprowadzil zmienne do wysylki mejla ;-)
Siper
Email został wysłany razem z danymi, ale niestety brak łamania tekstu, zarówno na stronie jak i w mailu
kleszczoscisk
Cytat(Siper @ 26.04.2009, 18:46:11 ) *
i co to da? Zadne info nie wyskoczy, meil nie bedzie wysłany bo nie ma: mail ('adres@email.com','Nowe konto Neo', $message);


To da, że w 5 linii błędów nie będzie.
lnn
ja ttylko usunalem blad a co chcesz uzyskac?
a nie mozesz sobie dodac \n ? skoro chcesz nowe linie uzyskac? lub zrob to w HTMLu <br /> ale wtedy musisz uzyc naglowkow winksmiley.jpg
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.