微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

cookie 未设置

如何解决cookie 未设置

我正在处理注册表的后端 (bottlesbeach.eu/signin.PHP)。我已经完成了将数据发送到数据库的所有部分(用户名、密码、电子邮件),现在 我想在另一个页面上传递我的用户名值并且我想使用 cookie(如果表单已发送) 以这种方式:

    if($sub == true){
$cookie_name = "usn";
$cookie_value = $username;
setcookie($cookie_name,$cookie_value,time() + (86400 * 30),"/"); // 86400 = 1 day
?>

<?PHP
if(!isset($_COOKIE[$cookie_name])) {
    echo "Cookie named '" . $cookie_name . "' is not set!";
} else {
    echo "Cookie '" . $cookie_name . "' is set!<br>";
    echo "Value is: " . $_COOKIE[$cookie_name];
}
}
?>

问题是 cookie 从未设置过,我不知道为什么。 如何正确设置我的 cookie?

我尝试这样做,但 cookie 立即清除:

 <?
if($_SERVER["REQUEST_METHOD"] == "POST"){
$cookie_name = "usn";
$cookie_value = $username;
setcookie($cookie_name,time() + (864000 * 30),"/"); // 86400 = 1 day
}

  <?PHP

  //Connect To Database
  
  $hostname="";
  $username="";
  $password="";
  $dbname="";
  $name ="";
  $hour =date('H:i');
  $insert = "";
  $cont = 0;
  $dt = date("Y-m-d");

$conn = new MysqLi($hostname,$username,$password,$dbname); 
  if ($conn->connect_error) {
  die("Connection Failed: " . $conn->connect_error);
}

  /*
  
  */
  
 

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

     
      $username = $_POST["username"];
      $email = $_POST["e-mail"];
      $password = $_POST["password"];
      $rtpassword = $_POST["rtpassword"];
      $nook = false;
      $errsameuser = false;
      $sub = false;

      $queryy = "SELECT username FROM users";
      $result = $conn->query($queryy);
      
      if ($result->num_rows > 0) 
      {
        //output data of each row
      while($row = $result->fetch_assoc()) 
       {
        if( $row["username"] == $username){  //username already exist
            $errsameuser = true;
    }
  }
 }

      

      if($password == $rtpassword){ //pssw e conferma pssw enno uguali
        
        ?>
        <script>
        console.log("password 1 and 2 match");
        </script>
        <?

        if(strlen($password) < 8)
          $nook = true;
        
        if(!preg_match("#[a-z]+#",$password) ) //pssw must cointain at least  lower word
         $nook = true;
         
         if(!preg_match("#[A-Z]+#",$password) ) //pssw must cointain at least upper word
         $nook = true;
         
        if ( !preg_match("/[\'^£$%&*()}{@#~?><>,|=_+!-]/",$password) )  //pssw must cointain at least special character
         $nook = true;
         
        if ( !preg_match("#[0-9]+#",$password) )  //pssw must cointain at least number
        $nook = true;
        


        if($nook){
            ?>
        <script>
        console.log("but password not ok")
        </script>
            <?
        }

        if($errsameuser){
          ?>
        <script>
         Swal.fire({
  title: 'Username already exist',text: "Please choose a new username to continue",icon: 'error',showCancelButton: false,confirmButtonColor: '#3085d6',confirmButtonText: 'Ok'
}).then((result) => {
  
})
        </script>
        <?
        }

       

        else{
            $query = "INSERT INTO users (username,email,password) VALUES ('$username','$email','$password')";
            $result = $conn->query($query);
            $sub = true;

     ?>
        
        <script>
        Swal.fire({
  title: 'Welcome to bottles beach',text: "You successfully submitted the form",icon: 'success',confirmButtonText: 'Ok'
}).then((result) => {
  if (result.isConfirmed) {
    location="index.PHP"
  }
})
        console.log("Form is correct and submitted");
        </script>
            <?
    



        }

      }
      
  }
  
$conn->close();

?>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。