Autor Zpráva
Sifik
Profil *
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>&nbsp;</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>&nbsp;</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
Na řádku 140 máš dvě složené závorky za sebou (}}), neměla by tam být jen jedna (}) ?
Matty
Profil
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 *
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 *
co s tím?
Joker
Profil
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 *
takže co mám udělat?

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: