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

HTML表单动作标签中的PHP

一个PHP页面,所以这很可能是我遗漏的一些愚蠢问题引起的问题,但我不确定是什么.我正在按照W3Schools上的教程创建具有XSS保护功能的表单,但是当我使用代码时< form method =“ post” action =“<?PHP echo $_SERVER ['PHP_SELF');?>” >中,第一个>与form标签相关联,因此引号不匹配,并且操作无法正确完成.

页面如下所示:

编辑:
完整代码如下

<body>
<?PHP
    $fname = $lname = $email = $student = "";
    if($_SERVER["REQUEST_METHOD"] == "POST")
    {
        $fname = $_POST["fname"];
        $lname = $_POST["lname"];
        $email = $_POST["email"];
        switch($_POST["student"])
        {
            case "u":
                $student = "Undergraduate";
                break;
            case "g":
                $student = "Graduate";
                break;
            default:
                $student = "Non-Student";
        }   
    }
?>
<form method="post" action="<?PHP echo $_SERVER['PHP_SELF'); ?>">
    <p>First Name: <input type="text" name="fname"> </p>
    <p>Last Name: <input type="text" name="lname"> </p>
    <p>Email: <input type="email" name="email"> </p>
    <p>Student Status: <select name="student">
                        <option value="u">Undergraduate</option>
                        <option value="g">Graduate</option>
                        <option value="x">Non-Student</option>
                    </select> </p>
    <input type="submit" value="Submit">
</form>

<?PHP
    echo "<h3>Input:</h3>"
    echo "Name: " . $fname . " " . $lname . "<br>";
    echo "Email: <a href=mailto:" . $email . ">" . $email . "</a><br>";
    echo "Student: " . $student;
?>
</body>

解决方法:

.html文件不会像.PHP文件那样被解析,因此您将需要在系统上安装Web服务器.

旁注:您可以指示Apache将.html文件视为PHP,如果有时间的话,可以这样做.

>这是关于堆栈的文章Using .htaccess to make all .html pages to run as .php files?

.PHP文件无法直接从Web浏览器运行,除非已对其进行解析并在服务器或托管站点上运行.

它们需要从本地计算机以http://localhost/file.PHP进行访问.

取决于您的平台,可以使用在Windows,Mac和Linux上运行的Xampp.

> https://www.apachefriends.org/

沼泽:

> http://www.wampserver.com/en/
> http://www.easyphp.org/

Mamp(Mac):

> https://www.mamp.info/

另外,您还有一些语法错误.

action="<?PHP echo $_SERVER['PHP_SELF'); ?>">
                                      ^

应该是方括号,而不是括号.

action="<?PHP echo $_SERVER['PHP_SELF']; ?>">

并回显“< h3>输入:< / h3>”缺少结束分号.

那些会引发/引起解析错误.

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

相关推荐