Einbauprobleme des Captcha-Skripts

Probleme, zu anderen Scripten auf stoppt-den-spam.info

Moderator: frameguard

Einbauprobleme des Captcha-Skripts

Beitragvon Chriselo » 18.03.2011, 09:52

Hallo,

erst einmal vielen Dank für den bereitgestellten Code.
Bis auf meine Problemchen beim Einbau scheint er ja einwandfrei zu funktionieren.

Nun zu meinem Problem.
Ich bekomme es einfach nicht hin, den Code in meine bestehende PHP-Datei einzubauen. Es wäre sehr nett, wenn mir da jemand unter die Arme greifen könnte.
Ich poste euch einfach mal die komplette Datei, wo der Code eingebaut werden muss.
Egal wo ich die Zeilen einbaue, bekomme ich immer eine Fehlermeldung in Zeile xxx - welche immer auf die Anweisung sendMail(); zurückzuführen ist.
<?php
require_once("include/form.class.php");
$site = new Functions;
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="keywords" content="">
<meta name="description" content="">
<meta name="robots" content="index,follow">
<title>
<?php if ($site->lang == 'en'): ?>
xxx GmbH - english text
<?php else: ?>
xxx GmbH - deutscher text
<?php endif; ?>
</title>
<link rel="stylesheet" href="css/blueprint/screen.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="css/blueprint/print.css" type="text/css" media="print" />
<link rel="stylesheet" href="css/theme.css" type="text/css" media="screen, projection" />
<link rel="stylesheet" href="css/custom.css" type="text/css" media="screen, projection" />
</head>
<body>

<?php

function sendMail() {
$msg .= "Onlineanfrage durch xxx.de: \n";
$msg .= "********************************************\n";
$msg .= "Vorname \n";
$msg .= $_POST["vorname"]."\n\n";
$msg .= "Nachricht \n";
$msg .= $_POST["nachricht"]."\n\n";

$msg = $msg;
mail("xxx@xxx.xx", "Onlineanfrage durch xxx.de", $msg, "From: <xxx@xxx.xx>");
}
if(isset($_POST['fieldcheck']) ){
$error = 0;
if( $_POST['vorname'] == "" ){
$alert_vorname = "border: 1px solid #CC0000;";
$error = 1;
}
if( $_POST['sabfrage'] == "" ){
$alert_sabfrage = "border: 1px solid #CC0000;";
$error = 1;
}
}

?>

<div class="contentwrap">
<div class="headwrap">
<div class="container header">
<div class="navi"> <span class="l-nav">&nbsp;</span>
<span class="m-nav">
<?php include('inc.navigation.php'); ?>
</span> <span class="r-nav">&nbsp;</span>
</div>
</div>
<div class="container content">
<div class="sel_lang"> <a href="?lang=de"><img src="../img/layout/btn_german.png" /></a> <a href="?lang=en"><img src="../img/layout/btn_english.png" /></a> </div>
<div class="span-20 append-2 prepend-2">
<h2><?=($site->lang == 'en' ? 'Contact us.' : 'Nehmen Sie Kontakt mit uns auf.')?></h2>

<?php
if( $error == 1 ){
echo "<div class='error' style='margin-top: 10px;'>Das Anfrageformular konnte nicht gesendet werden. Es fehlen wichtige Angaben. <br />Bitte kontrollieren Sie die rot umrandeten Felder im Formular.</div>";
}
else if ($_POST["send"] && $error == 0) {
sendMail();
echo "<div class='info' style='margin-top: 10px;'>Vielen Dank. Ihr Anfrageformular wurde erfolgreich gesendet und wird von uns bearbeitet.</div>";
}
?>

<div class="span-13 append-1">
<form name="kontaktform" id="kontaktform" action="<?php $_SERVER['PHP_SELF']; ?>" method="post">

<label><?=($site->lang == 'en' ? 'First name *' : 'Vorname *')?></label>
<input value="<?php echo $_POST["vorname"]; ?>" name="vorname" type="text" id="vorname" style="<? echo $alert_vorname; ?> padding: 2px;" />


<label for="sabfrage"><?=($site->lang == 'en' ? 'Security query *' : 'Sicherheitsabfrage *')?></label>
<input type="text" name="sabfrage" size="5" id="sabfragefeld" style="<? echo $alert_sabfrage; ?> padding: 2px;"><img id="sabfragecaptcha" src="captcha/captcha.php" border="0" title="Sicherheitscode">



<input type="submit" name="send" id="send" value="<?=($site->lang == 'en' ? 'Submit message' : 'Nachricht senden')?>" />
<input type="hidden" name="fieldcheck" value="1">
</form>
</div>
<div class="span-6 search last">
<h2>XXX GmbH</h2><p></p>

Teststrasse 2<br />
D-12345 Testhausen<br /><br />
Tel.: +49 (0)1234 / 12345<br />
Fax: +49 (0)1234 / 12345<br />
E-Mail: <a href="mailto:xxx@xxx.de">xxx@xxx.de</a><br><br /><p></p>


</div>
<!--/hpservices-->
</div>
</div>
</div>
</div>
<div class="footer">
<div class="container">
<?php include('inc.footer.php'); ?>
</div>
</div>
</body>
</html>


Das ist ja nun der Code ohne das Captcha-Skript.
Hier mal mein gescheiterter Versuch es einzubauen (aus Platzgründen habe ich nur die entsprechenden Zeilen gepostet, der Rest steht ja unverändert oben):
<?php
session_start();
if(isset($_SESSION['captcha_spam']) AND $_POST["sicherheitscode"] == $_SESSION['captcha_spam']){
unset($_SESSION['captcha_spam']);

function sendMail() {
$msg .= "Onlineanfrage durch xxx.de: \n";
$msg .= "********************************************\n";
$msg .= "Vorname \n";
$msg .= $_POST["vorname"]."\n\n";
$msg .= "Nachricht \n";
$msg .= $_POST["nachricht"]."\n\n";

$msg = $msg;
mail("xxx@xxx.xx", "Onlineanfrage durch xxx.de", $msg, "From: <xxx@xxx.xx>");
}
if(isset($_POST['fieldcheck']) ){
$error = 0;
if( $_POST['vorname'] == "" ){
$alert_vorname = "border: 1px solid #CC0000;";
$error = 1;
}
if( $_POST['sabfrage'] == "" ){
$alert_sabfrage = "border: 1px solid #CC0000;";
$error = 1;
}
}
}
?>


Wenn ich das so einbaue, bekomme ich - wie bereits beschrieben - beim Absenden folgende Fehlermeldung:
Fatal error: Call to undefined function sendmail() in /html/kontakt_neu.php on line 75


Zeile 75 ist die fett-markierte Zeile:
<?php
if( $error == 1 ){
echo "<div class='error' style='margin-top: 10px;'>Das Anfrageformular konnte nicht gesendet werden. Es fehlen wichtige Angaben. <br />Bitte kontrollieren Sie die rot umrandeten Felder im Formular.</div>";
}
else if ($_POST["send"] && $error == 0) {
sendMail();
echo "<div class='info' style='margin-top: 10px;'>Vielen Dank. Ihr Anfrageformular wurde erfolgreich gesendet und wird von uns bearbeitet.</div>";
}
?>


Für Eure Hilfe wäre ich sehr dankbar!!!

Viele Grüße
Chris
Chriselo
 
Beiträge: 1
Registriert: 18.03.2011, 09:38

Zurück zu Sonstiges

Wer ist online?

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

cron