Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]błąd ale gdzie.?
Forum PHP.pl > Forum > Przedszkole
run3
Hej pomóżcie . mam formularz. Serwer az.pl niby powinien hulać i lipa . Nie widzę błędu a formularz nie chce zadziałać.
Plik ustawiania.php:

  1. [/php]
  2. <?php
  3.  
  4.  
  5. $adres_odbiorcy = 'test@test.pl';
  6.  
  7.  
  8.  
  9.  
  10.  
  11. $valid['nick'] = 2 ;
  12. $valid['mail'] = 1 ;
  13. $valid['temat'] = 3 ;
  14. $valid['tresc'] = 5 ;
  15.  
  16.  
  17.  
  18.  
  19.  
  20. $komunikat['sukces'] = 'Dziękujemy. Twoja wiadomość została wysłana.';
  21. $komunikat['blad'] = 'Wiadomość <b>NIE</b> została wysłana. Popraw poniższe błędy.';
  22. $komunikat['nick'] = 'Nick musi mieć min. 2 znaki.';
  23. $komunikat['mail'] = 'Podaj poprawny adres e-mail.';
  24. $komunikat['temat'] = 'Temat musi mieć min. 3 znaki.';
  25. $komunikat['tresc'] = 'Treść musi mieć min. 5 znaków';
  26. $komunikat['fail'] = 'Przepraszamy wystąpił chwilowy błąd. Spróbuj ponownie później';
  27.  
  28. ?>



  1. HTML sekcja from :
  2.  
  3.  
  4. <div class="formularz">
  5. <form method="post" action="mail.php">
  6.  
  7. <label>Imię i nazwisko</label>
  8. <input name="name" placeholder="Jan Kowalski">
  9.  
  10. <label>Email</label>
  11. <input name="email" type="email" placeholder="adres e-mail">
  12.  
  13. <label>Wiadomość</label>
  14. <textarea name="message" placeholder="Napisz tu wiadomość"></textarea>
  15.  
  16. <input id="submit" name="submit" type="submit" value="Wyślij">
  17.  
  18. </form>
  19.  
  20.  



  1. Plik mail.php
  2.  
  3.  
  4. <?php
  5.  
  6. include ('ustawienia.php');
  7.  
  8. include('formularz.php');
  9. $formularz = ob_get_contents();
  10.  
  11.  
  12. function wyswietl_forme($komunikat='') {
  13. global $formularz;
  14.  
  15. $do_zmiany = array(
  16. '#komunikat#',
  17. '#strona#',
  18. '#nick#',
  19. '#mail#',
  20. '#temat#',
  21. '#tresc#'
  22. );
  23. $zmien_na = array(
  24. $komunikat,
  25. $_SERVER['REQUEST_URI'],
  26. $_POST['nick'],
  27. $_POST['mail'],
  28. $_POST['temat'],
  29. $_POST['tresc']
  30. );
  31.  
  32. $formularz = str_replace ( $do_zmiany, $zmien_na, $formularz);
  33.  
  34. return $formularz;
  35. }
  36.  
  37.  
  38. function waliduj() {
  39. global $komunikat;
  40. global $valid;
  41.  
  42. if( $valid['nick'] > 0 ) {
  43. if(strlen($_POST['nick']) < $valid['nick'] ){
  44. $walidacja['nick'] = $komunikat['nick'];
  45. }
  46. }
  47.  
  48. if( $valid['mail'] == 1 ) {
  49. if(!filter_var($_POST['mail'],FILTER_VALIDATE_EMAIL)) {
  50. $walidacja['mail'] = $komunikat['mail'];
  51. }
  52. }
  53.  
  54. if( $valid['temat'] > 0 ) {
  55. if(strlen($_POST['temat']) < $valid['temat'] ){
  56. $walidacja['temat'] = $komunikat['temat'];
  57. }
  58. }
  59.  
  60. if( $valid['tresc'] > 0 ) {
  61. if(strlen($_POST['tresc']) < $valid['tresc'] ){
  62. $walidacja['tresc'] = $komunikat['tresc'];
  63. }
  64. }
  65.  
  66. if(empty($walidacja)) {
  67. return 'true';
  68. }else{
  69. return $walidacja;
  70. }
  71.  
  72. }
  73.  
  74.  
  75. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {/
  76. $walidacja = waliduj();
  77.  
  78. if ($walidacja == 'true'){
  79.  
  80. if(mail($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['temat'])."?=",'<p>Od: <b>'.$_POST['nick'].'</b></p><pre>'.$_POST['tresc'].'</pre>','From:'.$_POST['mail']."\r\nContent-Type: text/html; charset=utf-8")){
  81. <div id="sukces">
  82. <p>'.$komunikat['sukces'].'</p>
  83. </div>
  84. ';
  85. }else{
  86. print '
  87. <div id="blad">
  88. <p>'.$komunikat['fail'].'</p>
  89. </div>
  90. ';
  91. print wyswietl_forme();
  92. }
  93.  
  94. }else{
  95.  
  96. $blad_walidacji = $walidacja;
  97.  
  98. $blad_walidacji = '
  99. <div id="blad">
  100. <p>'.$komunikat['blad'].'</p>
  101. <ul>
  102. ';
  103. foreach ($walidacja as $wpis) {
  104. $blad_walidacji .= '<li>'.$wpis.'</li>';
  105. }
  106. $blad_walidacji .= '
  107. </ul>
  108. </div>
  109. ';
  110.  
  111. print wyswietl_forme($blad_walidacji);
  112. }
  113.  
  114. }else{
  115.  
  116. print wyswietl_forme();
  117. }
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124. ?>
  125.  



Gdzie leżę bo nie wiem
Kshyhoo
Dostosuj wątek do wymagań działu, inaczej zamknę...
viking
Inne nazwy zmiennych w formularzu i przy walidacji. Włącz raportowanie błędów i zobacz konkretnie czy jest jakiś błąd.
run3
Nazwy zmieniłem pojawia się tylko że błąd Lini 74.

Parse error: syntax error, unexpected '/' in /home/na195694/public_html/mail.php on line 74

Dzięki za wrócenia na nazwy bo zmęczony i już nie widziałem smile.gif
viking
No i widzisz, sam sobie odpowiedziałeś gdzie poprawić
  1. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {/
Po klamrze jest /

Gdybyś używał jakiś edytor porządny takie błędy są automatem zaznaczane.

A tutaj: return 'true'; jesteś pewien że chcesz zwracać string a nie bool?
run3
Dzieki . Faktycznie co dwoje oczy to nie jedno. zmęczony ślepy byłem. Poprawiłem ścieżki smile.gifsmile.gif i działa walidacja wszystko . Capcha też więc podziękować za zwrócenie tak banalnego błędu.

Pozdrawiam
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.