-4

新しく更新された私の Web サイトには、フォーム スクリプトhereに基づいた php メール スクリプトを使用した連絡フォームがあります。

スクリプトは私のWebサーバーに保存されていますが、データを送信すると、10行目に障害があるため、メールが送信されません。

正直なところ、エラーを特定するのに十分な理解がありません - 誰かが初心者を助けることができますか?

Bravenet を使用して一時的な代替品を見つけましたが、単純な php スクリプトが見た目と同じくらい単純であれば、ブランドのないバージョンを使用したいと思います...</p>

私のスクリプト (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 を微調整する必要がありますが、どうすればよいでしょうか?

前もって感謝します

エド・ターナー

4

3 に答える 3

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

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

間違った場所に ) があります。

于 2013-04-01T09:29:22.857 に答える
0
$message = check_input($_POST['message']), "Worum geht's?");

過剰)です、試してください$message = check_input($_POST['message'], "Worum geht's?");'

于 2013-04-01T09:29:25.163 に答える