0

私は Web プログラミングにかなり慣れていないので、個人の Web サイトを立ち上げて実行しようとしています。何も実行していないように見えるお問い合わせフォームがあります。コードのエラーを探して Web を調べましたが、壁にぶつかりました。

ヘッダーのスクリプト

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<script src="http://html5form.googlecode.com/svn/trunk/jquery.html5form-1.5-min.js"></script>

html5フォーム

<form action="message.php" method="post" id="message_form">
    <fieldset>
        <input type="email" name="email" id="email" title="Email address" maxlength="40" placeholder="Email Address" autocomplete="off" required />
        <br />
        <input type="text" name="subject" id="subject" title="Subject" maxlength="60" placeholder="Subject" autocomplete="off" required />
        <br />
        <textarea name="message" id="message" title="Message" cols="30" rows="5" maxlength="1000" placeholder="Message" required></textarea>
        <br />
        <input type="submit" value="Send" id="submit" name="submit"/>
    </fieldset>
</form>

本文中のスクリプト (リンク)

$('#message_form').html5form({
    allBrowsers : true,
    responseDiv : '#response',
    messages: 'en',
    messages: 'es',
    method : 'GET',
    colorOn :'#0d85a5',
    colorOff :'#d2d2d2'
});

メッセージ.php

<?php
if ('POST' === $_SERVER['REQUEST_METHOD']) {
$to = "rbblakeley@gmail.com";
$from = "r.blakeley@yahoo.com";
$subject = "test subject";
$message = "test message";

$body = "$from\n $message";

echo "Your message has been sent!";
mail($to, $subject, $body);
} else {
echo "Rapscallions! Please try again.";
}
?>

ローカルMAMPサーバーでテストし、リモートホスト(bluehost)にアップロードすると、「送信」を押してもフォームがプレースホルダー値にリセットされる以外は何も起こりません。ヘルプ。

4

2 に答える 2

0

送信ボタンに名前を付けるのを忘れました

<input type="submit" name="Submit" value="Send" id="submit"/>

これを行うためのより良い方法は、代わりにかもしれません

if(isset($_POST["submit"])){

使用する:

if ('POST' === $_SERVER['REQUEST_METHOD']) {

このメソッドは特定の変数をチェックしません。リクエストメソッドをチェックし、POSTの場合はフォームが送信されました。

于 2012-04-24T01:14:43.910 に答える
0

$_POSTキーの連想配列(name入力から)とそれぞれの値が含まれます。

入力がないためname='submit'ifステートメントは常にfalseになります。

とにかく、おそらく次のようなものを使用することをお勧めします(状況が正しいかどうかを確認することをお勧めします)。

if(empty($_POST['subject']) || empty($_POST['email'] || empty($_POST['message'])){
    echo "Rapscallions! Please try again.";
} else {
    // do your thing
}
于 2012-04-24T01:15:02.963 に答える