47

file にある PHP フォームがありますcontact.html

フォームは file から処理されますprocessForm.php

ユーザーがフォームに入力して [送信] をクリックすると processForm.php、メールprocessForm.php が送信され、そのページに "成功! メッセージが送信されました" というメッセージが表示されます。

私は PHP についてあまり知りませんが、これを呼び出すアクションは次のとおりであることは知っています。

// Die with a success message
die("<span class='success'>Success! Your message has been sent.</span>");

ページにリダイレクトせずにフォーム div 内にメッセージを保持するにはどうすればよい processForm.phpですか?

processForm.php必要に応じて全体を投稿できますが、長いです。

4

10 に答える 10

50

送信時に同じページにとどまるにはaction=""、フォーム タグにアクションを空 ( ) のままにするか、完全に除外します。

メッセージについては、変数 ( $message = "Success! You entered: ".$input;") を作成し、メッセージを表示するページ内の場所で変数をエコーし​​ます<?php echo $message; ?>

このような:

<?php
$message = "";
if(isset($_POST['SubmitButton'])){ //check if form was submitted
  $input = $_POST['inputText']; //get input text
  $message = "Success! You entered: ".$input;
}    
?>

<html>
<body>    
<form action="" method="post">
<?php echo $message; ?>
  <input type="text" name="inputText"/>
  <input type="submit" name="SubmitButton"/>
</form>    
</body>
</html>
于 2014-07-20T21:15:30.270 に答える
14

それには 2 つの方法があります。

  1. フォームを同じページに送信する: 送信されたフォームを PHP スクリプトを使用して処理します。(これは、フォームactionを現在のページの URL に設定することで実行できます。)

    if(isset($_POST['submit'])) {
        // Enter the code you want to execute after the form has been submitted
        // Display Success or Failure message (if any)
      } else {
        // Display the Form and the Submit Button
    }
    
  2. 方法 1 よりも初心者には少し難しいAJAX フォーム送信を使用します。

于 2013-06-27T03:15:38.723 に答える
8

#フォーム アクションでアクションを使用できます。

<?php
    if(isset($_POST['SubmitButton'])){ // Check if form was submitted

        $input = $_POST['inputText']; // Get input text
        $message = "Success! You entered: " . $input;
    }
?>

<html>
    <body>
        <form action="#" method="post">
            <?php echo $message; ?>
            <input type="text" name="inputText"/>
            <input type="submit" name="SubmitButton"/>
        </form>
    </body>
</html>
于 2017-01-10T07:39:26.757 に答える
2

次のようなコードを使用する必要があります。

echo "<div id='divwithform'>";

if(isset($_POST['submit']))  // if form was submitted (if you came here with form data)
{
    echo "Success";
}
else                // if form was not submitted (if you came here without form data)
{
    echo "<form> ... </form>";
} 

echo "</div>";

このようなコードifは多くのページで一般的ですが、これは非常に単純化されています。

通常、最初の「if」でいくつかのデータを検証する必要があります (フォーム フィールドが空でないかどうかなどを確認します)。

www.thenewboston.orgまたはphpacademy.orgにアクセスしてください。フォームを含む非常に優れた PHP ビデオ チュートリアルがあります。

于 2013-06-27T03:19:26.933 に答える
1

これを試してください...私のために働いた

<form action="submit.php" method="post">
<input type="text" name="input">
<input type="submit">
</form>

------ submit.php ------

<?php header("Location: ../index.php"); ?>
于 2017-10-25T14:08:37.750 に答える