0

ユーザーの電子メールを収集して PIN を返す単純なフォーム スクリプトを作成しています。

入力は、以下の標準 HTML にあります。

<p>
    <form class="form-inline" role="form" method="POST">
        <div class="form-group">
            <label class="sr-only" for="srEmail">Email address</label>
            <input type="email" name="srEmail" class="form-control input-lg" id="srEmail" placeholder="Enter email">
        </div>

        <button type="submit" name="srSubmit" class="btn btn-default btn-lg">Generate PIN</button>
    </form>
</p>

ifデータベースをチェックして、電子メールが既に存在するかどうか、およびユーザーが PIN リマインダーを希望しているかどうかを確認する次のステートメントがあります。

if($num_rows != 0) {//if email found in table
    ?>
    Email already registered, would you like a PIN reminder?
    <form method="POST" action="">
    <input type="submit" name="srSend" value="Click here to get pin reminder" />
    <input type="hidden" name="srEmail" value="<?php echo strtolower($email);?>" />
    </form>
    <?php
    exit;
}

現時点では、これは結果を新しいページとしてユーザーに返します。これを本文ページの実際の HTML にどのように配置すれば、新しい<p>要素の元のフォーム入力の下に実際に表示されるのでしょうか?

4

3 に答える 3

0

これは jquery.post で簡単にできます

HTMLヘッドにjqueryライブラリを含めると、ajaxでphpコンテンツを取得するための短いスクリプトが必要になります

<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<script>
$(function(){
   $('#yourForm').submit(function(e){
       e.preventDefault();
       var data=$('#yourForm').serialize();
       $.post('yourphp.php',data,function(html){
          $(body).append(html);
       });
    });
});
</script>
</head>    
<body>
<p>
        <form id="yourForm" class="form-inline" role="form" method="POST">
            <div class="form-group">
                <label class="sr-only" for="srEmail">Email address</label>
                <input type="email" name="srEmail" class="form-control input-lg" id="srEmail" placeholder="Enter email">
            </div>

            <button type="submit" name="srSubmit" class="btn btn-default btn-lg">Generate PIN</button>
        </form>
    </p>
 </body>
于 2013-09-20T17:38:17.497 に答える
0

あなたが求めているものが得られるかどうかはわかりませんが、これが私の解決策です:

<p>
    <form class="form-inline" role="form" method="POST">
        <div class="form-group">
            <label class="sr-only" for="srEmail">Email address</label>
            <input type="email" name="srEmail" class="form-control input-lg" id="srEmail" placeholder="Enter email">
        </div>

        <button type="submit" name="srSubmit" class="btn btn-default btn-lg">Generate PIN</button>
    </form>
</p>

    <?php
    if (isset($message)){
    <p><?php print $message ?></p>
    ?>

<?php
    }
?>

ファイルの先頭に次のように記述します。

<?php 
if($_post['srSend']){
$message='write your message here';
}

?>

于 2013-09-20T20:29:41.410 に答える