Autor | Zpráva | ||
---|---|---|---|
Sifik Profil * |
#1 · Zasláno: 25. 5. 2008, 16:59:15
Ahoj snažím se o formulář posílaný na mail s přílohou a hlásí mi to chybu na řádku 140 a nevím je je špatně ( chyba: Parse error: syntax error, unexpected '}' in /home/free/ic.cz/a/akvaportal/root/www/sendform.php on line 140), když tu závorku smažu tak to nepomůže! co s tím ???
<? // ------------------------------------------ // -- Script pro odeslání formuláře mailem -- // -- (c) 2001 http://www.gpm.web4u.cz -- // ------------------------------------------ /* Povinné parametry: $komu ... adresa příjemce $email ... adresa odesílatele Nepovinné parametry: $predmet ... předmět mailu $nexturl ... stránka s poděkováním $backurl ... adresa stránky pro návrat $html ... Y/N - odeslat ve formátu HTML $soubor ... příloha mailu (pouze pro HTML formát) $@??? ... povinné položky pro odeslání v mailu začínají znakem @ $#??? ... nepovinné položky pro odeslání v mailu začínají znakem # */ require("../inc/functions.php"); if ($html == "Y") include("../inc/class.html.mime.mail.inc"); if (!$komu) $errlist .= ", Komu"; if (!$email) $errlist .= ", Email"; while (list($promenna, $hodnota) = each($_POST)) { if ((substr($promenna, 0, 1) == "@") && ($hodnota == "")) $errlist .= ", " . substr($promenna, 1); } // pokud nejsou vyplněny povinné parametry if ($errlist) { echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Nejsou vyplněny všechny požadované údaje:<br>"; echo "<b>".substr($errlist, 1)."</b></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; exit; // ukončíme zpracování scriptu } if ($html == "Y") { // pokud má být mail odeslán ve formátu HTML $telo = "<table>"; $telo .= "<tr><td><font color=\"Red\"><b>Email:</b></font></td><td> </td><td>$email</td>< /tr>"; reset($_POST); while (list($promenna, $hodnota) = each($_POST)) { // nahradíme konce řádků tagem <br> $hodnota = str_replace(chr(13) . chr(10), "<br>", $hodnota); $hodnota = str_replace(chr(10) . chr(13), "<br>", $hodnota); $hodnota = str_replace(chr(13), "<br>", $hodnota); $hodnota = str_replace(chr(10), "<br>", $hodnota); // pokud parametr začíná na # nebo *, tak zapsat hodnotu do textu mailu if (((substr($promenna, 0, 1) == "@") || (substr($promenna, 0, 1) == "#")) && ($hodnota != "")) { $telo .= "<tr><td valign=\"top\"><b>".substr($promenna, 1).":</b></td><td> </td><td>$hodnota</td></tr>"; } } $telo .= "</table>"; $telo .= "<p><hr></p>"; $telo .= "<p><b>Uživatelův browser:</b> $HTTP_USER_AGENT<br>"; $telo .= "<b>IP adresa, ze které přišel požadavek:</b> $REMOTE_ADDR</p>"; // odešleme mail ve formátu HTML $mail = new html_mime_mail("X-Mailer: Html Mime Mail Class"); // vložení přílohy, pokud je zadána if ($soubor_name) { if (copy ($soubor, "../temp/$soubor_name")) { $priloha = $mail->get_file("../temp/$soubor_name"); $mail->add_attachment($priloha, $soubor_name, $soubor_type); unlink("../temp/$soubor_name"); } } // odešleme mail ve formátu HTML $mail->add_html(ToISO($telo), ""); $mail->set_charset('iso-8859-2', TRUE); $mail->build_message(); $mail->send($komu, $komu, $email, $email, ToISO($predmet), "Return-Path: $email"); $sendok = true; // odeslat potvrzení usleep(500); $mail->send($email, $email, $email, $email, ToISO("Potvrzení - vyplnění formuláře"), "Return-Path: $email"); } else { // pokud má být mail odeslán ve formátu prostého textu $telo = "Email: $email\n"; // projdeme všechny přijaté parametry reset($_POST); while (list($promenna, $hodnota) = each($_POST)) { // nahradíme konce řádků znakem \n $hodnota = str_replace(chr(13) . chr(10), "\n", $hodnota); $hodnota = str_replace(chr(10) . chr(13), "\n", $hodnota); $hodnota = str_replace(chr(13), "\n", $hodnota); $hodnota = str_replace(chr(10), "\n", $hodnota); // pokud parametr začíná na # nebo *, tak zapsat hodnotu do textu mailu if (((substr($promenna, 0, 1) == "@") || (substr($promenna, 0, 1) == "#")) && ($hodnota != "")) { $telo .= substr($promenna, 1) . ": $hodnota\n"; } } // necháme si poslat označení uživatelova browsu a jeho IP $telo .= "\nUživatelův browser: $HTTP_USER_AGENT\n"; $telo .= "IP adresa, ze které přišel požadavek: $REMOTE_ADDR\n"; // odešleme mail funkcí mail() $sendok = mail($komu, ToISO($predmet), ToISO($telo), "From: $email\nReturn-Path: $email"); // odeslat potvrzení usleep(500); mail($email, ToISO("Potvrzení - vyplnění formuláře"), ToISO($telo), "From: $email\nReturn-Path: $email"); } // pokud byl mail odeslán v pořádku if ($sendok) { // přesměrujeme mail na stránku s poděkováním if ($nexturl != "") { echo "<script language=\"JavaScript1.2\"><!--\n"; echo "self.location=\"$nexturl\";\n"; echo "// -->\n"; echo "</script>"; } else { echo "<font size=\"6\"><b>Děkujeme!</b></font>"; echo "<p>Vaše zpráva byla v pořádku odeslána.</p>"; if ($backurl != "") { echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } else { echo "<p><a href='$s_backurl'>Návrat</a></p>"; } } } else { // pokud nebyl mail odeslán echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Některá ze služeb selhala. Zkuste to prosím později.<br>"; echo "V případě potíží kontaktujte: <a href='mailto:$komu'>$komu</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; }} else { // pokud byl script spuštěn bez parametrů echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Toto je skript, kterým se odesílají zprávy z formulářů.<br>"; echo "Nešahat! Být moje :-)</p>"; echo "<p>V případě potíží kontaktujte: <a href='mailto:webmaster@terc.cz'>webmaster@terc.cz</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; } ?> |
||
ShiraNai7 Profil |
#2 · Zasláno: 25. 5. 2008, 17:04:11
Na řádku 140 máš dvě složené závorky za sebou (}}), neměla by tam být jen jedna (}) ?
|
||
Matty Profil |
#3 · Zasláno: 25. 5. 2008, 17:04:31
Sifik
Na lajně 140 máš jednu } navíc: } else { // pokud nebyl mail odeslán echo "<font size=\"6\"><b>Chyba!</b></font>"; echo "<p>Některá ze služeb selhala. Zkuste to prosím později.<br>"; echo "V případě potíží kontaktujte: <a href='mailto:$komu'>$komu</a></p>"; echo "<p><a href='javascript:history.go(-1)'>Zpět</a></p>"; }} else { |
||
Sifik Profil * |
#4 · Zasláno: 25. 5. 2008, 17:15:48
ale když jí smažu tak to napíše: Parse error: syntax error, unexpected T_ELSE in /home/free/ic.cz/a/akvaportal/root/www/sendform.php on line 141
|
||
Sifik Profil * |
#5 · Zasláno: 25. 5. 2008, 17:20:52
co s tím?
|
||
Joker Profil |
#6 · Zasláno: 25. 5. 2008, 17:25:15
Sifik
ale když jí smažu tak to napíše: Parse error: syntax error, unexpected T_ELSE in /home/free/ic.cz/a/akvaportal/root/www/sendform.php on line 141 No protože ta jedna složená závorka nekončí nic (je tam navíc) a ta druhá končí blok ELSE, takže za tím následuje další ELSE, ke kterému není odpovídající IF |
||
Sifik Profil * |
#7 · Zasláno: 25. 5. 2008, 17:29:08
takže co mám udělat?
|
||
Časová prodleva: 16 let
|
0