Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: PHP Forumularze
Forum PHP.pl > Forum > PHP
kewes
Witam,
Zacząłem właśnie swoją przygodę z php i postanowiłem napisać jakiś prosty formularz.Założenie było takie, że ktoś wypełnia formularz, i wysyla mi go na maila, wg szablonu.
Tytułem wstępu wyjaśnię że wpadłem na pomysł, aby topic maila był odrazu połączeniem imienia, nazwiska i daty.
W tym celu przygotowałem prosty formularz w html, i skrypt formularz.php
[codebox]
  1. <?php
  2. $data = date("m.d.y");
  3. $dataa = date("Ymd");
  4.  
  5. echo 'Witaj, '.$_POST['podajimie'].' '.$_POST['podajnazwisko'].' ! <br />Dzis jest '.$data.'<br />Twoje IP to '.$_SERVER['REMOTE_ADDR'].'<br />Twoja wiadomsoc zostala wyslana!.Dziękujemy.';
  6. echo '<br /> Dodatkowe komentarze: <b>'.$_POST['uwagi'].'</b><br /> Twoja plec to'.$_POST['plec'].'.Twój wiek znajduje się w przedziale '.$_POST['wiek'].' lat.';
  7. echo '<br /> Twój adres e-mail to <b>'.$_POST['podajmail'].' </b>.<br />';
  8. echo 'Korzystasz z internetu srednio około '.$_POST['internet'].' .';
  9. $wiadomosc = '<html>
  10.    <head>
  11.      <title>Wiadomość e-mail</title>
  12.    </head>
  13.    <body>
  14. <p style="text-align:center"> Dane urzytkownika:<b> '.$_POST['podajimie'].' '.$_POST['podajnazwisko'].' </b>. </p>
  15. <p style="text-align:center"> Adres email: <b>'.$_POST['podajmail'].' .</b></p>
  16. <p style="text-align:center"> Uwagi na temat strony: <b>'.$_POST['uwagi'].' .</b></p>
  17. <p style="text-align:center"> Plec: <b>'.$_POST['plec'].' .</b>Wiek: <b>'.$_POST['wiek'].' .</b></p>
  18. '.$_POST['uwagi'].'</b>
  19.    </body>
  20.    </html>';
  21. $odbiorca='mojmail@poczta.fm';
  22. $tytul = 'Wiadomosc testowa_'$.dataa.'_'$_POST['podajimie'].'_'.$_POST['podajnazwisko'];
  23. $adresat = $_POST['podajemail'];
  24. mail($odbiorca,$tytul,$wiadomosc);
  25.  
  26. ?>


Poniżej prezentuje sam kod html
Kod
<form action="formularz.php" method="post">
<fieldset>
<div><p style="text-align:center; font-size:24pt; border-bottom:double; background-color:#ffffff">Ankieta </p>
<p style="text-align:center; font-size:22pt; border-bottom:double; background-color:#ffffff">Prosimy o odpowiedĽ na następuj±ce pytania </p>
<p style="text-align:center"> Imię<input type="text" name="podajimie" size="20" maxlength="30"/> </p>
<p style="text-align:center; border-bottom:solid"> Nazwisko<input type="text" name="podajnazwisko" size="20" maxlength="30"/> </p>
<p style="text-align:center; border-bottom:solid"> Poczta elektroniczna <br/>
<input type="text" name="podajmail" size="20" maxlength="30" style="width:300px" /> </p></div>
<div style="float:left; height:600px"><p>Twoja płeć </p>
<p><input type="radio" name="plec" value="kobieta"/> Kobieta</p>
<p><input type="radio" name="plec" value="meżczyzna"/> Mężczyzna</p>
<p>Twój wiek</p>
<p><input type="radio" name="wiek" value="do 20"/> Do 20</p>
<p><input type="radio" name="wiek" value="21-30"/> 21-30</p>
<p><input type="radio" name="wiek" value="31-40"/> 31-40</p>
<p><input type="radio" name="wiek" value="41-50"/> 41-50</p>
<p><input type="radio" name="wiek" value="51-60"/> 51-60</p>
<p><input type="radio" name="wiek" value="ponad 60"/> ponad 60</p>


<p>Ile godzin tygodniowo krzystasz z internetu?</p>
<p><input type="radio" name="internet" value="do 5 godzin"/>do 5 godzin</p>
<p><input type="radio" name="internet" value="5-10 godzin"/>5-10 godzin</p>
<p><input type="radio" name="internet" value="10-20 godzin"/>10-20 godzin</p>
<p><input type="radio" name="internet" value="20-30 godzin"/>20-30 godzin</p>
<p><input type="radio" name="internet" value="wiecej niż 30 godzin"/>wiecej niż 30 godzin</p>
</div>
<div style="float:right; height:600px">

<p>Jakiej przegl±darki WWW używasz najcze¶ciej?</p>
<p><input type="checkbox" value="Firefox"/> Firefox</p>
<p><input type="checkbox" value="Safari"/> Safari</p>
<p><input type="checkbox" value="Opera"/> Opera</p>
<p><input type="checkbox" value="Chrome"/> Chrome</p>
<p><input type="checkbox" value="Internet Explorer"/> Internet Explorer</p>
<p><input type="checkbox" value="Netscape Navigator"/> Netscape Navigator</p>
<p><input type="checkbox" value="Ghost Navigator"/> Ghost Navigator</p>
<p><input type="checkbox" value="inna"/> inna</p>
<p style="text-align:center">Jakie popularne czasopisma komputerowe czytasz? </p><p style="text-align:center">e¶li chcesz zaznaczyć wiecej niż jedn± odpowiedĽ naci¶nij klawisz CTRL</p>
<p><select name="gazeta" size="8" multiple="multiple">
<option> PC World Koputer </option>
<option> PC Format </option>
<option>  Xploit </option>
<option>  NEXT </option>
<option>  Komputer ¦wiat Ekspert </option>
<option>  Komputer ¦wiat </option>
<option>  CHIP </option>
<option>  inne </option>
</select>
</p>
</div>
<div style="clear: both;">
<p style="text-align:center">Je¶li masz jakie¶ dodatkowe uwagi, życzenia i postulaty, wpisz je tutaj </p>
<p style="text-align:center; border-bottom:solid"><textarea name="uwagi" rows="10" cols="50" ></textarea> </p>

<p style="text-align:center">Je¶li skończyłe¶ wpisywać informacje, kliknij na przycisku Wy¶lij.</p>
<p style="text-align:center">Je¶li chcesz zmienić dane, kliknij na przycisku Usuń.</p>
<p style="text-align:center;  border-bottom:solid">
<input type="submit" value="Wy¶lij do nas informacje"/>
<input type="reset" value="Usuń wszystkie informacje"/>
</p>
</div>
</fieldset>
</form>


Podczas testów po wypełnieniu strony zwracało mi pustą strone formularz.php zatem dopisałem te fragmeny z echo, aby upewnić się iż dobrze wszystko zapisałem.
Jednak formularz wciąż nie działa - nie dostaje maili.
Wszystko zamieściłem na serwerach cba.pl aby to testować, link
Kod
www.michalbaran.cba.pl/testy.html


Moje pytanie - mógłby ktoś wskazać gdzie popełniłem błąd z wysyłaniem maila? Na stronie główniej cba jest napisane iż serwery obsługują funkcje mail().


Pozdrawiam.
  1. <?php
  2. [/php][php]
  3. ?>
outsider
jezeli wiadomosc zawiera html to dodaj naglowki (headers)do funkcji mail()
http://php.net.pl/manual/pl/function.mail.php
kewes
Poprawiłem w następujący sposób:

  1. <?php
  2. $wiadomosc = '<html>
  3.    <head>
  4.      <title>Wiadomość e-mail</title>
  5.    </head>
  6.    <body>
  7. <p style="text-align:center"> Dane urzytkownika:<b> '.$_POST['podajimie'].' '.$_POST['podajnazwisko'].' </b>. </p>
  8. <p style="text-align:center"> Adres email: <b>'.$_POST['podajmail'].' .</b></p>
  9. <p style="text-align:center"> Uwagi na temat strony: <b>'.$_POST['uwagi'].' .</b></p>
  10. <p style="text-align:center"> Plec: <b>'.$_POST['plec'].' .</b>Wiek: <b>'.$_POST['wiek'].' .</b></p>
  11. '.$_POST['uwagi'].'</b>
  12.    </body>
  13.    </html>';
  14. $odbiorca='mojmail@poczta.fm';
  15. $tytul = 'Wiadomosc testowa_'$.dataa.'_'$_POST['podajimie'].'_'.$_POST['podajnazwisko'];
  16. $adresat = $_POST['podajemail'];
  17. $headers  = 'MIME-Version: 1.0' . "r\n";
  18. $headers .= 'Content-type: text/html; charset=iso-8859-1' . "r\n";
  19. $headers .= 'To: '.$_POST['podajimie']."r\n";
  20. $headers .= 'From: '.$adresat."r\n";
  21. mail($odbiorca,$tytul,$wiadomosc,$headers);
  22. ?>

Lecz wciąż nie działa.Gdzie tkwi błąd?
erix
  1. <?php
  2. $headers .= 'From: '.$adresat."r\n";
  3. ?>

A nie przypadkiem nadawca? tongue.gif Serwery ograniczają użycie dozwolonych maili nadawcy do tych na nich się znajdujących. Czyli musisz użyć skrzynki założonej na CBA.

I adresata podajesz w nagłówku To:.
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.