Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 需要调整我的代码吗_Php_Ajax - Fatal编程技术网

Php 需要调整我的代码吗

Php 需要调整我的代码吗,php,ajax,Php,Ajax,我需要对这段代码进行ajaxify,并删除php中的header location选项。我希望用户在单击“添加到购物车”按钮后保持在同一页面上…非常感谢您的帮助 我的javascript <script language="javascript"> function addtocart(pid){ document.form1.productid.value=pid; document.form1.command.value='add'; document.f

我需要对这段代码进行ajaxify,并删除php中的header location选项。我希望用户在单击“添加到购物车”按钮后保持在同一页面上…非常感谢您的帮助 我的javascript

<script language="javascript">
function addtocart(pid){
    document.form1.productid.value=pid;
    document.form1.command.value='add';
    document.form1.submit();
}
</script>


<?php 
if($_REQUEST['command']=='add' && $_REQUEST['productid']>0){
    $pid=$_REQUEST['productid'];
    addtocart($pid,1);
    header("location:shoppingcart.php");
    exit();
}

?>
展示产品

<form name="form1">
<input type="hidden" name="productid" />
<input type="hidden" name="command" />
</form>

<?php echo $row['picture']?>" />
<b><?php echo $row['name']?></b><br />
<?php echo $row['description']?><br />
Price:<big style="color:green">
$<?php echo $row['price']?></big><br /><br />
<input type="button" 
value="Add to Cart" onclick="addtocart(<?php echo $row['serial']?>)" />
我购物车的一部分

<?php 

if($_REQUEST['command']=='delete' && $_REQUEST['pid']>0){
    remove_product($_REQUEST['pid']);
}
else if($_REQUEST['command']=='clear'){
    unset($_SESSION['cart']);
}
else if($_REQUEST['command']=='update'){
    $max=count($_SESSION['cart']);
    for($i=0;$i<$max;$i++){
        $pid=$_SESSION['cart'][$i]['productid'];
        $q=intval($_REQUEST['product'.$pid]);
        if($q>0 && $q<=999){
            $_SESSION['cart'][$i]['qty']=$q;
        }
        else{ $msg='Some proudcts
        not updated!, quantity must be a number  
         between 1 and 999';
        }
    }
 }

?>

所以,这是我总结出来的。您需要对ajax部分中的URL以及返回数据的处理方式进行一些更改。 JS小提琴:

代码:


看看jQuery——除了PHP自我提交方面需要移动到一个单独的PHP页面,并作为ajax请求成功事件的响应数据进行处理之外,您应该将JS和PHP代码拆分为不同的文件,而不是像您那样尝试混合代码。然后,您将使用AJAX调用结合PHP后端脚本加载所需元素,即显示购物车的内容等。如果您需要详细问题的帮助,而不是要求为您重写购物系统,斯科特·鲍威尔先生,你的解决方案很有魅力,因为我得自己搞清楚。我无法用语言来解释我的喜悦先生非常感谢您的帮助先生
<form name="form1" id="form1">
<input type="hidden" id="productid" name="productid" />
<input type="hidden" id="command" name="command" />
</form>

function addtocart(pid){
    $("#productid").val(pid);
    $("#command").val('add');
    ajaxSubmit();
}
function ajaxSubmit() {
    $.ajax({
      type: "POST",
      url: "mypage.php",
        data: {"productid": $("#productid").val(), "command": $("#command").val()},
        success: function(returnedData) {
             alert(returnedData);   
        }
    });   
}
addtocart(12); // addtocart( _ ID _ );