将表单发送到SQL数据库(不允许405)

时间:2014-03-30 18:15:45

标签: php html mysql nginx

所以我有这个网页:

<head>
  <meta charset="utf-8">
  <link rel="stylesheet" href="css/inputstyle.css">
  <title>Database Input</title>
</head>

<body>
    <h1> Database Input Page </h1>
    <p> Here you can input to the Database </p>
    <a href="View.html">View Database.</a>

    <form submit="submit.php" method="post">
        <p>First Name: <input type="text" name="firstname" /></p>
        <p>Surname: <input type="text" name="surname" /></p>
        <p>Age: <input type="text" name="age" /></p>
        <p><input type="submit" /></p>
    </form>
</body>

这个php脚本:

<?php

$username="root";
$password="password";
$database="posts";
$firstname=$_POST['firstname'];
$surname=$_POST['surname'];
$age=$_POST['age'];
mysql_connect(serverip,$username,$password);
@mysql_select_db($database) or die( "Unable to connect to Database");
$query = "INSERT INTO input  
VALUES('$firstname','$surname','$age')";mysql_query($query);mysql_close();

?>

在我的mySQL数据库中,我有数据库&#39;帖子&#39;和表input。使用输入表我只有3列,按顺序排列firstnamesurnameage

我需要让这个适用于学校项目,但是当我尝试提交表单时,我收到错误405 Not Allowed。这是我第一次使用php和mySQL,所以我不确定我是否犯了任何错误。此外,我的所有网络文件都位于/usr/share/nginx/html内,但我确实有一个包含css的子文件夹。

1 个答案:

答案 0 :(得分:2)

编辑:

您有:(提交

<form submit="submit.php" method="post">
      ^^^^^^

将其更改为:(操作

<form action="submit.php" method="post">

来自OP's original question/code

的原始答案

POST变量区分大小写。

你有:

  • <input type="text" name="firstname" />
  • 使用$firstname=$_POST['First Name'];

    进行调用

    这有两个原因。

    1. 应该是$firstname=$_POST['firstname'];
    2. 您当前的变量包含空格。

您还有:

  • <input type="text" name="surname" />
  • 使用$surname=$_POST['Surname']; 调用

应为$surname=$_POST['surname'];

然后

  • <input type="text" name="age" />
  • $age=$_POST['Age'];调用,但应为$age=$_POST['age'];

这行我不确定mysql_connect(serverip,$username,$password); serverip未定义。


<强>脚注:

mysql_*函数弃用通知:

http://www.php.net/manual/en/intro.mysql.php

从PHP 5.5.0开始,不推荐使用此扩展,不建议用于编写新代码,因为将来会删除它。相反,应使用mysqliPDO_MySQL扩展名。在选择MySQL API时,另请参阅MySQL API Overview以获得进一步的帮助。

这些功能允许您访问MySQL数据库服务器。有关MySQL的更多信息,请访问»http://www.mysql.com/

可以在»http://dev.mysql.com/doc/找到MySQL的文档。