[英]How to debug “Warning: session_regenerate_id(): Cannot regenerate session id” in a PHP program?
我正在創建一個消息傳遞系統,其中消息ID為session_id,它位於session_regenerate ID上。
它工作正常,但是,當我更改模板時,它繼續顯示如下錯誤:
“警告:session_regenerate_id():無法重新生成會話ID-第24行的C:\\ xampp \\ htdocs \\ READS網站MAIN \\ Admin \\ admin-page \\ admin \\ message.php中已發送的標頭”
下面是我的代碼:
<?php
include('header.php');
include('config.php');
if(isset($_POST['submit'])){
$to = $_POST['to'];
$subject = $_POST['subject'];
$message = $_POST['message'];
$id = session_id();
$sender = $_SESSION['id'];
date_default_timezone_set("ASIA/MANILA");
$date = date('m-d-Y h:i a');
$sql = "INSERT INTO `messages`(`session_id`, `sender`, `recipient`,
`subject`, `content`, `date`, `stat`)
VALUES ('$id','$sender','$to','$subject','$message','$date','unread')";
mysql_query($sql) or die(mysql_error());
session_regenerate_id();
if($sql){
echo "<script>alert('Message Sent')</script>";
}else {
echo "<script>alert('error')</script>";
}
}
?>
<div>
<ul class="breadcrumb">
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">User</a>
</li>
</ul>
</div>
<div class="box-content">
<form action='' method='POST'>
To: <select name='to' class="form-control" id="inputEmail3">
<?php $sql = "SELECT * FROM users ";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)){
echo "<option value='".$row['id']."'>".$row['Fname']."
".$row['Lname']." (".$row['user_type'].")</option>";
}
?>
</select>
<div class='col-md-2 col-sm-2 col-xs-5' style='margin-left:150px;
margin-top:-10px; width:500px;'>
<br>
Subject: <input type='textfield' name='subject' class="form-control"
id="inputEmail3"><br><br>
Message: <textarea name='message' class="form-control" id="inputEmail3"
cols='30' rows='8'></textarea>
<div style = 'margin-left:420px; margin-top: 10px;'>
<input type='submit' name='submit' value='Send'></div>
</td>
</body>
</html>
<?php include('footer.php');
?>
發送任何內容之前,請確保設置會話或cookie。 會話和cookie設置在響應的標頭中,由於發送內容(正文)后無法更改標頭,因此您將面臨此警告。
而且,在更徹底地閱讀了您的代碼之后,我必須提醒您,由於您沒有逃避任何查詢,因此不應將此代碼放到現實世界中。 此外,您還應該真正切換到MySQLi或PDO,因為自幾個PHP版本以來,不推薦使用mysql_ *函數。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.