我无法将表单信息插入我的数据库中,我不断收到 404 错误
Posted
技术标签:
【中文标题】我无法将表单信息插入我的数据库中,我不断收到 404 错误【英文标题】:I cannot insert my form information into my database I keep getting a 404 error 【发布时间】:2015-10-31 14:50:25 【问题描述】:您好,我在将表单信息插入数据库时遇到了一些问题。 我正在接收连接到数据库的回显,但是当单击提交时,我收到 404 错误。 任何帮助将不胜感激。提前谢谢!
<?php
$host="localhost";
$dbuser="root";
$pass="******";
$dbname="learn";
$con = mysqli_connect ($host, $dbuser, $pass, $dbname);
if (mysqli_connect_errno ())
die ("Connection Failed!" . mysqli_connect_error());
else
echo "Connected to database $dbname ";
if(isset($_POST['submit']))
$fname=$_POST ['fname'];
$lname=$_POST ['lname'];
$email=$_POST ['email'];
$pswrd=$_POST ['pswrd'];
$sql = $con->query ("INSERT INTO users ( fname, lname, email, pswrd,)
VALUES ( ' $fname ' , ' $lname ' , ' $email ' , ' $pswrd ' , ')" );
?>
<!DOCTYPE html>
<html lang="en-US">
<head>
<title>Signup</title>
<meta charset="utf-8">
<meta name="description" content="description of webpage">
<meta name="keywords" content="keywords go here">
<meta name="author" content="me">
<link rel="stylesheet" href="css/style.css">
<link rel="stylesheet" href="css/signup.css">
<link rel="index" href="index.php">
<link rel="icon" href="img/favicon.png" sizes="16x16" type="image/png">
</head>
<body>
<div class="header">
<div id="logo">
<a href="index.php"><img src="img/logo.png" title="learnlogo"/></a>
</div>
</div>
<div id="signupform">
<form action="submit" method="post"><br>
<input type="text" name="fname" placeholder="First name">
<input type="text" name="lname" placeholder="Last name"><br><br>
<input type="text" name="email" placeholder="Email address">
<input type="password" name="pswrd" placeholder="Password"><br><br>
<input type"submit" value="Submit">
</form>
</div>
<?php
include ("inc/footer.php");
?>
【问题讨论】:
action="submit"
需要是处理action="thisform.php"
等表单的url
w3schools.com/tags/tag_form.asp
对不起,你能给我一个例子吗?我是新手。我将所有代码都放在 1 页上,所以我会将其设为 action="signup.php" 吗?
【参考方案1】:
从您的 <form>
标记中删除 action="submit"
。 action="URL" 属性“指定在提交表单时将表单数据发送到哪里” - 当发送回相同的 url 时不需要它。
例如改变:
<form action="submit" method="post"><br>
到:
<form method="post"><br>
【讨论】:
非常感谢您修复了 404 错误,但我的用户表仍未更新。知道为什么吗? 尝试将<input type"submit" value="Submit">
更改为<input type="submit" name="submit" value="Submit">
【参考方案2】:
下面,action 应该是处理代码的 php 文件的名称。在这种情况下,可能是 $_SERVER['PHP_SELF']。
<div id="signupform">
<form action="submit" method="post"><br>
【讨论】:
【参考方案3】:您应该在另一个文件中保存您的连接信息。
创建一个名为 Config.php 只读的文件
<?
/* Attempt MySQL server connection. Assuming you are running MySQL
server with default setting (user 'root' with no password) */
$link = mysql_connect("localhost", "root", "******", "demo");
// Check connection
if($link === false)
die("ERROR: Could not connect. " . mysql_connect_error());
?>
创建一个名为 Insert.php 的文件
<?
include 'Config.php';
?>
<?
// Escape user inputs for security
$first_name = mysql_real_escape_string($link, $_POST['firstname']);
$last_name = mysql_real_escape_string($link, $_POST['lastname']);
$email_address = mysql_real_escape_string($link, $_POST['email']);
$pswr = mysql_real_escape_string($link, $_POST['pswrd']);
// attempt insert query execution
$sql = "("INSERT INTO users ( fname, lname, email, pswrd,)
VALUES ( ' $fname ' , ' $lname ' , ' $email ' , ' $pswrd ' , ')" );
if(mysql_query($link, $sql))
echo "Records added successfully.";
else
echo "ERROR: Could not able to execute $sql. " . mysql_error($link);
// close connection
mysql_close($link);
?>
您的表格:
<div id="signupform">
<form action="Insert.php" method="post"><br>
<input type="text" id="fname" name="fname" placeholder="First name">
<input type="text" id="lname" name="lname" placeholder="Last name"><br><br>
<input type="text" id="email" name="email" placeholder="Email address">
<input type="password" id="pswrd" name="pswrd" placeholder="Password"><br><br>
<input type"submit" value="Submit">
</form>
</div>
【讨论】:
NP 希望对您有所帮助,并且您的连接字符串应该像 config.php 文件一样存储在 insert.php 页面顶部并调用包含。这样你就不必一直重写连接字符串了。 已更新以将连接字符串移动到单独的文件。以上是关于我无法将表单信息插入我的数据库中,我不断收到 404 错误的主要内容,如果未能解决你的问题,请参考以下文章