Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Formularz kontaktowy
Forum PHP.pl > Forum > Przedszkole
Darnok017
Hejka

Przepraszam jeśli wybrałem zły dział itd. ale szukam pomocy.
Obsługuję pewną stronę WWW po jakimś gościu i nie działa na niej formularz kontaktowy.
Kod wygląda następująco
  1. <a name="form1"></a>
  2. {$tekstKontaktTekstNadFormularzem|stripslashes}<br />
  3. {if $kontaktKomunikat}
  4. <div>{$kontaktKomunikat}</div>{/if}
  5. <form name="kontaktfrm" id="kontaktfrm" method="post" action="#form1">
  6. <table border="0" cellspacing="0" cellpadding="0">
  7. <tr>
  8. <td class="ltd">{$wersja.t_imie_i_nazwisko} <span class="gwiazdka">*</span><br />
  9. <input name="nadawca" id="nadawca" class="{if $wyslano && not $rekord.nadawca}wym{else}inp{/if}" value="{$rekord.nadawca}" maxlength="64" type="text" tabindex="1" /></td>
  10. <td rowspan="3" class="rtd" valign="top">{$wersja.t_tresc_wiadomosci} <span class="gwiazdka">*</span><br />
  11. <textarea name="wiadomosc" id="wiadomosc" class="{if $wyslano && not $rekord.wiadomosc}wym{else}inp{/if}" tabindex="4">{$rekord.wiadomosc}</textarea></td>
  12. </tr>
  13. <tr>
  14. <td class="ltd">{$wersja.t_telefon} <span class="gwiazdka">*</span><br />
  15. <input name="telefon" id="telefon" class="{if $wyslano && not $rekord.telefon}wym{else}inp{/if}" value="{$rekord.telefon}" maxlength="24" type="text" tabindex="2" /></td>
  16. </tr>
  17. <tr>
  18. <td class="ltd">{$wersja.t_email} <span class="gwiazdka">*</span><br />
  19. <input name="poczta" id="poczta" class="{if $wyslano && not $rekord.poczta}wym{else}inp{/if}" value="{$rekord.poczta}" maxlength="64" type="text" tabindex="3" /></td>
  20. </tr>
  21. <tr>
  22. <td><span class="gwiazdka">*</span> - {$wersja.t_pola_wymagane}</td>
  23. <td align="right"><input type="hidden" name="http_referer" value="{$smarty.server.HTTP_REFERER|urlencode}" />
  24. <input type="submit" name="submit" value="" id="submit_{$wersja.lang}" /></td>
  25. </tr>
  26. </form>

Formularz wyrzuca komunikat że wiadomość nie została wysłana
IProSoft
Używaj kolorowania składni.
Podałeś kod szablonu, a nie funkcji odpowiedzialnej za wysłanie emaila.
Darnok017
  1. <?php
  2. $kontaktKomunikat = '';
  3.  
  4. $wymaganePola = array();
  5. $wymaganePola[] = 'nadawca';
  6. $wymaganePola[] = 'telefon';
  7. $wymaganePola[] = 'poczta';
  8. $wymaganePola[] = 'wiadomosc';
  9.  
  10. if(isset($_POST['submit']) || isset($_POST['submit_x'])){
  11. $wszystkoOK = true;
  12. foreach($wymaganePola as $zmienna => $wartosc){
  13. if(!$_POST[$wartosc]){
  14. //echo '$zmienna: '.$zmienna.' => $wartosc: '.$wartosc.'<br>';
  15. $wszystkoOK = false;
  16. }
  17. }
  18.  
  19. if(!$wszystkoOK){
  20. //Formularz - należy wypełnić wszystkie wymagane pola
  21. $idTekstu = 25;
  22. $sthText->execute();
  23. $row = $sthText->fetchAll(PDO::FETCH_ASSOC);
  24. $kontaktKomunikat = '<span class="error_mini">'.$row[0]['tresc'].'</span><br/><br/>';
  25. $wszystkoOK = false;
  26. }
  27.  
  28. if(isset($_POST['poczta']) && $_POST['poczta'] != '' && !sprawdzEmail($_POST['poczta'])){
  29. //Formularz - niepoprawny format adresu e-mail
  30. $idTekstu = 28;
  31. $sthText->execute();
  32. $row = $sthText->fetchAll(PDO::FETCH_ASSOC);
  33. $kontaktKomunikat = '<span class="error_mini">'.$row[0]['tresc'].'</span><br/><br/>';
  34. $wszystkoOK = false;
  35. }
  36.  
  37. if($wszystkoOK){
  38.  
  39. //$subject = WEBSITE.' - '.$inwestycja[0]['nazwa'].', kontakt';
  40. $subject = 'Zapytanie WWW, '.$inwestycja[0]['nazwa'].'';
  41.  
  42. //pre($subject);
  43.  
  44. $htmlText = '';
  45.  
  46. $htmlText .= '<br />
  47. '.date('Y-m-d H:i:s').'<br />
  48. <br />
  49. imię i nazwisko: '.$_POST['nadawca'].'<br />
  50. telefon: '.$_POST['telefon'].'<br />
  51. email: <a href="mailto:'. $_POST['poczta'] .'">'.$_POST['poczta'].'</a><br />
  52. <br />
  53. wiadomość: '.$_POST['wiadomosc'].'<br />
  54. <br />';
  55.  
  56. $htmlText = generujSzalbonEmail($htmlText, '600px');
  57. //pre($htmlText);
  58.  
  59. $sthUstawienia = $dbh->prepare('SELECT email_kontaktowy FROM '.PREFIX.'inwestycje WHERE id = :id');
  60. $sthUstawienia->bindParam(':id', $inwestycja[0]['id'], PDO::PARAM_STR, 50);
  61. $sthUstawienia->execute();
  62. $row = $sthUstawienia->fetchAll(PDO::FETCH_BOTH);
  63. $adresat = $row[0]['email_kontaktowy'];
  64.  
  65. $mail = new htmlMimeMail5();
  66. $mail->setHtml($htmlText);
  67. $mail->setFrom(EMAIL_RETURN_PATH);
  68. $mail->setSubject($subject);
  69. $mail->setReturnPath(EMAIL_RETURN_PATH);
  70.  
  71. $result = $mail->send(array($adresat));
  72. //$result = 0;
  73.  
  74. if($result){
  75. //Kontakt - wysłano wiadomość
  76. $idTekstu = 38;
  77. $_POST = array();
  78. }else{
  79. //Kontakt - nie wysłano wiadomości
  80. $idTekstu = 39;
  81. }
  82. $sthText->execute();
  83. $row = $sthText->fetchAll(PDO::FETCH_ASSOC);
  84. $kontaktKomunikat = '<span class="error_mini">'.$row[0]['tresc'].'</span><br/><br/>';
  85.  
  86.  
  87.  
  88. //przekieruj('#form');
  89. }
  90. }
  91.  
  92. $smarty->assign('kontaktKomunikat', $kontaktKomunikat);
  93.  
  94.  
  95. $rekord = array();
  96. foreach($_POST as $zmienna => $wartosc){
  97. $wartoscPola = isset($_POST[$zmienna]) ? $_POST[$zmienna] : $wartosc;
  98. //echo '$smarty->assign('.$zmienna.', '.$wartoscPola.');<br />';
  99. $rekord[$zmienna] = poprawZnakiWNazwie($wartoscPola);
  100. }
  101. $smarty->assign('rekord', $rekord);
  102.  
  103. if(isset($_POST['submit']) || isset($_POST['submit_x'])){
  104. $smarty->assign('wyslano', 1);
  105. }else{
  106. $smarty->assign('wyslano', 0);
  107. }
  108.  
  109.  
  110. //Kontakt - tekst nad formularzem
  111. $idTekstu = 121;
  112. $sthText->execute();
  113. $row = $sthText->fetchAll(PDO::FETCH_ASSOC);
  114. $smarty->assign('tekstKontaktTekstNadFormularzem', $row[0]['tresc']);
  115.  
  116.  
  117. ?>

to może to?
Przerzucam kody prosto z plików bo w php jestem zielony
piotrooo89
przenosze, proszę o umieszczanie kodów w odpowiednich tagach w przeciwnym razie zamknę.
Darnok017
Moim zdaniem w tej sekcji jest jakiś bubel...

  1. $mail = new htmlMimeMail5();
  2. $mail->setHtml($htmlText);
  3. $mail->setFrom(EMAIL_RETURN_PATH);
  4. $mail->setSubject($subject);
  5. $mail->setReturnPath(EMAIL_RETURN_PATH)
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.