• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Unexpected $end bei Kontaktformular

hardyzbest

Neues Mitglied
Hi,

dies ist meine rster Post, ich hoffe ich bin richtig.

Es geht um folgendes Kontaktformular:






<div class="kontakt rounded">
<form method='post' action=''>
<?php
$ueberschrift1['de']="Ihre daten";
$ueberschrift1['en']="Your Details";
$ueberschrift1['fr']="Your Details";
$ueberschrift2['de']="Nachricht abschicken";
$ueberschrift2['en']="Submit";
$ueberschrift2['fr']="Submit";
?>


<h3><?php echo $ueberschrift1[$_GET['lan']]; ?></h3>
<?php
include ("admin/tools/fckeditor/fckeditor.php");
$dateiname='kontaktformular.php';
$sqlfelder = "SELECT * from modul_kontaktformular where phpdatei='".$dateiname."' Limit 1 ";
$resultfelder = mysql_query($sqlfelder);
$felder = mysql_fetch_assoc($resultfelder);
$id=$felder['id'];
$nachrichtabgesendet=$felder['nachrichtabgesendet'];
$name=$felder['name'];
$captcha=$felder['captcha'];
if ($captcha==1){
$cryptinstall="plugins/kontaktformular/cryptographp.fct.php";
include $cryptinstall; }

$htmlmail=$felder['htmlmail'];
$emailsender=$felder['emailsender'];
$emailempfaenger=$felder['emailempfaenger'];
$senderadresse=$felder['senderadresse'];
$betreff=$felder['betreff'];
$fehler=false; // Initialisierung des Fehler-Flags
$product_id = mysql_escape_string($_GET['oberkategorie']);
$result = mysql_query("select name".$GLOBALS['sprache']." from navigation where id='".$product_id."' limit 1");
$row = mysql_fetch_assoc($result);
$product_name = $row['name'.$GLOBALS['sprache']];
foreach($_POST as $wert =>$value){

$result_post= mysql_query("select required from modul_kontaktformular_felder where id_kontaktformular='".$id."' and name = '".$wert."' ");
$row_post = mysql_fetch_assoc($result_post);
// echo $wert.":".$row_post['required']."<br/>";
if($value=="" && $row_post['required']==1 && $wert!='code'){



$fehler=true;
}

if($wert=="code"){

if (!chk_crypt($value)) $fehler = true;

}

}

if (!$fehler && $senderadresse!="" && isset($_POST['okokok'])){
echo $nachrichtabgesendet;
// Nachricht an den Kunden
$nachricht=gibtext($emailsender,$_GET['lan']);
$empfaenger = $senderadresse;
$bccarray = array();
$bccempfaenger = implode(",", $bccarray);
$optheader[] = "From: ".$senderadresse;
$optheader[] = "Reply-To: ".$senderadresse;
$optheader[] = "BCC: ".$bccempfaenger;
if ($htmlmail==1) $optheader[] = "Content-type: text/html; Charset=utf-8";
$header = implode("n", $optheader);
$extheader = "-f ".$senderadresse;
$austauche2 = "SELECT DISTINCT name from modul_kontaktformular_felder where id_kontaktformular='".$id."' ";
$austauche1 = mysql_query($austauche2);
while ($austauche = mysql_fetch_assoc($austauche1)){
$nachricht=str_replace("!".$austauche['name']."!",$_POST[$austauche['name']],$nachricht);
}
mail($empfaenger, $betreff, $nachricht, $header, $extheader);


// Nachricht an den Kunden
$nachricht=gibtext($emailempfaenger,$_GET['lan']);
$empfaenger = $_POST['EMAIL'];
$bccarray = array();
$bccempfaenger = implode(",", $bccarray);
$optheader[] = "From: ".$_POST['EMAIL'];
$optheader[] = "Reply-To:".$_POST['EMAIL'];
$optheader[] = "BCC: ".$bccempfaenger;
if ($htmlmail==1)$optheader[] = "Content-type: text/html; Charset=utf-8";
$header = implode("n", $optheader);
$extheader = "-f ".$senderadresse;
$austauche2 = "SELECT DISTINCT name from modul_kontaktformular_felder where id_kontaktformular='".$id."' ";
$austauche1 = mysql_query($austauche2);
while ($austauche = mysql_fetch_assoc($austauche1)){
$nachricht=str_replace("!".$austauche['name']."!",$_POST[$austauche['name']],$nachricht);
}
mail($empfaenger, $betreff, $nachricht, $header, $extheader);

}




else {echo "<table cellspacing='10'>";
$bereitsaufgerufen=array();
$sqlfelder = "SELECT * from modul_kontaktformular_felder where id_kontaktformular='".$id."' and sprache ='".$_SESSION['lan']."' order by reihenfolge ";
$resultfelder = mysql_query($sqlfelder);
while ($felder = mysql_fetch_assoc($resultfelder))
{

if (!$bereitsaufgerufen[$felder['name']]){



if ($felder['typ']=="text"){
$style="";
if ($felder['width']!="") $style.='width:'.$felder['width'].';';
if ($felder['height']!="") $style.='height:'.$felder['height'].';';
if ($_POST[$felder['name']]=="") $value=$felder['default_value'];
else $value=$_POST[$felder['name']];
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";

if($felder['name']=="BETREFF"){$value= "Download ".$product_name;}

echo "<tr><td valign='top' >".$felder['bezeichnung']."</td><td valign='top'><input type='text' name='".$felder['name']."' id='".$felder['name']."' value='".$value."' style='".$style."' />";
if ($Anzeige!="") echo "<div class='fehler'>".$Anzeige."</div>"; echo"</td></tr>"; }$Anzeige="";


if ($felder['typ']=="radio"){
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
$bereitsaufgerufen[$felder['name']]=true;
echo "<tr><td valign='top'>".$felder['name']."</td><td valign='top'>";
$sqlradio = "SELECT * from modul_kontaktformular_felder where name='".$felder['name']."' order by reihenfolge ";
$resultradio = mysql_query($sqlradio);$i=0;
while ($radio = mysql_fetch_assoc($resultradio)){
$zusatz="";
if($i==0 && !isset($_POST[$felder['name']])){
$i=1;$zusatz=' checked="checked" '; }
else if ($_POST[$felder['name']]==$radio['bezeichnung']){$zusatz=' checked="checked" ';}

echo $radio['bezeichnung']." <input type='radio' ".$zusatz." name='".$felder['name']."' value='".$radio['bezeichnung']."'/> ";
}
if ($Anzeige!="") echo "<div class='fehler'>".$Anzeige."</div>"; echo"</td></tr>"; }$Anzeige="";



if ($felder['typ']=="select"){
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
$bereitsaufgerufen[$felder['name']]=true;
echo "<tr><td valign='top'>".$felder['name']."</td><td valign='top'>";
$sqlradio = "SELECT * from modul_kontaktformular_felder where name='".$felder['name']."' order by reihenfolge";
$resultradio = mysql_query($sqlradio);$i=0;
echo "<select name='".$felder['name']."' style='width:".$felder['width'].";height:".$felder['height'].";'>";
while ($radio = mysql_fetch_assoc($resultradio)){
$zusatz="";
if($i==0 && !isset($_POST[$felder['name']])){
$i=1; }
else if ($_POST[$felder['name']]==$radio['bezeichnung']){$zusatz=' selected="selected" ';}

echo $radio['bezeichnung']." <option ".$zusatz." value='".$radio['bezeichnung']."'/>".$radio['bezeichnung']."</option>";
}
echo "</select>" ;
if ($Anzeige!="") echo "<div class='fehler'>".$Anzeige."</div>"; echo"</td></tr>"; }$Anzeige="";



if ($felder['typ']=="fckeditor"){
if ($_POST[$felder['name']]=="") $value=$felder['default_value'];
else $value=$_POST[$felder['name']];
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
echo "<div>".$felder['bezeichnung']."";
$oFCKeditor = new FCKeditor( $felder['name']);
$oFCKeditor->BasePath = '/admin/tools/fckeditor/';
$oFCKeditor->Value = $value;
$oFCKeditor->ToolbarSet = "Basic1";
$oFCKeditor->Height = $felder['height'];
$oFCKeditor->Width = $felder['width'];
$oFCKeditor->Create();
if ($Anzeige!="") echo "<div class='fehler' style='margin-top:0px'>".$Anzeige."</div>"; echo"<"; }$Anzeige="";



if ($felder['typ']=="textarea"){ if ($_POST[$felder['name']]=="") $value=$felder['default_value'];
else $value=$_POST[$felder['name']];
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
echo "<tr><td style='vertical-align: top;'><h3>".$felder['bezeichnung']." </h3></td><td>";
echo "<textarea class='rounded' name='".$felder['name']."' style='border:1px solid silver;width:".$felder['width'].";height:".$felder['height'].";'>".$value."









Die Fehlermeldung:

Parse error: syntax error, unexpected $end, expecting T_VARIABLE or T_DOLLAR_OPEN_CURLY_BRACES or T_CURLY_OPEN in D:\www\max\template\plugins\kontaktformular.php on line 190


Ich weiß nun, dass ich irgendwo einen Code nicht richtig geshclossen habe aber scheine den zu übersehen...kann mir Irgendwer helfen? (Zeile 190 ist die letzte Zeile)



Danke und beste Grüße :-)
 
PHP:
<div class="kontakt rounded">
<form method='post' action=''>
<?php
$ueberschrift1['de']="Ihre daten";
$ueberschrift1['en']="Your Details";
$ueberschrift1['fr']="Your Details";
$ueberschrift2['de']="Nachricht abschicken";
$ueberschrift2['en']="Submit";
$ueberschrift2['fr']="Submit";
?>


<h3><?php echo $ueberschrift1[$_GET['lan']]; ?></h3>
<?php
include ("admin/tools/fckeditor/fckeditor.php");
$dateiname='kontaktformular.php';
$sqlfelder = "SELECT * from modul_kontaktformular where phpdatei='".$dateiname."' Limit 1 ";
$resultfelder = mysql_query($sqlfelder);
$felder = mysql_fetch_assoc($resultfelder);
$id=$felder['id'];
$nachrichtabgesendet=$felder['nachrichtabgesendet'];
$name=$felder['name'];
$captcha=$felder['captcha'];
if ($captcha==1){
$cryptinstall="plugins/kontaktformular/cryptographp.fct.php";
include $cryptinstall; }

$htmlmail=$felder['htmlmail'];
$emailsender=$felder['emailsender'];
$emailempfaenger=$felder['emailempfaenger'];
$senderadresse=$felder['senderadresse'];
$betreff=$felder['betreff'];
$fehler=false; // Initialisierung des Fehler-Flags
$product_id = mysql_escape_string($_GET['oberkategorie']);
$result = mysql_query("select name".$GLOBALS['sprache']." from navigation where id='".$product_id."' limit 1");
$row = mysql_fetch_assoc($result);
$product_name = $row['name'.$GLOBALS['sprache']];
foreach($_POST as $wert =>$value){

$result_post= mysql_query("select required from modul_kontaktformular_felder where id_kontaktformular='".$id."' and name = '".$wert."' ");
$row_post = mysql_fetch_assoc($result_post);
// echo $wert.":".$row_post['required']."<br/>";
if($value=="" && $row_post['required']==1 && $wert!='code'){



$fehler=true;
}

if($wert=="code"){

if (!chk_crypt($value)) $fehler = true;

}

}

if (!$fehler && $senderadresse!="" && isset($_POST['okokok'])){
echo $nachrichtabgesendet;
// Nachricht an den Kunden
$nachricht=gibtext($emailsender,$_GET['lan']);
$empfaenger = $senderadresse;
$bccarray = array();
$bccempfaenger = implode(",", $bccarray);
$optheader[] = "From: ".$senderadresse;
$optheader[] = "Reply-To: ".$senderadresse;
$optheader[] = "BCC: ".$bccempfaenger;
if ($htmlmail==1) $optheader[] = "Content-type: text/html; Charset=utf-8";
$header = implode("n", $optheader);
$extheader = "-f ".$senderadresse;
$austauche2 = "SELECT DISTINCT name from modul_kontaktformular_felder where id_kontaktformular='".$id."' ";
$austauche1 = mysql_query($austauche2);
while ($austauche = mysql_fetch_assoc($austauche1)){
$nachricht=str_replace("!".$austauche['name']."!",$_POST[$austauche['name']],$nachricht);
}
mail($empfaenger, $betreff, $nachricht, $header, $extheader);


// Nachricht an den Kunden
$nachricht=gibtext($emailempfaenger,$_GET['lan']);
$empfaenger = $_POST['EMAIL'];
$bccarray = array();
$bccempfaenger = implode(",", $bccarray);
$optheader[] = "From: ".$_POST['EMAIL'];
$optheader[] = "Reply-To:".$_POST['EMAIL'];
$optheader[] = "BCC: ".$bccempfaenger;
if ($htmlmail==1)$optheader[] = "Content-type: text/html; Charset=utf-8";
$header = implode("n", $optheader);
$extheader = "-f ".$senderadresse;
$austauche2 = "SELECT DISTINCT name from modul_kontaktformular_felder where id_kontaktformular='".$id."' ";
$austauche1 = mysql_query($austauche2);
while ($austauche = mysql_fetch_assoc($austauche1)){
$nachricht=str_replace("!".$austauche['name']."!",$_POST[$austauche['name']],$nachricht);
}
mail($empfaenger, $betreff, $nachricht, $header, $extheader);

}




else {echo "<table cellspacing='10'>";
$bereitsaufgerufen=array();
$sqlfelder = "SELECT * from modul_kontaktformular_felder where id_kontaktformular='".$id."' and sprache ='".$_SESSION['lan']."' order by reihenfolge ";
$resultfelder = mysql_query($sqlfelder);
while ($felder = mysql_fetch_assoc($resultfelder))
{

if (!$bereitsaufgerufen[$felder['name']]){



if ($felder['typ']=="text"){
$style="";
if ($felder['width']!="") $style.='width:'.$felder['width'].';';
if ($felder['height']!="") $style.='height:'.$felder['height'].';';
if ($_POST[$felder['name']]=="") $value=$felder['default_value']; 
else $value=$_POST[$felder['name']];
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";

if($felder['name']=="BETREFF"){$value= "Download ".$product_name;}

echo "<tr><td valign='top' >".$felder['bezeichnung']."</td><td valign='top'><input type='text' name='".$felder['name']."' id='".$felder['name']."' value='".$value."' style='".$style."' />";
if ($Anzeige!="") echo "<div class='fehler'>".$Anzeige."</div>"; echo"</td></tr>"; }$Anzeige="";


if ($felder['typ']=="radio"){ 
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
$bereitsaufgerufen[$felder['name']]=true;
echo "<tr><td valign='top'>".$felder['name']."</td><td valign='top'>";
$sqlradio = "SELECT * from modul_kontaktformular_felder where name='".$felder['name']."' order by reihenfolge ";
$resultradio = mysql_query($sqlradio);$i=0;
while ($radio = mysql_fetch_assoc($resultradio)){
$zusatz="";
if($i==0 && !isset($_POST[$felder['name']])){
$i=1;$zusatz=' checked="checked" '; }
else if ($_POST[$felder['name']]==$radio['bezeichnung']){$zusatz=' checked="checked" ';}

echo $radio['bezeichnung']." <input type='radio' ".$zusatz." name='".$felder['name']."' value='".$radio['bezeichnung']."'/> ";
}
if ($Anzeige!="") echo "<div class='fehler'>".$Anzeige."</div>"; echo"</td></tr>"; }$Anzeige="";



if ($felder['typ']=="select"){ 
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
$bereitsaufgerufen[$felder['name']]=true;
echo "<tr><td valign='top'>".$felder['name']."</td><td valign='top'>";
$sqlradio = "SELECT * from modul_kontaktformular_felder where name='".$felder['name']."' order by reihenfolge";
$resultradio = mysql_query($sqlradio);$i=0;
echo "<select name='".$felder['name']."' style='width:".$felder['width'].";height:".$felder['height'].";'>"; 
while ($radio = mysql_fetch_assoc($resultradio)){
$zusatz="";
if($i==0 && !isset($_POST[$felder['name']])){
$i=1; }
else if ($_POST[$felder['name']]==$radio['bezeichnung']){$zusatz=' selected="selected" ';}

echo $radio['bezeichnung']." <option ".$zusatz." value='".$radio['bezeichnung']."'/>".$radio['bezeichnung']."</option>";
}
echo "</select>" ; 
if ($Anzeige!="") echo "<div class='fehler'>".$Anzeige."</div>"; echo"</td></tr>"; }$Anzeige="";



if ($felder['typ']=="fckeditor"){ 
if ($_POST[$felder['name']]=="") $value=$felder['default_value']; 
else $value=$_POST[$felder['name']];
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
echo "<div>".$felder['bezeichnung']."";
$oFCKeditor = new FCKeditor( $felder['name']);
$oFCKeditor->BasePath = '/admin/tools/fckeditor/';
$oFCKeditor->Value = $value;
$oFCKeditor->ToolbarSet = "Basic1"; 
$oFCKeditor->Height = $felder['height'];
$oFCKeditor->Width = $felder['width'];
$oFCKeditor->Create();
if ($Anzeige!="") echo "<div class='fehler' style='margin-top:0px'>".$Anzeige."</div>"; echo"<"; }$Anzeige="";



if ($felder['typ']=="textarea"){ if ($_POST[$felder['name']]=="") $value=$felder['default_value']; 
else $value=$_POST[$felder['name']];
if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1) {$fehler=true;$Anzeige=$felder['fehlermeldung'];}
else $Anzeige="";
echo "<tr><td style='vertical-align: top;'><h3>".$felder['bezeichnung']." </h3></td><td>";
echo "<textarea class='rounded' name='".$felder['name']."' style='border:1px solid silver;width:".$felder['width'].";height:".$felder['height'].";'>".$value."

Dafür gibt es Code-Highlighting. Hilft ungemein bei der Fehlersuche. In deinem Fall sieht es aus als wäre das letzte -> ." <- zu viel.

Entferne diese und füge hinter dem "$value" ein Semikolon ein ( ; )
 
Sorry, hab das Highlighting nich gefunden aber danke für den Tipp.

Leider entsteht dann der gleiche Fehler aber beim Rumprobieren fiel mir auf, dass anscheinend 2-3 Zeilen am Ende fehlen müssen. Ich scheine also mehr als nur eine Endung während der Bearbeitung des Skriptes verhunzt zu haben...ich schaue nochmal im Backup, ob Da was ist was dazu gehört.

Wer aber doch noch Was findet, dem bin ich ebenfalls zum Dank verpflichtet ;-)
 
Hab aus spaß noch mal ein Spontanen Blick drüber geworfen..

Hast du folgende If-Abfrage wieder geschlossen?

PHP:
if ($felder['typ']=="textarea"){
..


*edit*
Und nochmal den Code Formatiert. Formatierung ist auch wichtig. Das verstellt sich in Foren gerne mal wenn man es einfügt, aber ich denke mal das du Allgemein keine Formatierung hattest, sonst würdest du solche Fehler Blitzschnell finden.

Die letzte Passage formatiert:

PHP:
if ($felder['typ']=="textarea"){
   if ($_POST[$felder['name']]==""){
      $value=$felder['default_value']; 
   } else {
      $value=$_POST[$felder['name']];
   }

   if ($_POST[$felder['name']]=="" && isset($_POST[$felder['name']]) && $felder['required']==1){
      $fehler=true;
      $Anzeige=$felder['fehlermeldung'];
   } else { 
      $Anzeige="";
   }
// HIER FEHLT EIN }     <-----
    echo "<tr><td style='vertical-align: top;'><h3>".$felder['bezeichnung']." </h3></td><td>";

    echo "<textarea class='rounded' name='".$felder['name']."' style='border:1px solid silver;width:".$felder['width'].";height:".$felder['height'].";'>".$value;

// Oder hier, wo immer der auch bei dir hinkommt^^

So.. hoffentlich hat die Formatierung geklappt^^

P.S. Eventuell hast du bemerkt, dass ich da extra Klammern gesetzt habe.

Grundsätzlich musst du bei Abfragen mit einzeiligen Anweisungen keine Klammern setzten, aber trotzdem sollte man diese immer setzten, damit man nicht in unnötige Fehler hinein tritt.

PHP:
// Zwar möglich, aber sollte man unterlassen
if( .. ) Anweisung


// Das selbe nur die Anweisung in der nächsten Zeile.. selbige wie oben
if( .. )
   Anweisung


// Vieeel Besser!
if( .. ){
   Anweisung
}
 
Zuletzt bearbeitet:
Zurück
Oben