Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz e-mail
Forum PHP.pl > Forum > PHP
Gregory.
Witam,
mam problem z formularzem e-mail. Kiedy usiłuję wysłać wiadomość pod wskazany adres wyskakuje mi błąd:
Parse error: syntax error, unexpected T_ELSE in /var/www/sites/yoyo.pl/b/u/bulding/mail/mail.php on line 4
Formularz jest dostępny pod tym adresem: http://www.bulding.yoyo.pl/mail/mail.php

» Poniżej pliki: mail.html, style.css, mail.php

  1. <?php
  2.  
  3. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  4. else if $_POST['tresc'] && $_POST['imie'] && $_POST['telefon'] && $_POST['firma'] && $_POST['email'] {
  5.    // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  6.    // zmienna $message zawiera treść wiadomości
  7.    $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\nTelefon: $_POST[telefon]\nFirma: $_POST[firma]";
  8.    // zmienna $header zawiera przede wszystkim adres zwrotny
  9.    $header = "From: $_POST[imie] <$_POST[email]> <$_POST[telefon]> <$_POST[firma]>";
  10.    // funkcja mail() za pomocą której wiadomość zostanie wysłana
  11.    @mail("gregory512@wp.pl","Wiadomosc ze strony WWW","$message","$header")
  12.    or die('Nie udało się wysłać wiadomości');
  13.    // wyświetlenie komunikatu w przypadku powodzenia
  14.    echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  15. }
  16. // lub w przypadku nie wypełnienia formularza do końca
  17. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  18.  
  19. ?>



  1. <link rel="stylesheet" type="text/css" href="style.css" media="screen" />
  2.  
  3. <span class="tekst">
  4.  
  5. <div>
  6. <form action="mail.php" method="post">
  7. <table border="0" align="center">
  8. <tr>
  9. <td><font class="tekst">Imię i nazwisko</font></td>
  10. <td><input type="text" name="imie" style="width: 250px" class="ramka"></td>
  11. </tr>
  12. <tr>
  13. <td><font class="tekst">Adres e-mail</font></td>
  14. <td><input type="text" name="email" style="width: 250px" class="ramka"></td>
  15. </tr>
  16. <tr>
  17. <td><font class="tekst">Telefon</font></td>
  18. <td><input type="text" name="telefon" style="width: 250px" class="ramka"></td>
  19. </tr>
  20. <tr>
  21. <td><font class="tekst">Firma</font></td>
  22. <td><input type="text" name="firma" style="width: 250px" class="ramka"></td>
  23. </tr>
  24. <tr>
  25. <td><font class="tekst">Treść wiadomości</font></td>
  26. <td><textarea name="tresc" style="width: 250px; height: 100px" class="ramka"></textarea></td>
  27. </tr>
  28. <td> </td>
  29. <td><input type="submit" name="submit" value="Wyślij"> 
  30. <input type="reset" value="Od nowa"></td></form>
  31. </tr>
  32. </table>
  33. </div>
  34. </html>
  35.  
  36. -------> CSS <-------
  37.  
  38. .ramka {
  39. BORDER-RIGHT: #A2A2A2 1px solid;
  40. BORDER-TOP: #A2A2A2 1px solid;
  41. BORDER-LEFT: #A2A2A2 1px solid;
  42. BORDER-BOTTOM: #A2A2A2 1px solid FONT-SIZE: 10px;
  43. COLOR: #717171;
  44. FONT-FAMILY: verdana, arial, helv;
  45. TEXT-DECORATION: none
  46. }
  47.  
  48. .rama a {
  49. border: 1px Solid #A2A2A2;
  50. }
  51.  
  52. .rama a:hover {
  53. border: 1px Solid #000;
  54. }
  55.  
  56.  
  57. input {
  58. FONT-SIZE: 10px;
  59. COLOR: black;
  60. BACKGROUND-COLOR: #FFF;
  61. }
  62.  
  63. TEXTAREA {
  64. FONT-SIZE: 10px;
  65. COLOR: black;
  66. FONT-FAMILY: Arial, Verdana;
  67. BACKGROUND-COLOR: white
  68. }
  69.  
  70. .tekst {
  71. color: #000;
  72. font-size: 12px;
  73. font-family: Verdana;
  74. font-weight: normal;
  75. text-align: right;
  76. }


Z góry dziękuję z pomoc i pozdrawiam!
Fifi209
Kod wklej tutaj w odpowiednie tagi. Nikt nie będzie tego ściągał przecież.
Komunista
Nie else if tylko if(...)

edit: ale na przyszłość wklejaj... mi się akurat nudziło, ale innym nie musi się chcieć ściągać
mac_fly
  1. <?php
  2.  
  3. // sprawdzamy, czy zmienne przesłane z formularza nie są puste
  4. if $_POST['tresc'] && $_POST['imie'] && $_POST['telefon'] && $_POST['firma'] && $_POST['email'] {
  5.    // jeżeli powyższy warunek jest spełniony tworzona jest wiadomość
  6.    // zmienna $message zawiera treść wiadomości
  7.    $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\nTelefon: $_POST[telefon]\nFirma: $_POST[firma]";
  8.    // zmienna $header zawiera przede wszystkim adres zwrotny
  9.    $header = "From: $_POST[imie] <$_POST[email]> <$_POST[telefon]> <$_POST[firma]>";
  10.    // funkcja mail() za pomocą której wiadomość zostanie wysłana
  11.    @mail("gregory512@wp.pl","Wiadomosc ze strony WWW","$message","$header")
  12.    or die('Nie udało się wysłać wiadomości');
  13.    // wyświetlenie komunikatu w przypadku powodzenia
  14.    echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  15. }
  16. // lub w przypadku nie wypełnienia formularza do końca
  17. else echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  18.  
  19. ?>
Gregory.
Cytat(Komunista @ 14.06.2009, 14:19:17 ) *
Nie else if tylko if(...)

OK zaraz sprawdzę.

Ps. 1,54 KB to chyba nie dużo.
MicNeo
Sprobuj tak:
  1. <?php
  2.  
  3.    if ($_POST['tresc'] && $_POST['imie'] && $_POST['telefon'] && $_POST['firma'] &&
  4.            $_POST['email']) {
  5.  
  6.            $message = "Treść wiadomości:\n$_POST[tresc]\nWysłał: $_POST[imie]\ne-mail: $_POST[email]\nTelefon: $_POST[telefon]\nFirma: $_POST[firma]";
  7.  
  8.            $header = "From: $_POST[imie] <$_POST[email]> <$_POST[telefon]> <$_POST[firma]>";
  9.  
  10.            @mail("gregory512@wp.pl", "Wiadomosc ze strony WWW", "$message", "$header") or
  11.                    die('Nie udało się wysłać wiadomości');
  12.  
  13.            echo "<div align=\"center\"><strong>Wiadomość została wysłana poprawnie!</strong></div>";
  14.    } else
  15.            echo "<span style=\"color: #FF0000; text-align: center;\">Wypełnij wszystkie pola formularza!</span>";
  16.  
  17. ?>
Gregory.
Dzięki MicNeo. Wszystko działa.
MicNeo
Spoko. Tak na przyszłość, pamiętaj, że wszystkie pętle mają taką składnie:
  1. <?php
  2. if (WARUNEK) {
  3. INTRUKCJE;
  4. }
  5. ?>


{ i } nie sa koneiczne, jeżeli jest jedna instrukcja (jedno linijkowa).
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.