Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL]formularz wysyłajacy maila
Forum PHP.pl > Forum > Przedszkole
butek
Jest formularz gdzie dane osoby zapisują się( wpisują m.in. swój mail który jest przechowywany w bazie mysql) . Chciałbym aby po wysłaniu formularza nastąpiło wysłanie maila z adrsem osoby zapisującej się za pomocą tego formularza,  na mój mail. Po prostu chcę automatycznie otrzymywać maila że ktoś się wpisał do bazy. 
nitroo
a o co chodzi, bowiem zrobilem formularz i w momencie, gdy nie ma bledow, powinna zostac uzyta funkcja mail(). Ale mail do mnie nie dochodzi...
barthpl
No jak byś pokazał kod tego co zrobiłeś to na pewno znalazła by się osoba która by ci pomogła go poprawić. Jak poprawnie wysyłać maila było już kilka postów, np.: http://forum.php.pl/index.php?showtopic=93...mp;#entry506755. Ale specjalnie dla ciebie raz jeszcze przykładowy kod:
  1. <?php
  2. $message = "Treść wiadomości:\n$_POST[tresc]\n\n"; 
  3.  
  4. $from = "barthpl <barthpl@barthpl.net>";
  5. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8";
  6.  
  7. // funkcja mail() za pomocą której wiadomość zostanie wysłana 
  8. @mail( "barthpl@gmail.com", "Wiadomość wysłana ze strony...", $message, $header ) 
  9. or die("<p>Nie udało się wysłać wiadomości</p>" );
  10. echo '<p>Wiadomość została wysłana poprawnie</p>';
  11. ?>

Szczegóły jak to działa w mail" title="Zobacz w manualu PHP" target="_manual.

Fragment ten wklejasz w swoim skrypcie po udanym (lub nie, jak tam wolisz) zapisie do bazy danych.
nitroo
Przedstawie kod, ktory posiadam, ktory pokazuje mi, ze mail zostal wyslany, a on do mnie nie dochodzi.

  1. session_start();
  2. $error = '';
  3.  
  4. if($_POST['done'])
  5. {
  6.  
  7. $pseudonim = stripslashes(trim($_POST["pseudonim"]));
  8. $pytanie = stripslashes(trim($_POST["pytanie"]));
  9. $email = stripslashes(trim($_POST["email"]));
  10.  
  11. if (strlen($email)==0)
  12. {
  13. $error.= '<p class="data">Adres e-mail nie został podany!<br /><br /></p>';
  14. }
  15. else if (!eregi(".+@.+..+",$email))
  16. {
  17. $error.= '<p class="data">Podany adres e-mail nie jest poprawny!<br /><br /></p>';
  18. }
  19.  
  20. if($_POST['pytanie']=='')
  21. $error.='<p class="data">Pytanie nie zostało podane!<br /><br /></p>'; 
  22.  
  23. if($_POST['pseudonim']=='')
  24. $error.='<p class="data">Imię i nazwisko nie zostały podane!<br /><br /></p>';
  25.  
  26. $kod = $_POST['los'];
  27. $spr = $_POST['spr'];
  28.  
  29. if($kod != $spr)
  30. $error.='<p class="data">Podany kod jest błędny!<br /><br /></p>';
  31.  
  32. if($error == '')
  33. {
  34. $_POST['done']=='dodano';
  35. $list = "Nadawca: $pseudonim ($email)\n\nTresc:\n$pytanie";
  36. $from = "nro <nro@tlen.pl>";
  37. $header = "From: $from\nReply-to: $from\nMIME-Version: 1.0\nContent-type: text/html; charset=UTF-8";
  38.  
  39. mail("nro@tlen.pl", "Chat", $list, $header);
  40.  
  41. print '<p class="tytul">Ankieta została pomyśnie wysłana</p>';
  42. }
  43. }
  44.  
  45. if($_POST['done']!='dodano')
  46. {
  47. print '<font color="red">'.$error.'</font>';
  48.  
  49.  print '<form action="formularz.php" method="post">
  50. <table border="0">
  51. <tr>
  52. <td class="tekst">Pseudonim:</td>
  53. <td><input type="text" name="pseudonim" class="input" value="<? print $pseudonim; ?>" maxlength="100"></td>
  54. </tr>
  55. <tr>
  56. <td class="tekst">E-mail:</td>
  57. <td><input type="text" name="email" class="input" value="<? print $email; ?>" maxlength="100"></td>
  58. </tr>
  59. <tr>
  60. <td class="tekst" valign="top">Pytanie:</td>
  61. <td><textarea name="pytanie" rows="5" class="input" cols="40"><? print $pytanie; ?></textarea></td>
  62. </tr>';
  63.  
  64. if (!isset($kod))
  65. {
  66. for($i=0; $i<5; $i++)
  67. $kod.= rand(1,9);
  68. }
  69.  
  70. print '<tr>
  71. <td><img src="strony/token.php?n='.$kod.'"></td>
  72. <td><input type="text" name="spr" class="input" maxlength="5"></td>
  73. </tr>';
  74.  
  75. print '<tr><td></td><td colspan="2"><input type="submit" value="Wyślij" name="done" class="submit"></td></tr>
  76. </table>
  77. <input type="hidden" name="los" value="<?php print $kod; ?>">
  78. </form>';


Gdzie mam blad?
redelek
A na czym to robisz na domowym kompie ?
Musisz wtedy w PHP.INI skonfigurować sobie konto pocztowe.

Jeśli na jakimś serwerze musisz mieć na nim uruchomiony serwer pocztowy.
Inaczej poczta z czego ma wyjść ?

Pozdrawiam
Redelek
nitroo
Na serwerze. I niestety nie mam dostepu do php.ini sad.gif Jest jakis inny sposob wyslania maila z formularza?

Chyba tylko action="mailto:..."?
Maxik
A sprawdzasz folder spam na skrzynce?
nitroo
Cytat(Maxik @ 24.08.2008, 18:36:48 ) *
A sprawdzasz folder spam na skrzynce?


Mam poczte z serwera na outlooka.
golaod
Jest sposób wysłania za pomocą dowolnej skrzynki pocztowej (typu o2.pl/wp.pl/interia.pl)
To się nazywa DARMOWE BIBLIOTEKI SMTP które możesz znaleźć na google np phpmailer albo freesmtp
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.