做了个小页面,出现了问题,给其中一个加分的时候,另一个就变为0分了,怎么让另外一处保持原来的分数不变呢?代码:
<?php
error_reporting(0);
session_start(); if(isset($_POST['aj1']))
{
$_SESSION['fen1']+=1;
}
else if(isset($_POST['aj2']))
{
$_SESSION['fen1']+=2;
}
else if(isset($_POST['aj3']))
{
$_SESSION['fen1']+=3;
}
else
{
$_SESSION['fen1']=0;
}

if(isset($_POST['bj1']))
{
$_SESSION['fen2']+=1;
}
else if(isset($_POST['bj2']))
{
$_SESSION['fen2']+=2;
}
else if(isset($_POST['bj3']))
{
$_SESSION['fen2']+=3;
}
else
{
$_SESSION['fen2']=0;
}

echo $_SESSION['fen1'];

?>
      &nbsp;</h1>
    <p>&nbsp;</p>
    <p>&nbsp;</p></td>
    <td width="272"><h1 align="center">
<?php
echo $_SESSION['fen2'];
?>  

解决方案 »

  1.   

    $_SESSION['fen1'] = !empty($_SESSION['fen1']) ? $_SESSION['fen1'] : 0;
    if(isset($_POST['aj1']))
    {
    $_SESSION['fen1']+=1;
    }
    else if(isset($_POST['aj2']))
    {
    $_SESSION['fen1']+=2;
    }
    else if(isset($_POST['aj3']))
    {
    $_SESSION['fen1']+=3;
    }
    这样改试试
      

  2.   

    else出问题了            
      

  3.   


    要不要用ajax来实现?
      

  4.   

    试了一下,不行,现在在想用ajax修改,不让页面在点击按钮时刷新页面
      

  5.   


    要不要用ajax来实现?你两边都改了吗?
      

  6.   

    重点是不能要
    else
    {
    $_SESSION['fen1']=0;
    }
    不要ajax也一样
      

  7.   

    <?php
    //今天才看到楼主的需求,这个问题直接用前端js来实现比较方便,不过看楼主需要的是ajax交互,现在抽空写一下,不知道楼主是否还需要,下面贴一下示例代码:
    if($_POST["Submit"] == "Start"){
    echo ($_POST["Type"] == "add" ? ($_POST["Num1"] + $_POST["Num2"]) : ($_POST["Num1"] - $_POST["Num2"]));
    exit;
    }
    ?>
    <html>
    <head>
    <title>篮球比赛</title>
    </head>
    <body>
    <script
    src="https://code.jquery.com/jquery-3.4.1.js"
    integrity="sha256-WpOohJOqMqqyKL9FccASB9O0KwACQJpFTUBLTYOVvVU="
    crossorigin="anonymous"></script>
    <style>
    .main {
    width: 610px;
    height: 460px;
    padding: 5px 0px 10px 0px;
    background: red;
    }
    table {
    width: 600px;
    border:1px solid red;
    background: white;
    }
    td {
    height: 200px;
    text-align: center;
    }
    button {
    margin:0 10px 0 10px;
    }
    </style>
    <div class="main">
    <table border align="center">
    <!--caption align="center"><h1>篮球比赛</h1></caption-->
    <tr><th  colspan="2">篮球比赛</th></tr>
    <tr>
    <th>红方</th>
    <th>蓝方</th>
    </tr>
    <tr>
    <td>0</td>
    <td>0</td>
    </tr>
    <tr>
    <td class="red"><button>加1分</button><button>加2分</button><button>加3分</button></td>
    <td class="blue"><button>加1分</button><button>加2分</button><button>加3分</button></td>
    </tr>
    </table>
    </div>
    <script>
    $("button").on("click",function(){
    //取得父级Class名称
    Parent = $(this).parent().prop("className");
    //取得按钮value值达到自定义分数的效果
    //Fraction = $(this).val();
    //根据按钮排序取得加分值达到递增分数的效果
    Fraction = $("." + Parent + "> button").index(this)+1;
    //取得操作前分数
    if(Parent == "red"){
    Num = $("table tr:eq(2) td:eq(0)").text();
    } else if(Parent == "blue"){
    Num = $("table tr:eq(2) td:eq(1)").text();
    }
    //提交请求
    $.ajax({
    url: "index.php",
    type: "POST",
    //contentType: "application/x-www-form-urlencoded;charset=UTF-8",
    async: false,
    dataType: "text",
    //数据格式 Num1:操作分数前数量 Num2:操作数量 Type:操作类型 add/reduce
    data: {"Submit" : "Start","Num1" : Num,"Num2" : Fraction,"Type" : "add"},
    traditional: true,
    success: function(e){
    if(Parent == "red"){
    $("table tr:eq(2) td:eq(0)").text(e);
    } else if(Parent == "blue"){
    $("table tr:eq(2) td:eq(1)").text(e);
    }},
    error: function(e){
    alert("错误:"+e);
    }
    });});</script>
    </body>
    </html>