【发布时间】:2023-04-01 23:52:01
【问题描述】:
我在一个名为 reservation.php 的页面中设置了两个 cookie,我通过 $POST 方法读取两个输入的内容,
if (isset($_POST['chambre']) && isset($_POST['option_chambre']) )
{
setcookie('preference',$_POST['option_chambre'],time()+3600*24*31,"http://127.0.0.1/partie_3_f/accueil.php",null, false, true);
setcookie('type',$_POST['chambre'],time()+3600*24*31,"http://127.0.0.1/partie_3_f/accueil.php",null, false, true);
}
然后在其他页面中,我尝试检查数据库并显示结果,其中两个列的值将与 cookie 中存储的值相同
<?php
{
$con = mysqli_connect('localhost','root','root','pdxhotel');
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
$type=$_COOKIE['type'];
$pre = $_COOKIE['preference'];
$soal = $con->query("select * from chambre where vide = 1 and type_chambre='".$type."' and preference = '".$pre."'");
if (mysqli_num_rows($soal)==0)
{
echo "pas de chambre disponible";
}
else
{
?>
<div id="titres" align="center">
<label >----------------------------</label>
<h2 id="tit"> Resultat de recherche </h2>
<label >----------------------------</label>
</div>
<?php
for ($i = 0; $i<mysqli_num_rows($soal); $i++)
{
?>
<div id="offre1" class="offre">
<img src="Images/chambre3.jpg" width="100%" height="50%" />
<p > <?php echo "Chambre de type",$_COOKIE['type'],"and qui vérifie la condition:",$_COOKIE['preference']?> </p>
</div>
<?php
}
}
}
?>
我遇到了问题注意:数组到字符串的转换! 这是我第一次使用 cookie,你能告诉我哪里出了问题,我该怎么办?
【问题讨论】:
-
该错误发生在哪一行?
-
您的代码对 SQL 注入开放。请通过
bind_param学习使用准备好的查询。 -
@Barmar 问题发生在选择请求中
-
var_dump($type)和var_dump($pre)显示什么? -
正如@barmar 所说,不要忘记检查:stackoverflow.com/questions/601300/what-is-sql-injection
标签: php mysql database cookies