我想阻止对PHP页面的访问。
我这样做:如果你登录了,PHP检查是否存在cookie,并执行HTML的回应,否则它会重定向到登录页面。
下面是代码,但当我试图将value属性设置为PHP变量时,我将返回PHP代码ex。“”
选择标记中的PHP代码也不起作用!
<?php
if(isset($_COOKIE['User_Email_Cookie'])) {
session_start();
$name =$_SESSION['User_FullName'];
$phone =$_SESSION['User_Phone'];
echo '<!DOCTYPE html>
<html>
<body>
<h1 class="Title">Reserve a table now!</h1>
<center>
<form action="reservation2.php" method="post">
<div class="App">
<div class="User">
<h2 style="text-align:left;"> Contact:</h2>
<input type="text" id="Name" placeholder="Full Name" value="<?php echo $name ?>" required>
<input type="tel" id="Phone" placeholder="Phone" value="<?php echo $phone ?>" required>
</div>
<div class="DatePeople">
<h2> Choose the Date:</h2>
<input type="date" id="Date" name="TableDate">
<select name="Time" class="time">
<option>19:00</option>
<option>19:30</option>
<option>20:00</option>
<option>20:30</option>
<option>21:00 </option>
<option>21:30</option>
<option>22:00</option>
</select>
<h2 style="margin-top:0px;">Choose Table, People: <a target="_blank" href="media/diagram.png"><img src="media/info.png" width="23px"></a></h2>
<select name="TableNum" class="table">
<?php
include \'connectDb.php\'; #Eisagwgi stoixeiwn gia syndesi me ti vasi
$result=mysqli_query($con,"SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.Columns WHERE
TABLE_NAME = \'available\' AND COLUMN_NAME NOT IN (\'Date\', \'Time\')");
while($row = mysqli_fetch_array($result)) {
echo \'<option>\'.$row[0].\'</option>\';
}
?>
</select>
<input type="number" id="seats" name="People" min="2" max="8" value="4" >
</div>
</div>
<div>
<input type="submit" name="Submit" value="Reserve">
<a class="button" href="logout.php">Log out</a>
</div> </center>
</form>
else {
header("location: reservation.php");
}
最佳答案
问题是您回显html,在回显的内部,您合并了“内部”php标记(例如value="<?php echo $name ?>"
而不是value="' . $name . '"
)。
更改:
echo '<!DOCTYPE html>
致:
?><!DOCTYPE html>
最后,你有:
</form>
换成
</form></body></html><?php
上面的代码允许您通过在正确的位置关闭
php
标记来组合html标记,而不必使用php来echo
标记。阅读documentation了解更多详细信息。
关于php - 回显html页面,并从php变量中将值输入表单,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44344500/