当前位置: 代码迷 >> PHP >> 一次点击多个操作有关问题
  详细解决方案

一次点击多个操作有关问题

热度:557   发布时间:2012-04-27 11:57:44.0
一次点击多个操作问题
当前页面有一个表单 要 点击一个 按钮或连接 后使当前页面输入的值插入数据库 
  然后自动跳转到下一个页面同时还有传一个值过去 
   
  我的做法是使用ajax传值 但是好像不行

那个高人给看看 要是有好别的的方法更好
PHP code

<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>!";
}


?>




------解决方案--------------------
这段代码的问题还是form表单中没有type=submit 按钮,所以表单不会被提交。我觉得我不应该修改你的代码,因为它的逻辑很怪。
还是重复我之前的建议:
 表单提交到 jiesuan.php后。在jiesuan.php的最后添加下面几行代码:

// header()前不要有输出,包括空格
header("Location:pay.php?shouhuo={$_POST['shouhuo']}&address={$_POST['address']}&postcode={$_POST['postcode']}" );

这样也一样能让浏览器跳转到pay.php并附带刚才提交上来的参数。

或者你做这个是想多学习新知识,那么就去学学ajax吧。它当然可以解决你的问题,但并不是什么情况都建议用它,因为你完全有更方便的路可以走又何必绕个弯呢
------解决方案--------------------
javascript连续跳转。或者ajax的连续跳转。
------解决方案--------------------
楼主是将表单的值进行按钮提交,通过ajax进行传递值,服务端接受值之后进行一个新增的操作。操作成功之后进行跳转!这是本人理解楼主的意思,不知道是否!如果是的话,楼下可以根据这个来回答楼上的问题。
------解决方案--------------------
  相关解决方案