弄了好几天,要刷新一次才执行php语句,找不出原因

星煌的鼓动 发布于 2016/01/28 15:26
阅读 790
收藏 0
PHP
<!DOCTYPE html><head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1">
    <title>聚友</title>
    <link rel="stylesheet" href="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.css">
<style>
#bigdiv{width: 80%;height: 240px;background-color: #f1eef7;margin-left: auto;margin-right: auto}
       #onediv{height: 240px;width:50%;left: 0px;float: left}
       #twodiv{height: 80px;width: 50%;background-color: #cedcd8;margin: 0px;padding: 0px;float: left}
       #threediv{width: 50%;height: 80px;background-color: #90dcad;margin: 0px;padding: 0px;float: left}
       #fourdiv{width: 50%;height: 80px;background-color: #18dbdc;margin: 0px;padding: 0px;float: left}
    </style>
    <script src="http://code.jquery.com/jquery-1.8.3.min.js"></script>
    <script src="http://code.jquery.com/mobile/1.3.2/jquery.mobile-1.3.2.min.js"></script>
    
    <script src="layer.js"></script>
    <script src="touch.js" ></script>
    <script src="crop.js"></script>
    <script>
    var data="";
          var time=new Array();  //数组
          var jing=new Array();  //经度数组
          var wei=new Array();   //纬度数组
          var inner=new Array(); //内容数组
 var count=0;         //计数
 
    </script>
</head>
<body>
<?php
session_start();
$user=$_SESSION['user'];
$select_mode=intval($_REQUEST['gender']);
$myjingdu=floatval($_REQUEST['hidden2']);
$myweidu=floatval($_REQUEST['hidden']);

$a=@new mysqli("103.226.154.156","ccc307","cccccc","ccc307");
if($select_mode==2)
{
$sql="SELECT * FROM activity ORDER BY ID DESC";
$re=$a->query($sql)or die();

        while($ra=mysqli_fetch_array($re,MYSQLI_ASSOC))
        {

        ?>
        <script>
          time[count]='<?php echo $ra['time'];?>';  //数组
          jing[count]='<?php echo $ra['jingdu'];?>';  //经度数组
          wei[count]='<?php echo $ra['weidu'];?>';   //纬度数组
          inner[count]='<?php echo $ra['content'];?>'; //内容数组
 count++;   
        </script>
 
        <?php

        } 
?>
        <script>
num='<?php echo $re->num_rows ?>';
</script>
        <?php
            
}
if($select_mode==1)
{
$sql="SELECT * FROM activity ORDER BY time";
$re=$a->query($sql) or die();

while($ra=mysqli_fetch_array($re,MYSQLI_ASSOC))
        {

        ?>
        <script>
          time[count]='<?php echo $ra['time'];?>';  //数组
          jing[count]='<?php echo $ra['jingdu'];?>';  //经度数组
          wei[count]='<?php echo $ra['weidu'];?>';   //纬度数组
          inner[count]='<?php echo $ra['content'];?>'; //内容数组
 count++;   
        </script>
 
        <?php

        } 
?>
        <script>
num='<?php echo $re->num_rows ?>';
</script>
        <?php
      
}
if($select_mode==0)
{
$sql="select *from activity order by";
        $sql.="(jingdu-'$myjingdu')*(jingdu-'$myjingdu')+(weidu-'$myweidu')*(weidu-'$myweidu')";
        $re=$a->query($sql)or die();
while($ra=mysqli_fetch_array($re,MYSQLI_ASSOC))
        {

        ?>
        <script>
          time[count]='<?php echo $ra['time'];?>';  //数组
          jing[count]='<?php echo $ra['jingdu'];?>';  //经度数组
          wei[count]='<?php echo $ra['weidu'];?>';   //纬度数组
          inner[count]='<?php echo $ra['content'];?>'; //内容数组
 count++;   
        </script>
 
        <?php

        } 
?>
        <script>
num='<?php echo $re->num_rows ?>';
</script>
        <?php
        
}
?>
    <script>
var i;
data="";
          for(i=0;i<num;i++)
 {
                    var w="ffjh";
                  $.ajax({
                      type: "GET",
                      url: "http://maps.google.cn/maps/api/geocode/json?latlng='+ position.coords.latitude+','+position.coords.longitude+'&language=CN' ",
                      beforeSend: function () {


                      },
                      success: function (json) {
                          if (json.status == 'OK') {
                              var results = json.results;
                              $.each(results, function (index, array) {
                                  if (index == 0) {
                                      w.innerHTML = array['formatted_address'];
                                  }
                              });
                          }
                      },
                      error: function (XMLHttpRequest, textStatus, errorThrown) {
                        w.innerHTML = "地址位置获取失败";
                      }
                  });


                  data = data + " <div id='bigdiv'><div id='onediv' ><img src='game.png' style='height: 100%;width: 100%'></div><div id='twodiv'><p>";
                  data = data + inner[i];
                  data = data + "</p></div><div id='threediv'><p>" + w+"</p></div><div id='fourdiv'><p>";
                  data = data + time[i]+"</p></div></div>";
 
 }
       
      document.getElementById("bigerdiv").innerHTML = data;
</script>
<div id="bigerdiv">12345</div>
     


</body>
</html>
加载中
0
雪梨苹果
雪梨苹果
session_start()要放在输出内容之前。


星煌的鼓动
星煌的鼓动
那为什么刷新之后能执行PHP,刷新之前不能呢
雪梨苹果
雪梨苹果
回复 @星煌的鼓动 : session_start();的前面不能有任何的输出,即你把它放在脚本执行的最前面就行,至于最前是哪里,看你的框架了。。。
星煌的鼓动
星煌的鼓动
请问输出内容是什么?您的意思是要把整段php放在<head>之前吗
0
m
miloer

是不是 jquery.mobile的原因呢?

以前有需求用到这个框架也是出现过这个问题的。 

在你跳转之前那个页面,跳转按钮设置一下data-ajax:false 试试

OSCHINA
登录后可查看更多优质内容
返回顶部
顶部