Parse Error

Hier werden Probleme rund um das Rechen Captcha behandelt

Moderator: frameguard

Parse Error

Beitragvon SheepThought » 31.03.2008, 13:44

Hallo Captcha Freunde,

ich bekomme mein Rechen Captcha nicht hin.

Ich bekomme immer folgende Error Meldung:

Parse error: syntax error, unexpected $end in /usr/export/www/vhosts/funnetwork/hosting/superrichie/Markus/kontaktformular-auswerten.php on line 60

Hier mal mein Code:

Code: Alles auswählen

<html>
<head>
<title>Mein Kontaktformular</title>
</head>
<body>
<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
   $char = substr($string, $i, 1);
   $keychar = substr($key, ($i % strlen($key))-1, 1);
   $char = chr(ord($char)+ord($keychar));
   $result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);

$Empfaenger = "meinemailadresse.de";

if($_REQUEST['Send'])
{
   if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Telefonnumer']) || empty($_REQUEST['Nachricht']))
   {
      echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
   }
   else
   {
      $Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
      while(list($Formularfeld, $Wert)=each($_REQUEST))
      {
         if($Formularfeld!="Send")
         {
            $Mailnachricht .= $Formularfeld.": ".$Wert."\n";
         }
      }
      $Mailnachricht .= "\nDatum: ";
      $Mailnachricht .= date("d.m.Y");
      $Mailnachricht .= "\nUhrzeit: ";
      $Mailnachricht .= date("H:i:s");
      $Mailnachricht .= "\nIP Adresse: ";
      $Mailnachricht .= getenv("REMOTE_ADDR");
      $Mailbetreff = "Kontakt: ";
      $Mailbetreff .= $_REQUEST['Betreff'];
      mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
      echo"Vielen Dank für Ihre E-Mail!";
   }
}
else
{
   echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.html\">Seite</a>.";
}

?>
</body>
</html>



Ich bastel eigentlich immer nur mit Html, aber ich würde auch gerne mal ein Php Scripte wie diesen einbauen. Er hatte auch bevor ich ich den Captcha Code eingebaut hatte funktioniert. Ich denke aber für euch Experten wird das Problem einfach zu lösen sein! :-)
SheepThought
 
Beiträge: 2
Registriert: 31.03.2008, 13:29

Beitragvon Steef389 » 31.03.2008, 14:13

Stimmt, ganz einfach. Du hast eine schließende Klammer vergessen:

<html>
<head>
<title>Mein Kontaktformular</title>
</head>
<body>
<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);

$Empfaenger = "meinemailadresse.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Telefonnumer']) || empty($_REQUEST['Nachricht']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum: ";
$Mailnachricht .= date("d.m.Y");
$Mailnachricht .= "\nUhrzeit: ";
$Mailnachricht .= date("H:i:s");
$Mailnachricht .= "\nIP Adresse: ";
$Mailnachricht .= getenv("REMOTE_ADDR");
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank für Ihre E-Mail!";
}
}
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.html\">Seite</a>.";
}
}
?>
</body>
</html>

Wobei du vll vor dieser Klammer noch eine Ausgabe ala Sicherheitscode falsch einfügen solltest
Steef389
 
Beiträge: 57
Registriert: 20.06.2007, 20:31

Beitragvon SheepThought » 31.03.2008, 16:05

Hey Steef389,

vielen Dank das du mir geholfen hast! Habe dein Tipp befolgt und noch zusätzlich eine Schleife hinzugefügt!

Für alle die es interessiert:

Code: Alles auswählen
<html>
<head>
<title>Mein Kontaktformular</title>
</head>
<body>
<?php
session_start();
function encrypt($string, $key) {
$result = '';
for($i=0; $i<strlen($string); $i++) {
$char = substr($string, $i, 1);
$keychar = substr($key, ($i % strlen($key))-1, 1);
$char = chr(ord($char)+ord($keychar));
$result.=$char;
}
return base64_encode($result);
}
$sicherheits_eingabe = encrypt($_POST["sicherheitscode"], "29jfkd921");
$sicherheits_eingabe = str_replace("=", "", $sicherheits_eingabe);
if(isset($_SESSION['rechen_captcha_spam']) AND $sicherheits_eingabe == $_SESSION['rechen_captcha_spam']){
unset($_SESSION['rechen_captcha_spam']);
}
else {
echo "<font color=\"red\">Falscher Sicherheitscode!</font><br><br>";
}

$Empfaenger = "meinemailadresse.de";

if($_REQUEST['Send'])
{
if(empty($_REQUEST['Name']) || empty($_REQUEST['Email']) || empty($_REQUEST['Telefonnumer']) || empty($_REQUEST['Nachricht']))
{
echo"Bitte gehen Sie <a href=\"javascript:history.back();\">zurück</a> und füllen Sie alle Felder aus!";
}
else
{
$Mailnachricht = "Sie haben folgende Nachricht erhalten: \n\n";
while(list($Formularfeld, $Wert)=each($_REQUEST))
{
if($Formularfeld!="Send")
{
$Mailnachricht .= $Formularfeld.": ".$Wert."\n";
}
}
$Mailnachricht .= "\nDatum: ";
$Mailnachricht .= date("d.m.Y");
$Mailnachricht .= "\nUhrzeit: ";
$Mailnachricht .= date("H:i:s");
$Mailnachricht .= "\nIP Adresse: ";
$Mailnachricht .= getenv("REMOTE_ADDR");
$Mailbetreff = "Kontakt: ";
$Mailbetreff .= $_REQUEST['Betreff'];
mail($Empfaenger, $Mailbetreff, $Mailnachricht, "From: ".$_REQUEST['Email']);
echo"Vielen Dank für Ihre E-Mail!";
}
}
else
{
echo"Ein Fehler ist aufgetreten. Bitte gehen Sie auf diese <a href=\"kontakt.html\">Seite</a>.";
}
?>
</body>
</html>


Funktioniert einwandfrei!
SheepThought
 
Beiträge: 2
Registriert: 31.03.2008, 13:29


Zurück zu Rechen Captcha

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste

cron