unexpected "}" in line... bla bla bla...

Status
Niet open voor verdere reacties.

ginojo

Gebruiker
Lid geworden
7 sep 2010
Berichten
912
halllo allemaal.

Ik ben bezig om een website te maken in zo min mogelijk pagina's. dit doe ik met:
PHP:
} if (basename($_SERVER['QUERY_STRING']) == "con") {
(dan gaat ie naar de CONtact pagina.)

maar nu zit ik met een fout. hij zegt dat er een onverwachte "}" in zit terwijl ik van mening ben dat deze } er wel in hoort... :confused:
de code:
PHP:
...
<?php } else if (basename($_SERVER['QUERY_STRING']) == "sendm") { ?>
	$naar = "mailadres@me.nl";
	$email = $_POST['48TSG6R8G69R8'];
	$name = $_POST['GR4D5G43XR836GR'];
	$ip = getenv('REMOTE_ADDR'); 
	$tijd = time();
	$datum = strftime("%d/%m/%y %H:%M", $tijd);
	$bericht1232 = nl2br($_POST['WE8AR4WE684A64P']);
	if (empty($name)) {  ?>  
		<meta http-equiv="refresh" content="0; url=index.php?err433">
	<?php } else if (empty($email)) {  ?>
		<meta http-equiv="refresh" content="0; url=index.php?err438">
	<?php } else if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["48TSG6R8G69R8"])) {  ?>
		<meta http-equiv="refresh" content="0; url=index.php?err453">
	<?php }  else  {  
            	$bericht = " 
	<html> 
	<head> 
	  <title>titel</title> 
	</head> 
	<body> 
	bericht<br />
	  <br />Bedankt,</body> 
	</html> 
	";
	            $bericht1 = " 
	<html> 
	<head> 
	  <title>titel</title> 
	</head> 
	<body> 
	bericht2	  <br />
  <br />Bedankt</body> 
</html> 
";  
$ond34 = "onderwerp";
            $headers = "MIME-Version: 1.0\r\n";  
            $headers.= "Content-type: text/html; charset=iso-8859-1\r\n";  
            $headers.= "From: titel <antwadrr@me.com>\r\n";
            if(mail($email,$ond34,$bericht,$headers))
            {  ?>
<meta http-equiv="refresh" content="0; url=index.php?suc6">
         <?php   }  
            else
            {  ?>
<meta http-equiv="refresh" content="0; url=index.php?err430">
         <?php   }  
            $ond = "RE:$datum";
            $headers1 = "MIME-Version: 1.0\r\n";  
            $headers1.= "Content-type: text/html; charset=iso-8859-1\r\n";  
            $headers1.= "From: $name <$email>\r\n";
            if (mail($naar,$ond,$bericht1,$headers1))
            {  
                 
            }  
            else            {  
                
            } 
} //Deze is fout volgens hem... 
 } else if (basename($_SERVER['QUERY_STRING']) == "err433") { ?>
<h1><big>Oeps...</big></h1>  
....
je ziet denk ik wel dat dit slechts een klein stukje is van de code. Ik denk dat dit ook wel genoeg is. Maar mocht dit niet voldoende zijn, dan plaatst ik wel meer van de pagina.

Maar kan iemand mij hiermee helpen? ik zie het niet meer. :(


Alvast bedankt,
Ginojo
 
maak de code wat overzichtelijker en ga zo te werk, dan zal je geen last meer hebben van deze foutjes:
Code:
if(asdfsd)
{
    iets
    nog iets
    if(iets anders)
    {
         totaal iets anders
    }
}
else if(huppelepup)
{    
    84853
}
als je hier een fout zou maken dan valt dat meteen op dat de tabjes niet kloppen. ;)
 
nou, dat heb ik gedaan... was echt een rot klusje, maar hij klopt volgens mij nog steeds. maar volgens de browser niet.:mad:
de opgeschoonde code
PHP:
...
<?php } else if (basename($_SERVER['QUERY_STRING']) == "sendm") { ?>
	$naar = "mail@gmail.com";
	$email = $_POST['48TSG6R8G69R8'];
	$name = $_POST['GR4D5G43XR836GR'];
	$ip = getenv('REMOTE_ADDR'); 
	$tijd = time();
	$datum = strftime("%d/%m/%y %H:%M", $tijd);
	$bericht1232 = nl2br($_POST['WE8AR4WE684A64P']);
	if (empty($name)) {  ?>  
		<meta http-equiv="refresh" content="0; url=index.php?err433">
	<?php } else if (empty($email)) {  ?>
			<meta http-equiv="refresh" content="0; url=index.php?err438">
	<?php } else if(!eregi("^[_a-z0-9-]+(.[_a-z0-9-]+)*@[a-z0-9-]+(.[a-z0-9-]+)*(.[a-z]{2,4})$", $_POST["48TSG6R8G69R8"])) {  ?>
			<meta http-equiv="refresh" content="0; url=index.php?err453">
	<?php }  else  {  
        	$bericht = " 
			<html> 
			<head> 
			<title>titel</title> 
			</head> 
			<body> 
			Hallo <br />
			<br />Bedankt,<br>
			</body> 
			</html> 
		";
	       	$bericht1 = " 
			<html> 
			<head> 
	 		<title>Contact</title> 
			</head> 
			<body> 
			bericht<br />
  			<br />Bedankt,
			</body> 
			</html> 
		";  
		$ond34 = "onderwerp";
            	$headers = "MIME-Version: 1.0\r\n";  
            	$headers.= "Content-type: text/html; charset=iso-8859-1\r\n";  
            	$headers.= "From: naam <email>\r\n";
            	if(mail($email,$ond34,$bericht,$headers)) {  ?>
			<meta http-equiv="refresh" content="0; url=index.php?suc6">
         	<?php } else {  ?>
			<meta http-equiv="refresh" content="0; url=index.php?err430">
         	<?php }  
		$ond = "RE:$datum";
            	$headers1 = "MIME-Version: 1.0\r\n";  
            	$headers1.= "Content-type: text/html; charset=iso-8859-1\r\n";  
            	$headers1.= "From: $name <$email>\r\n";
		if (mail($naar,$ond,$bericht1,$headers1)) {  
                } else {  
                } 
	}
} ?>
<? php if (basename($_SERVER['QUERY_STRING']) == "err433") { ?>
	<h1><big>Oeps...</big></h1>  
        <br /><p>Er is iets mis gegaan. U heeft geen naam ingevuld. Kijk uw naam goed na.<br /><br /><a href='javascript:history.back();' style='color: black; text-decoration:none;'>U kunt hier klikken om naar de vorige pagina te gaan.</a>  </p>
...
en weer geeft ie die fout aan... :(

ideeën? ginojo
 
Als je nu eens de volledige foutmelding geeft (ook het regelnummer) :)

Ik zie trouwens ook dat op regel 57 van de code die je hier geeft er een spatie zit tussen "<?" en "php", mss ook een idee om die weg te halen.
 
Op regel 2 sluit je de php code af met een ?> en op 9+1 weer (nummering van helpmij heeft kuren) ter wijl je hem daartussen nergens meer met een <?php opent
 
:o:o:o:o:o:o

owww..... slordig... :(
en btw. ik kreeg geen foutmelding. ;) dat maakte het dus zo moeilijk. ik moest hem op een andere server laten draaien om er nog een foutmelding uit te krijgen. :shocked:
Maar allemaal heel erg bedankt!!! ik ga het morgen poberen.. :thumb:
jullie horen nog van me als het niet lukt. Maar dat lijkt me sterk. :P

ginojo
 
en btw. ik kreeg geen foutmelding. dat maakte het dus zo moeilijk. ik moest hem op een andere server laten draaien om er nog een foutmelding uit te krijgen.

Om ervoor te zorgen dat je elke foutmelding en waarschuwing van PHP afvangt en weergeeft kan je de volgende code plaatsten.

PHP:
error_reporting(E_ALL);
ini_set('display_errors', '1');

Deze twee regels moet je HELEMAAL bovenaan het PHP-script plaatsen om alles goed af te kunnen vangen.


Groeten vreugde
 
Nee, dat werkte ook niet. Maar het is gelukt! Bedankt allemaal
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan