Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z formularzem
Forum PHP.pl > Forum > PHP
DeoNPL
Witam.
Mam sobie plik mail.php który jest odwołaniem po wykonaniu maila (http://clanpl.pl/formularz).
Po wpisaniu wszystkich danych na test wyskakuje mi taki błąd:
  1. <?php
  2. include ('ustawienia.php');
  3.  
  4. include('formularz.php');
  5. $formularz = ob_get_contents();
  6.  
  7.  
  8. function wyswietl_forme($komunikat='') {
  9. global $formularz;
  10.  
  11. $do_zmiany = array(
  12. '#komunikat#',
  13. '#strona#',
  14. '#nick#',
  15. '#gg#',
  16. '#wiek#',
  17. '#cosodsiebie#',
  18. '#tryb#',
  19. '#mikro#'
  20. );
  21. $zmien_na = array(
  22. $komunikat,
  23. $_SERVER['REQUEST_URI'],
  24. $_POST['nick'],
  25. $_POST['gg'],
  26. $_POST['wiek'],
  27. $_POST['cosodsiebie'],
  28. $_POST['tryb'],
  29. $_POST['mikro']
  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['gg'] > 0 ) {
  49. if(strlen($_POST['gg']) < $valid['gg'] ){
  50. $walidacja['gg'] = $komunikat['gg'];
  51. }
  52. }
  53.  
  54. if( $valid['tryb'] > 0 ) {
  55. if(strlen($_POST['tryb']) < $valid['tryb'] ){
  56. $walidacja['tryb'] = $komunikat['tryb'];
  57. }
  58. }
  59.  
  60. if( $valid['mikro'] > 0 ) {
  61. if(strlen($_POST['mikro']) < $valid['mikro'] ){
  62. $walidacja['mikro'] = $komunikat['mikro'];
  63. }
  64. }
  65.  
  66. if( $valid['wiek'] > 0 ) {
  67. if(strlen($_POST['wiek']) < $valid['wiek'] ){
  68. $walidacja['wiek'] = $komunikat['wiek'];
  69. }
  70. }
  71.  
  72. if( $valid['cosodsiebie'] > 0 ) {
  73. if(strlen($_POST['cosodsiebie']) < $valid['cosodsiebie'] ){
  74. $walidacja['cosodsiebie'] = $komunikat['cosodsiebie'];
  75. }
  76. }
  77.  
  78. if(empty($walidacja)) {
  79. return 'true';
  80. }else{
  81. return $walidacja;
  82. }
  83.  
  84. }
  85.  
  86. // Dzia?anie
  87. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {// wej?cie postem
  88. $walidacja = waliduj();
  89.  
  90. if ($walidacja == 'true'){ //poprawnie wype?niony formularz
  91.  
  92. if(mail($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['nic'])."?=","Od: ".$_POST['nick']."<pre>".$_POST['gg']."</pre>","<pre>".$_POST['tryb']."</pre>","<pre>".$_POST['mikro']."</pre>",$_POST['wiek'].$_POST['cosodsiebie']."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
  93. <div id="sukces">
  94. <p>'.$komunikat['sukces'].'</p>
  95. </div>
  96. ';
  97. }else{ //bl?d serwera
  98. print '
  99. <div id="blad">
  100. <p>'.$komunikat['fail'].'</p>
  101. </div>
  102. ';
  103. print wyswietl_forme();
  104. }
  105.  
  106. }else{
  107. //b??dna walidacja
  108. $blad_walidacji = $walidacja;
  109.  
  110. $blad_walidacji = '
  111. <div id="blad">
  112. <p>'.$komunikat['blad'].'</p>
  113. <ul>
  114. ';
  115. foreach ($walidacja as $wpis) {
  116. $blad_walidacji .= '<li>'.$wpis.'</li>';
  117. }
  118. $blad_walidacji .= '
  119. </ul>
  120. </div>
  121. ';
  122.  
  123. print wyswietl_forme($blad_walidacji);
  124. }
  125.  
  126. }else{
  127. // nowe wej?cie
  128. print wyswietl_forme();
  129. }
  130.  
  131. ?>

Mógł by mi ktoś napisać co jest źle ?
behu
Masz coś namieszane z apostrofami.


Popraw 94. linię na poniższą i zobacz czy działa.

  1. if(gg($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['wiek'])."?=",'Od: '.$_POST['nick'].'<pre>'.$_POST['gg'].'</pre>','<pre>'.$_POST['tryb'].'</pre>','<pre>'.$_POST['mikro'].'</pre>','<pre>'.$_POST['wiek'].'</pre>','<pre>'.$_POST['cosodsiebie'].'</pre>'."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
jang
Cytat(DeoNPL @ 30.10.2010, 22:26:31 ) *
  1. Parse error: syntax error, unexpected '<' in /home/skitzopl/public_html/formularz/mail.php on line 94

Mógł by mi ktoś napisać co jest źle ?

http://translate.google.com/translate_t?cl...20unexpected%20
  1. z lini 94 -> '</pre>',<pre>'

Wszystko ma być do pary, cudzysłowy również.
DeoNPL
behu teraz wyskoczyło
  1. Parse error: syntax error, unexpected '}' in /home/skitzopl/public_html/formularz/mail.php on line 126


jang zaraz sprawdzę bo nie ogarniam tego jak dodać do końca.
jang
linia 94:
  1. if(gg($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['wiek'])."?=","Od: ".$_POST['nick']."<pre>".$_POST['gg']."</pre>","<pre>".$_POST['tryb']."</pre>","<pre>".$_POST['mikro']."</pre>",$_POST['wiek'].$_POST['cosodsiebie']."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
DeoNPL
jang, dalej mi wyskakuje ten błąd:
  1. Parse error: syntax error, unexpected '}' in /home/skitzopl/public_html/formularz/mail.php on line 126
jang
Cytat(DeoNPL @ 31.10.2010, 00:45:12 ) *
jang, dalej mi wyskakuje ten błąd:
  1. Parse error: syntax error, unexpected '}' in /home/skitzopl/public_html/formularz/mail.php on line 126

To przestań mieszać w kodzie. Zanim odpisałem skrypt wyglądał prawie tak jak poniżej (prawie bo miałeś w nim błędy) a w międzyczasie znowu zmieniłeś kod z pierwszego posta i znowu namieszałeś. Zobacz linie 104 i 106 questionmark.gif? Dwa razy zamknięta klamra exclamation.gif! DO PARY miało być, a para to {} a nie }}{
  1. <?php
  2. include ('ustawienia.php');
  3.  
  4. include('formularz.php');
  5. $formularz = ob_get_contents();
  6.  
  7.  
  8. function wyswietl_forme($komunikat='') {
  9. global $formularz;
  10.  
  11. $do_zmiany = array(
  12. '#komunikat#',
  13. '#strona#',
  14. '#nick#',
  15. '#gg#',
  16. '#wiek#',
  17. '#cosodsiebie#',
  18. '#tryb#',
  19. '#mikro#'
  20. );
  21. $zmien_na = array(
  22. $komunikat,
  23. $_SERVER['REQUEST_URI'],
  24. $_POST['nick'],
  25. $_POST['gg'],
  26. $_POST['wiek'],
  27. $_POST['cosodsiebie'],
  28. $_POST['tryb'],
  29. $_POST['mikro']
  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['gg'] > 0 ) {
  49. if(strlen($_POST['gg']) < $valid['gg'] ){
  50. $walidacja['gg'] = $komunikat['gg'];
  51. }
  52. }
  53.  
  54. if( $valid['tryb'] > 0 ) {
  55. if(strlen($_POST['tryb']) < $valid['tryb'] ){
  56. $walidacja['tryb'] = $komunikat['tryb'];
  57. }
  58. }
  59.  
  60. if( $valid['mikro'] > 0 ) {
  61. if(strlen($_POST['mikro']) < $valid['mikro'] ){
  62. $walidacja['mikro'] = $komunikat['mikro'];
  63. }
  64. }
  65.  
  66. if( $valid['wiek'] > 0 ) {
  67. if(strlen($_POST['wiek']) < $valid['wiek'] ){
  68. $walidacja['wiek'] = $komunikat['wiek'];
  69. }
  70. }
  71.  
  72. if( $valid['cosodsiebie'] > 0 ) {
  73. if(strlen($_POST['cosodsiebie']) < $valid['cosodsiebie'] ){
  74. $walidacja['cosodsiebie'] = $komunikat['cosodsiebie'];
  75. }
  76. }
  77.  
  78. if(empty($walidacja)) {
  79. return 'true';
  80. }else{
  81. return $walidacja;
  82. }
  83.  
  84. }
  85.  
  86. // Dzia�anie
  87. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {// wej�cie postem
  88. $walidacja = waliduj();
  89.  
  90. if ($walidacja == 'true'){ //poprawnie wype�niony formularz
  91.  
  92. if(gg($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['wiek'])."?=","Od: ".$_POST['nick']."<pre>".$_POST['gg']."</pre>","<pre>".$_POST['tryb']."</pre>","<pre>".$_POST['mikro']."</pre>",$_POST['wiek'].$_POST['cosodsiebie']."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
  93. <div id="sukces">
  94. <p>'.$komunikat['sukces'].'</p>
  95. </div>
  96. ';
  97. }else{ //bl�d serwera
  98. print '
  99. <div id="blad">
  100. <p>'.$komunikat['fail'].'</p>
  101. </div>
  102. ';
  103. print wyswietl_forme();
  104. }
  105.  
  106. }else{
  107. //b��dna walidacja
  108. $blad_walidacji = $walidacja;
  109.  
  110. $blad_walidacji = '
  111. <div id="blad">
  112. <p>'.$komunikat['blad'].'</p>
  113. <ul>
  114. ';
  115. foreach ($walidacja as $wpis) {
  116. $blad_walidacji .= '<li>'.$wpis.'</li>';
  117. }
  118. $blad_walidacji .= '
  119. </ul>
  120. </div>
  121. ';
  122.  
  123. print wyswietl_forme($blad_walidacji);
  124. }
  125.  
  126. }else{
  127. // nowe wej�cie
  128. print wyswietl_forme();
  129. }
  130.  
  131. ?>

i zacznij pisać nie na kartce ale w jakimś porządnym edytorze np. NetBeans, on Ci takie bzdety pokaże.
behu
Masz pomieszane if-else.


Spróbuj tak:
  1. <?php
  2. include ('ustawienia.php');
  3.  
  4. include('formularz.php');
  5. $formularz = ob_get_contents();
  6.  
  7.  
  8. function wyswietl_forme($komunikat='') {
  9. global $formularz;
  10.  
  11. $do_zmiany = array(
  12. '#komunikat#',
  13. '#strona#',
  14. '#nick#',
  15. '#gg#',
  16. '#wiek#',
  17. '#cosodsiebie#',
  18. '#tryb#',
  19. '#mikro#'
  20. );
  21. $zmien_na = array(
  22. $komunikat,
  23. $_SERVER['REQUEST_URI'],
  24. $_POST['nick'],
  25. $_POST['gg'],
  26. $_POST['wiek'],
  27. $_POST['cosodsiebie'],
  28. $_POST['tryb'],
  29. $_POST['mikro']
  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['gg'] > 0 ) {
  49. if(strlen($_POST['gg']) < $valid['gg'] ){
  50. $walidacja['gg'] = $komunikat['gg'];
  51. }
  52. }
  53.  
  54. if( $valid['tryb'] > 0 ) {
  55. if(strlen($_POST['tryb']) < $valid['tryb'] ){
  56. $walidacja['tryb'] = $komunikat['tryb'];
  57. }
  58. }
  59.  
  60. if( $valid['mikro'] > 0 ) {
  61. if(strlen($_POST['mikro']) < $valid['mikro'] ){
  62. $walidacja['mikro'] = $komunikat['mikro'];
  63. }
  64. }
  65.  
  66. if( $valid['wiek'] > 0 ) {
  67. if(strlen($_POST['wiek']) < $valid['wiek'] ){
  68. $walidacja['wiek'] = $komunikat['wiek'];
  69. }
  70. }
  71.  
  72. if( $valid['cosodsiebie'] > 0 ) {
  73. if(strlen($_POST['cosodsiebie']) < $valid['cosodsiebie'] ){
  74. $walidacja['cosodsiebie'] = $komunikat['cosodsiebie'];
  75. }
  76. }
  77.  
  78. if(empty($walidacja)) {
  79. return 'true';
  80. }else{
  81. return $walidacja;
  82. }
  83.  
  84. }
  85.  
  86. // Dzia3anie
  87. if (($_SERVER['REQUEST_METHOD'] == 'POST')) {// wejście postem
  88. $walidacja = waliduj();
  89. if($walidacja == 'true'){
  90. if(gg($adres_odbiorcy,"=?UTF-8?B?".base64_encode($_POST['wiek'])."?=",'Od: '.$_POST['nick'].'<pre>'.$_POST['gg'].'</pre>','<pre>'.$_POST['tryb'].'</pre>','<pre>'.$_POST['mikro'].'</pre>','<pre>'.$_POST['wiek'].'</pre>','<pre>'.$_POST['cosodsiebie'].'</pre>'."\r\nContent-Type: text/html; charset=utf-8")){ //sukces
  91. <div id="sukces">
  92. <p>'.$komunikat['sukces'].'</p>
  93. </div>
  94. ';
  95. }else{ //bląd serwera
  96. print '
  97. <div id="blad">
  98. <p>'.$komunikat['fail'].'</p>
  99. </div>
  100. ';
  101. print wyswietl_forme();
  102. }
  103.  
  104. }else{
  105. //b3edna walidacja
  106. $blad_walidacji = $walidacja;
  107.  
  108. $blad_walidacji = '
  109. <div id="blad">
  110. <p>'.$komunikat['blad'].'</p>
  111. <ul>
  112. ';
  113. foreach ($walidacja as $wpis) {
  114. $blad_walidacji .= '<li>'.$wpis.'</li>';
  115. }
  116. $blad_walidacji .= '
  117. </ul>
  118. </div>
  119. ';
  120.  
  121. print wyswietl_forme($blad_walidacji);
  122. }
  123. }else{
  124. // nowe wejście
  125. print wyswietl_forme();}
  126.  
  127. ?>


DeoNPL
jang, ok mój błąd. Po wstawieniu tego co dałeś wyskakuje coś takiego:
  1. Fatal error: Call to undefined function gg() in /home/skitzopl/public_html/formularz/mail.php on line 94
jang
Fatal error: Call to undefined function gg() -> http://phpedia.pl/wiki/Call_to_undefined_function:
DeoNPL
Ok dzięki jang i behu za pomoc.

Jang naprawiłem to co napisałeś znalazłem błąd a teraz wyskoczył kolejny >.<

  1. Warning: mail() expects at most 5 parameters, 6 given in /home/skitzopl/public_html/formularz/mail.php on line 94


Wkleję w pierwszym poście teraz plik mail.
Cysiaczek
Dość.

Zamykam, a Ciebie zapraszam do pisania o problemach z kodem a nie z samym sobą, czyli z lenistwem.
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.