HTML表单的action属性中的目标文件将被下载,而不是被解析


The target file in action attribute of HTML form gets downloaded instead of getting parsed?

我有一个文件signupform.html,它有以下代码:

<!DOCTYPE html>
<html>
<body>
<form action = "signup.php" method = "post">
     USERNAME:<input type="text" name="uname"><br/>
    PASSWORD:<input type="password" name="pswd"><br/>
    <input type ="submit">
</form>
</body>
</html>

注意表单的action属性调用signup.php

文件signup.php的代码是:

<?php
require('db.php');
$username = mysqli_real_escape_string($myConn,$_POST['uname']);
$password = mysqli_real_escape_string($myConn,$_POST['pswd']);
$query= 'SELECT COUNT(*) FROM $database WHERE USERNAME=$username;';
$result=mysqli_query($myConn,$query);
$array=mysqli_fetch_array($result);
if(!$query)
    echo 'FAILED:'.mysqli_error();
if($array[0]==1)
    echo 'A user with this username already exists! Please select a different username.';
else if($array[0]==0)
    {
        mysqli_query('INSERT INTO $database VALUES ($username , $password)');
        echo 'Congratulations! You have been signed up successfully.';
    }
?> 

db.php的代码是:

<?php
$host = 'localhost';
$uname='root';
$pswd='';
$myDB='signup';
$myConn = new mysqli($host,$uname,$pswd);
$database = mysqli_select_db($myConn,$myDB);
?>

现在,我面临的问题是,当我打开signupform.html并输入用户名和密码时,会下载signup.php文件。为什么会发生这种情况?

如果您正在运行XAMPP/WAMPP,您是否已将文件signup.html放置在htdocs目录中?如果没有,请放在htdocs/signupform.html 下

我在搜索与您类似的问题时发现了这个问题。

Apache正在下载php文件,而不是显示它们

所提出的解决方案可能过于技术化。一个更简单的解决方案是卸载您的wamp/xample并重新下载以获得一组新的php文件。