ホームページ  >  記事  >  バックエンド開発  >  ワンクリックでの複数の操作に関する問題

ワンクリックでの複数の操作に関する問題

WBOY
WBOYオリジナル
2016-06-13 13:34:27817ブラウズ

ワンクリックでの複数の操作に関する問題
現在のページにボタンをクリックするか接続して、現在のページに入力された値をデータベースに挿入する必要があるフォームがあります
その後、自動的に次のページにジャンプし、それに値を渡します

私のアプローチは ajax を使用して値を渡すことですが、うまくいかないようです

別の方法がある場合は誰か教えてください

PHP コード
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->
<form id='order' name='order' method='get' action='./jiesuan.php'>
<table width="500" height="200" align="center" name="formt">
    <tr><td>收货人:</td><td><input type="text" name="shouhuo" id="shouhuo"></td></tr>
    <tr><td>收货地址:</td><td><input type="text" name="address" id="address"></td></tr>
    <tr><td>邮编:</td><td><input type="text" name="postcode" id="postcode"></td></tr>
    <tr><td>电话:</td><td><input type="text" name="phone" id="phone"></td></tr>
    <?php $o_num=date('Ymdhis');    //生成订单号?>
        
    <tr><td>
    <a href="./pay.php?o_num=<?php echo $o_num ?>" name="tijiaoding"><img src="../image/tijiaoding.jpg" ></img></a>
    <td><input type="button" id="mys" name="mys" value="mys"></td>
    </tr>
    
    </table>
</form>

<script type="text/javascript">
<!--
function s(){
    var xmlhttp = new XMLHttpRequest();
    var url = "pay.php?shouhuo="+$("shouhuo").value+"&address="+$("address").value+"&postcode="+$("postcode").value+"&phone="+$("phone").value;
    alert("已提交");
    xmlhttp.open("GET",url,true);
    xmlhttp.send(null);
    window.location.reload();
  //  location.href="pay.php";
}

$("mys").onclick = s;

function $(id){
    return document.getElementById(id);
}
//-->
</script>



<?php 
if($_POST){
    //if($_SESSION['user'])
    //{
            $user=$_SESSION['user'][1];
        
        //    if($_POST['shouhuo']){
                $shouhuo=$_POST['shouhuo'];
                $address=$_POST['address'];
                $postcode=$_POST['postcode']; 
                $phone=$_POST['phone'];
                
                $ding="insert into ord(o_id , o_num , coun ,  u_name , u_phone , u_address , postcode , ordertime , send , pay )
                         values('','$o_num', '$sum','$user','$phone','$address','$postcode',NOW(),'','',)";
                if(mysql_query($ding,$conn))
                    go("pay.php");
                foreach ($arr as $k=>$v){
                    
                }
    //        }
    //        else 
    //            echo "请输入收货信息!";
    //}
    //else 
    //    echo "请<a href='../vip.php'>登录>></a>!";
}


?>




------解決策--------------------- -----------
このコードの問題は、フォームに type=submit ボタンがないため、フォームが送信されないことです。ロジックが奇妙であるため、コードを変更する必要はないと思います。
前の提案を繰り返します:
フォームが jiesuan.php に送信された後。 jiesuan.php の末尾に次のコード行を追加します。

// header() の前にスペースを含む出力を含めないでください
header("Location:pay.php?shouhuo={$ _POST['shouhuo ']}&address={$_POST['address']}&postcode={$_POST['postcode']}" );

これにより、ブラウザが pay.php にジャンプできるようになります。 Submitted パラメータだけを追加します。

または、より新しい知識を学びたいためにこれを行っている場合は、ajax を学習してください。もちろん、問題を解決することはできますが、より便利な方法を選択できるため、すべての状況で推奨されるわけではありません。なぜ回り道をする必要があるのでしょうか。
------解決策---------
JavaScript が連続的にジャンプします。または ajax 連続ジャンプ。
------解決策----------------------
作成者はボタンを使用してフォームの値を送信します値は ajax 経由で渡され、サーバーは値を受信した後に新しい操作を実行します。作戦成功後にジャンプ!元のポスターの意味はこれでわかりましたが、本当かどうかはわかりません。そうであれば、下の階の人はこれに基づいて上の階の質問に答えることができます。
------解決策----------------------
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。