Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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_Session - Fatal编程技术网

服务器删除或修改的PHP会话

服务器删除或修改的PHP会话,php,session,Php,Session,我正在制作一张表格供用户填写,然后在“清理”后检查他们的输入 function test_input($data) { $data = trim($data); $data = stripslashes($data); $data = htmlspecialchars($data); return $data; } 然后,在我检查了一些参数之后,我创建了会话,以便稍后回显这些值(第一次让用户查看并检查他们输入的内容是否正确,然后发送电子邮件)

我正在制作一张表格供用户填写,然后在“清理”后检查他们的输入

   function test_input($data)
   {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
   }
然后,在我检查了一些参数之后,我创建了会话,以便稍后回显这些值(第一次让用户查看并检查他们输入的内容是否正确,然后发送电子邮件)

当我使用MAMP时,一切正常,但当我将一切上传到HostGator的服务器时,一些会话被删除,一些值被更改!为什么会这样?为什么要参加一些会议而不是所有会议

此外,我使用$会话,因为当我验证输入时,我是这样做的:

    <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
            <input name='id' type='text'>
    </form>

我解决了!原来我是用PHP5.5编写代码的,而服务器的php配置是用PHP5.2编写的,所以我刚刚对它进行了更新。

显示您实际使用会话变量的代码Slucky guy,得到了2个OK——我通常只得到一个。嗯,我会更担心你代码中的错误…谢谢,但别介意,我会解决的。我在这里发疯了,想弄明白为什么会议会改变或不安。
 <?php
    $checkcode = $_POST["id"];
$query = "SELECT id FROM agents_id_pass WHERE id ='$checkcode'";
$res = mysqli_query($link, $query);
$nres = mysqli_num_rows($res);
$array = mysqli_fetch_array($res);
list($id) = $array;
if ($nres == 0){
    header('Location: ../compra/compra_login_fail.php');
    exit();
}
else{
    session_start();
    $_SESSION['id'] = $checkcode; //HERE I SER THE SESSION
    $_SESSION['planilla_venta_1_session'] = 1;
    mysqli_close($link);
    header('Location: planilla_venta_1.php');
    exit();
}
 <?php
   session_start();

    if (!isset($_SESSION['id'])){
     session_destroy();  
     }
   else{

 //destroy session after 15 mins

   if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 900))               
 {
     // last request was more than 15 minutes ago
     session_unset();     // unset $_SESSION variable for the run-time 
     session_destroy();   // destroy session data in storage
 }
 $_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp

 //Avoid session fixasion, changing session's id every 5 mins.
 ini_set('session.gc-maxlifetime', 300);
 if (!isset($_SESSION['CREATED'])) {
     $_SESSION['CREATED'] = time();
 } else if (time() - $_SESSION['CREATED'] > 300) {
     // session started more than 5 minutes ago
     session_regenerate_id(true);// change session ID for the current session an 
  invalidate old session ID
     $_SESSION['CREATED'] = time();  // update creation time
 }
   }



if ($_SERVER["REQUEST_METHOD"] == "POST")
 {

   $zip = test_input($_POST["zip"]);

if (empty($_POST["zip"])){
  $zipErr = "Código Zip es requerido";
}
else{
  $zip = test_input($_POST["zip"]);

  // check if name only contains letters and whitespace
  if (!preg_match("/^[0-9 ]*$/",$zip))
  {
  $zipErr = "Sólo se permiten números";
  }
  else{
    $_SESSION['zip'] = $zip;
  }
}

   if(!isset($zipErr) &&   isset($_SESSION['zip'])
      echo "<script>
          window.location = 'planilla_venta_members.php'; //IF THERE IS NO ERROR AND THE SESSION IS SET -> REDIRECT TO THE NEXT FORM. ALL SESSIONS SET
        </script>";
  exit();
}

 }
  ?>
 <form name="sell_form" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post">
  <td style="text-align:center"><input class="input" style="width:40px; margin-right:5px" type="input" name="zip" maxlength="5" value="<?php echo $_SESSION['zip'];?>">
  <br>Zip*
  </td>