$_POST未接收到所有值

4

我的$_POST已经接收到了用户名和密码,但没有接收到我所需要的其他数据。所有名称都与我的表中的匹配,我一定是漏掉了什么。下面是包含表单数据的HTML文件以及应该将值存储在user_info表中的php文件。

<HTML>
<link rel="stylesheet" href="testcss.css" type="text/css">
<body>

<div id="header">
<h1>Register</h1>
</div>

<div id="formtext">
    <form name="register" action="register.php" method="post">
    First Name: <input type:"text" name"firstName"><br>
    Last Name: <input type"text" name"lastName"><br>
    Email: <input type:"text" name"email"><br>
    Desired Username: <input type="text" name="username"><br>
    Password: <input type="text" name="password"><br>
    <input type="submit" name="Submit">
</div>

</body>
</HTML>

这里是php文件...

<?php
mysql_connect('localhost', 'root', 'root') or die(mysql_error());
mysql_select_db("myDatabase") or die(mysql_error());

$firstName = $_POST["firstName"];
$lastName = $_POST["lastName"];
$email = $_POST["email"];
$username = $_POST["username"];
$password = $_POST["password"];


mysql_query("INSERT INTO user_info(firstName, lastName, email, username, password) VALUES ('$firstName', '$lastName', '$email', '$username', '$password')");

header( 'Location: loaclhost:8888/userHome.html' ) ;

?>

如果一个答案解决了你的问题,你能否接受它呢?谢谢。 - Mightymuke
2个回答

7

您的HTML属性格式不正确。

所有属性都应该采用attribute="value"的格式。

两个有效属性的格式是正确的,而其他属性的格式不正确。

例如,<input type:"text" name"email">是错误的。正确的格式应该是<input type="text" name="email" />

它们应该像这样:

    First Name: <input type="text" name="firstName"><br>
    Last Name: <input type="text" name="lastName"><br>
    Email: <input type="text" name="email"><br>
    Desired Username: <input type="text" name="username"><br>
    Password: <input type="text" name="password"><br>
    <input type="submit" name="Submit">

如果您还没有使用代码编辑器,我建议您获取一个具有语法高亮或自动完成功能的代码编辑器。Notepad ++,Netbeans或Visual Studio都可以为您的代码添加颜色,并使查找错误变得更加容易。
您的PHP中也可能存在错误:header('Location:loaclhost:8888 / userHome.html'); - 我感觉您可能想在那里输入“localhost”;-)

我只是盯着它看太久了哈哈。那很明显,谢谢! - Sam Johnson

3

您的标记有一些错误:

<input type:"text" name="" />
<input type"text" name="" />

应该是

<input type="text" name="" />

非常感激!这就是当你不休息时会发生的事情,哈哈。 - Sam Johnson
我认为如果没有break语句,就无法在不同的时间以不同的方式犯同样的错误?你应该修正HTML标签。此外,请停止使用mysql_*函数,改用PDO。你的代码已经容易受到SQL注入攻击。 - itachi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接