2017-05-18 23 views
0

下面的代碼在我的桌面上用chrome設置會話。然而,在我的手機鉻,它不斷刷新新的sessionid。我已經閱讀了她關於一個新的sessionid的其他帖子,它似乎歸結爲權限,但沒有給出答案。我能做些什麼來確保它適用於每個人的設備,或者有更好的方法嗎?我試圖爲我的餐廳做一個簡單的在線訂購網站。php sessionid在桌面上刷新,而不是在移動設備上,給出了新的sessionid

<html> 
<head> 

<title>Online Ordering</title> 

</head> 
<style> 
h3 { 
    text-align: center; 
} 
h5 { 
    text-align: center; 
} 
</style> 
<body> 


<?php 
session_start(); 

$sessionid = session_id(); 
$currentDate = date('Y-m-d'); 

echo "sessionNUM &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp = $sessionid\n"; 
echo "<br>";   

//Connect to DB 

     require_once 'configordonline.php'; 
     $conn = new mysqli($hn, $un, $pw, $db); 
     if ($conn->connect_error) die($conn->connect_error); 


//Enter Session ID and set Order ID 
    //search for session info already exsiting 

    $result=$conn->query("SELECT * FROM HEADERS WHERE sessionid='$sessionid' AND date='$currentDate'"); 
    echo mysql_error(); 
    if(mysqli_num_rows($result) > 0){ 
    echo "session info already exists"; 
    } 
    else{ 


session_start(); 
$sessionid = session_id(); 

     $sql="INSERT INTO HEADERS VALUES (NULL, '$sessionid', '$currentDate', 'noneyet')"; 
     if ($conn->query($sql) === TRUE) { 
        echo "New record created successfully"; 
     } 
     else { 
      echo "Error " . $sql . "<br>" . $conn->error; 
     } 
} 
     $res=$conn->query("select ORDID from HEADERS where sessionid='$sessionid'"); 
     list($ORDERNUM)= $res->fetch_row(); 
     echo "<br>";   
     echo "<br>"; 
     echo "ORDERNUM &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp = $ORDERNUM\n"; 

     $_SESSION["OrderNum"] = $ORDERNUM; 
     echo "<br>";   
     echo "<br>"; 
     echo "Session variables are set."; 


?> 

</body> 
</html> 

輸出上桌面:

sessionNUM   = 055666a122f5f77e748880c5e488c443 
session info already exists 

ORDERNUM   = 77 

Session variables are set. 

移動(新sessionNUM和ORDERNUM在每次刷新時:

sessionNUM   = a703f4b3492be025c7b01cda45fb3653 
New record created successfully 

ORDERNUM   = 113 

Session variables are set. 

回答

0

每這篇文章中,我發現會議開始前應來html,然後在剩下的php之後。

Login works on desktop but not mobile?

現在看起來工作正常。

<?php 
error_reporting(E_ALL); ini_set('display_errors', 1); 
session_start(); 
?> 
<html> 
<head> 

<title>Online Ordering</title> 

</head> 
<style> 
h3 { 
    text-align: center; 
} 
h5 { 
    text-align: center; 
} 
</style> 
<body> 


<?php 


$sessionid = session_id(); 
$currentDate = date('Y-m-d'); 

echo "sessionNUM &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp = $sessionid\n"; 
echo "<br>";   

//Connect to DB 

     require_once 'configordonline.php'; 
     $conn = new mysqli($hn, $un, $pw, $db); 
     if ($conn->connect_error) die($conn->connect_error); 


//Enter Session ID and set Order ID 
    //search for session info already exsiting 

    $result=$conn->query("SELECT * FROM HEADERS WHERE sessionid='$sessionid' AND date='$currentDate'"); 
    echo mysql_error(); 
    if(mysqli_num_rows($result) > 0){ 
    echo "session info already exists"; 
    } 
    else{ 


$sessionid = session_id(); 

     $sql="INSERT INTO HEADERS VALUES (NULL, '$sessionid', '$currentDate', 'noneyet')"; 
     if ($conn->query($sql) === TRUE) { 
        echo "New record created successfully"; 
     } 
     else { 
      echo "Error " . $sql . "<br>" . $conn->error; 
     } 
} 
     $res=$conn->query("select ORDID from HEADERS where sessionid='$sessionid'"); 
     list($ORDERNUM)= $res->fetch_row(); 
     echo "<br>";   
     echo "<br>"; 
     echo "ORDERNUM &nbsp&nbsp&nbsp&nbsp &nbsp&nbsp&nbsp = $ORDERNUM\n"; 

     $_SESSION["OrderNum"] = $ORDERNUM; 
     echo "<br>";   
     echo "<br>"; 
     echo "Session variables are set."; 


?> 
相關問題