2013-04-01 48 views
-4

我的新鲜更新的网站有一个联系表格与php邮件脚本,我基于表格脚本here'简单'的PHP脚本在第10行显示错误,我做错了什么?

脚本保存在我的网络服务器,但数据被提交时,没有邮件发送,因为在第10行

故障老实说,我不明白不足以查明我的错误 - 可以有人帮忙一个新手出来?

我找到了一个临时替代使用Bravenet,但我想用我的无品牌的版本,如果简单的PHP脚本是看上去那么简单......

我的脚本(kontakt.php)看起来是这样的:

<?php 
/* Set e-mail recipient */ 
$myemail = "[email protected]"; 

/* Check all form inputs using check_input function */ 
$name = check_input($_POST['name'], "Ihr Name"); 
$email = check_input($_POST['email'], "Ihre E-Mail-Adresse"); 
$kontaktnummer = check_input($_POST['kontaktnummer']); 
$thema = check_input($_POST['them']); 
$message = check_input($_POST['message']), "Worum geht's?"); 

/* If e-mail is not valid show error message */ 
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/", $email)) 
{ 
    show_error("E-mail-Adresse ungültig"); 
} 



/* Let's prepare the message for the e-mail */ 
$message = "Hallo! 

Ihr Form ist unterwegs…: 

Name: $name 
E-Mail-Adresse: $email 
Kontaktnummer: $kontaktnummer 
Frage zum Thema? $thema 

Nachricht: $message 


Comments: 
$comments 

End of message 
"; 

/* Send the message using mail() function */ 
mail($myemail, $subject, $message); 

/* Redirect visitor to the thank you page */ 
header('Location: danke.htm'); 
exit(); 

/* Functions we used */ 
function check_input($data, $problem='') 
{ 
    $data = trim($data); 
    $data = stripslashes($data); 
    $data = htmlspecialchars($data); 
    if ($problem && strlen($data) == 0) 
    { 
     show_error($problem); 
    } 
    return $data; 
} 

function show_error($myError) 
{ 
?> 
    <html> 
    <body> 

    <b>Hier stimmt was nicht - bitte prüfen!</b><br /> 
    <?php echo $myError; ?> 

    </body> 
    </html> 
<?php 
exit(); 
} 
?> 

和我提交表单是这样的:

<form method="post" enctype="multipart/form-data" action="http://pub14.bravenet.com/emailfwd/senddata.php" accept-charset="utf-8"> 
<input type="hidden" name="usernum" value="1126560145"> 
<input type="hidden" name="cpv" value="2"> 
      <ol><li> 
      <label for="name">Name (Erförderlich)</label> 
      <input id="name" name="name" class="text" /> 
      </li><li> 
      <label for="email">E-Mail-Adresse (Erförderlich)</label> 
      <input id="email" name="email" class="text" /> 
      </li><li> 
<label for="kontaktnummer">Kontaktnummer (Erförderlich)</label> 
      <input id="kontaktnummer" name="kontaktnummer" class="text" /> 
      </li><li> 
      <label for="thema">Fragen zum Thema (Erförderlich)</label></br> 
      <input type="checkbox" name="thema" value="unterricht" /> Unterricht</br> 
<input type="checkbox" name="thema" value="übersetzungen" /> Übersetzungen</br> 
<input type="checkbox" name="thema" value="dolmetschen" /> Dolmetschen</br> 
<input type="checkbox" name="thema" value="faß" /> Englsich vom Faß</br> 
<input type="checkbox" name="thema" value="anders" /> Andere 
      </li><li> 
      <label for="message">Worum geht's? (Erförderlich)</label> 
      <textarea id="message" name="message" rows="8" cols="50"></textarea> 
      </li><li> 
      <input type="image" name="imageField" id="imageField" src="images/submit.gif" class="send" /> 
      <div class="clr"></div> 
      </li></ol> 
      </form> 

当然我需要调整HTML以反映新的工作脚本...但如何?

在此先感谢

埃德·特纳

+0

$消息= check_input($ _ POST [ '消息']), “Worum geht的?”); - > $ message = check_input($ _ POST ['message']);或$ message = check_input($ _ POST ['message'],“Worum geht's?”); –

+1

我看到您注意到了行号,但选择忽略错误消息。这不是一个好的调试技术。错误消息有一个目的:帮助诊断问题。不要猜测! –

+0

就是这样吗?谢谢!我会尽力回复你尽快 –

回答

1
$message = check_input($_POST['message']), "Worum geht's?"); 

$message = check_input($_POST['message'], "Worum geht's?"); 

有一)在错误的地方。

0
$message = check_input($_POST['message']), "Worum geht's?"); 

过度),尝试$message = check_input($_POST['message'], "Worum geht's?");'

0

退房额外 ')'。错误在这一行。

变化

$message = check_input($_POST['message']), "Worum geht's?"); 

$message = check_input($_POST['message'], "Worum geht's?"); 
+0

谢谢,现在它可以工作! –

相关问题