ďťż

[PHP] Zmienne przesyłane z formularza

       

Podstrony


telcocafe

Mam taki kodzik:
Jest on przesyłany z pliku z formularzem. Dlaczego jak daję zmienną przesłaną Postem ($_POST['tresc']), to wywala mi błąd, a jak pozbędę się tych globalnych i dam $tresc to wszytko jest ok. Dlaczego globalne wywalają bład?
<?php $plik = "plik.txt"; $zamien = array( '@', '.' ); $na = array( '[at]', '[dot]' ); $email_pop = str_replace( $zamien, $na, $email ); $imie = strip_tags($imie); $www = strip_tags($www); $email = strip_tags($email); $tresc = strip_tags($tresc); $email_pop = strip_tags($email_pop); if ($imie && $email && $tresc !== '') { fputs (fopen("$plik", "a+"), "<table cellspacing=0 cellpadding=0 width=90% bgcolor=#50B070> <tr> <td><font size=2 face=verdana>$_POST['tresc']</font></td> </tr> <tr> <td>&nbsp;<font size=2><b>$imie</b>&nbsp;<b></font><br> </b>&nbsp;<a href=$www><font size=2 color=darkblue>$_POST['www']</font></a>&nbsp;<b>|| </b>&nbsp;<a href=mailto:$email><font size=2 color=darkblue>$email_pop</font></a>&nbsp;<b>||<br> </b>&nbsp;".date("<font color='gray' size='2'><b>H:i:s j-M-y</b></font>")."</td> </tr> </table><br>"); fclose(fopen($plik, "a+")); echo ('<center><table width="65%" style="border: 1mm solid green"><tr><td><font color="green"><b><center>Wiadomość została zapisana</center></b></font></td></tr></table></center>' ); } else { echo('<center><table width="65%" style="border: 1mm solid red"><tr><td><font color="red"><b><center>Wiadomość nie została zapisana. Wypełnij wszytkie pola!</center></b></font></td></tr></table></center>' ); } ?>

Beldzio down@

Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING in /usr/local/apache/www/htdocs/mackowiak.net.pl/test/dopisz.php on line 25

Linia 25 to jest tu gdzie jest ten kod:
<td><font size=2 face=verdana>$_POST['tresc']</font></td>
Użytkownik sauron edytował ten post 21 lipiec 2006, 19:20


jaki błąd?

to nie jest przypadkiem ta linia?
</b>&nbsp;".date("<font color='gray' size='2'><b>H:i:s j-M-y</b></font>")."</td>
popraw na
</b>&nbsp;".date('<font color=\'gray\' size=\'2\'><b>H:i:s j-M-y</b></font>')."</td>
(nie sprawdzałem)


to nie jest przypadkiem ta linia?
Nie. Ja nie dałem całego kodu (razem z HTML) tylko sam PHP, więc błąd jest w linii gdzie jest kod:
<td><font size=2 face=verdana>$_POST['tresc']</font></td>
Użytkownik sauron edytował ten post 21 lipiec 2006, 21:57



Nie. Ja nie dałem całego kodu (razem z HTML) tylko sam PHP, więc błąd jest w linii gdzie jest kod:
<td><font size=2 face=verdana>$_POST['tresc']</font></td>


Spróbuj:

<td><font size=2 face=verdana>$_POST[tresc]</font></td>

czyli nazwa zmiennej post bez apostrofów ;)

Albo:
<td><font size=2 face=verdana>{$_POST['tresc']}</font></td>

Lekturka na dobranoc...
Użytkownik .:DzIuDek:. ™ edytował ten post 21 lipiec 2006, 22:19
twój kod:
<td><font size=2 face=verdana>$_POST['tresc']</font></td>

jak przypuszczam wygląda tak:
echo "... <td><font size=2 face=verdana>$_POST['tresc']</font></td> ...";
lub podobnie wkazdym razie parser nie przerobi ci kodu ze zmienną POST zapisaną w ten sposób. najlepiej wyskocz na moment z echo aby dołączyć zmienną - to przyspieszy działanie skryptu bo sie parser nie będzie zastanawiał czy to zmienna czy nie.
czyli:
echo '... <td><font size=2 face=verdana>'.$_POST['tresc'].'</font></td> ...';

Sposób .:DzIuDek:. 'tka zadziałał. (Bez apostrofów)
:)
Dzięki za pomoc i lekturkę ;)
Użytkownik sauron edytował ten post 22 lipiec 2006, 19:15
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • nvm.keep.pl

  • Sitedesign by AltusUmbrae.