'简单'PHP脚本在第10行显示错误,我做错了什么?

时间:2013-04-01 09:26:57

标签: email php

我刚刚更新的网站有一个带有php邮件脚本的联系表单,我基于表单脚本here

脚本保存在我的网络服务器上,但提交数据时,由于第10行出现故障,不会发送邮件。

老实说,我不太了解我的错误 - 有人可以帮助新手吗?

我发现使用Bravenet暂时替换,但我想使用我的无品牌版本,如果简单的PHP脚本就像它们看起来那么简单......

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

 <?php
/* Set e-mail recipient */
$myemail  = "edw@rdturner.co.uk";

/* 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以反映新工作的脚本......但是如何?

提前致谢

Edd Turner

3 个答案:

答案 0 :(得分:1)

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

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

有一个)在错误的地方。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

查看额外的')'。错误就在这一行。

更改

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

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