Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]konfiguracja kodu php
Forum PHP.pl > Forum > Przedszkole
pawel9933
Hej,

Jstem osobą raczkującą w sprawach php i potrzebuje pomocy. W związu ze zmianami spamowymi przez home.pl mój formularz php nie działa i prosiłbym o pomoc w jego konfiguracji.
  1. <?php
  2.  
  3.  
  4. include ('ustawienia.php');
  5.  
  6. include('formularz.php');
  7. $formularz = ob_get_contents();
  8.  
  9.  
  10. function wyswietl_forme($komunikat='') {
  11. global $formularz;
  12.  
  13. $do_zmiany = array(
  14. '#komunikat#',
  15. '#strona#',
  16. '#nick#',
  17. '#mail#',
  18. '#temat#',
  19. '#tresc#'
  20. );
  21. $zmien_na = array(
  22. $komunikat,
  23. $_SERVER['REQUEST_URI'],
  24. $_POST['nick'],
  25. $_POST['mail'],
  26. $_POST['temat'],
  27. $_POST['tresc']
  28. );
  29.  
  30. $formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);
  31.  
  32. return $formularz;
  33. }
  34.  
  35.  
  36. function waliduj() {
  37. global $komunikat;
  38. global $valid;
  39.  
  40. if( $valid['nick'] > 0 ) {
  41. if(strlen($_POST['nick']) < $valid['nick'] ){
  42. $walidacja['nick'] = $komunikat['nick'];
  43. }
  44. }
  45.  
  46. if( $valid['mail'] == 1 ) {
  47. if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
  48. $walidacja['mail'] = $komunikat['mail'];
  49. }
  50. }
  51.  
  52. if( $valid['temat'] > 0 ) {
  53. if(strlen($_POST['temat']) < $valid['temat'] ){
  54. $walidacja['temat'] = $komunikat['temat'];
  55. }
  56. }
  57.  
  58. if( $valid['tresc'] > 0 ) {
  59. if(strlen($_POST['tresc']) < $valid['tresc'] ){
  60. $walidacja['tresc'] = $komunikat['tresc'];
  61. }
  62. }
  63.  
  64. if(empty($walidacja)) {
  65. return 'true';
  66. }else{
  67. return $walidacja;
  68. }
  69.  
  70. }
  71.  
  72. // Działanie
  73. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {// wejście postem
  74. $walidacja = waliduj();
  75.  
  76. if ($walidacja == 'true'){ //poprawnie wypełniony formularz
  77.  
  78. if(mail($adres_odbiorcy,"=?UTF-8?B?".base64_encode
  79.  
  80. ($_POST['temat'])."?=",'<p>Od: <b>'.$_POST['nick'].'</b></p><pre>'.$_POST
  81.  
  82. ['tresc'].'</pre>','From:'.$_POST['mail']."\r\nContent-Type: text/html;
  83.  
  84. charset=utf-8") ,-f biuro@szkolakomputera.pl){ //sukces
  85. <div id="sukces">
  86. <p>'.$komunikat['sukces'].'</p>
  87. </div>
  88. ';
  89. }else{ //bląd serwera
  90. print '
  91. <div id="blad">
  92. <p>'.$komunikat['fail'].'</p>
  93. </div>
  94. ';
  95. print wyswietl_forme();
  96. }
  97.  
  98. }else{
  99. //błędna walidacja
  100. $blad_walidacji = $walidacja;
  101.  
  102. $blad_walidacji = '
  103. <div id="blad">
  104. <p>'.$komunikat['blad'].'</p>
  105. <ul>
  106. ';
  107. foreach ($walidacja as $wpis) {
  108. $blad_walidacji .= '<li>'.$wpis.'</li>';
  109. }
  110. $blad_walidacji .= '
  111. </ul>
  112. </div>
  113. ';
  114.  
  115. print wyswietl_forme($blad_walidacji);
  116. }
  117.  
  118. }else{
  119. // nowe wejście
  120. print wyswietl_forme();
  121. }
  122.  
  123. ?>
Daimos
nie działa, tzn że po wysłaniu wyłącza Ci się komputer? Konkretnie, w czym problem, co się dzieje, błędy itp.
trueblue
Zajrzyj w dokumentację: http://php.net/manual/pl/function.mail.php (opis użycia i przykład 3).
pawel9933
wywala błąd, że wiadomoć nie została wysłana, z informacji na home.pl
Cytat
WAŻNE! Adres e-mail nadawcy zawarty w nagłówku wiadomości musi istnieć w ramach konta, do którego nastąpiła autoryzacja. W przeciwnym wypadku wysyłka wiadomości nie zostanie zrealizowana. Dotyczy to programów pocztowych oraz skryptów, które obsługują wysyłkę wiadomości e-mail.nika że trzeba dodatkowy parametr odać aby wysyłany mail miał funkcje



niestety nie wiem jk to wprowadzić w swoi kodzie.
kayman
adres odbiorcy ze strony to Ty nadawcy też Ty smile.gif

'From:'.$_POST['mail'] -> żle

'From:'.biuro@szkolakomputera.pl -> dobrze jeżeli taki adres jest na home

'Reply-To: ' . $_POST['mail'] by odpowiedzieć nadawcy np z programu pocztowego

Kod
if($_SERVER['REQUEST_METHOD'] == 'POST') {
      
        $mail = trim(strip_tags($_POST['mail']));
        $name = trim(strip_tags($_POST['name']));
        $message = trim(strip_tags($_POST['message']));

        $header = 'From: kontakt@strona.pl' . PHP_EOL;
        $header .= "MIME-Version: 1.0" . PHP_EOL;
        $header .= "Content-type: text/html; charset=UTF-8" . PHP_EOL;
        $header .= 'Reply-To:' . $mail;

        $tresc = '<html><head><title>Wiadomość e-mail</title></head><body>';
        $tresc .='<p>Wiadomość od: ' . $name . ' <a href="mailto:' . $mail . '">' . $mail . '</a></p>';
        $tresc .='<p><b>Treść wiadomości:</b></p>';
        $tresc .='<p>' . $message . '</p>';
        $tresc .='</body></html>';

        $title = 'Wiadomość ze strony strona.pl od: ' . $name;

        mail('kontakt@strona.pl', $title, $tresc, $header);
        
    
        
}


e:/ to działa na home smile.gif
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.