我想阻止对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/

10-14 13:00
查看更多