我正在 HTML 上制作一个身份验证表单,并尝试将其与 PHP 链接起来。HTML 代码如下
<!DOCTYPE html>
<html>
<head>
<title>Authorized logged in</title>
</head>
<div id = "adminBoard">
<form method = "POST" action = "auth.php">
<input type="text" class = "credentialInputL" name="loginInput" value = "login" size = 30>
<input type="password" class = "credentialInputP" name="passwordInput" value = "pass" size = 30>
<input class="loginLogoutButton" type = "submit" value = "Sign in" name="loginLogout">
</form>
</div>
</body>
</html>
相应的 auth.php 文件(我在扩展 POST 方法之前创建了它以确保其基本正常工作)是:
<?php
if (isset($_POST['loginInput']) && isset($_POST['passwordInput'])){
$username = $_POST['loginInput'];
$password = $_POST['passwordInput'];
echo "The username is :" . $username;
echo "The password is :" . $password;
}
?>
但是当我在 Chrome 中打开 HTML 文件并单击“登录”按钮时,auth.php 文件就会被下载。没有任何动作。html 和 php 文件都在同一个文件夹中。
我是否缺少一些语法/运算符/方法?
答案1
当 Web 服务器无法识别文件类型时,它倾向于下载而不是执行。
首先确保你已经安装了 php5module 并且启用了它。你可以从命令行检查:
$ a2enmod -l
操作别名 auth_basic authn_file authz_host authz_groupfile authz_user autoindex cgi dir env 过期包括 log_config mime 协商 setenvif ssl socache_shmcb userdir reqtimeout authn_core mcrypt mod_rewritephp5authz_core
然后检查你的 httpd.conf 或 default-server.conf 并确保它包含添加类型
文档根目录“/srv/www/htdocs”
目录索引 index.html index.htm index.php index.php5 index.php4 index.php3
添加类型应用程序/x-httpd-php .php .php3 .php4 .php5
不要忘记重新启动 Ubuntu 的 Web 服务器:sudo service apache2 restart