[英]Connect HTML form to Database using PHP
我有一个HTML表单(下面的代码),我的目标是将用户生成的数据提交到数据库,以便他们以后可以使用存储的信息登录。 我正在使用MAMP。
问题:我创建了一个PHP文件来处理这些数据并将其发送到数据库,但是当我按下“提交”时,我唯一得到的就是一个页面,该页面重复了我的PHP代码。 我尝试将文件保存到htdocs文件夹中,但出现404错误。
我知道以前曾问过这个问题的变体,但仍然没有找到可行的解决方案。 我使用PHP进行了“ Hello World”测试,并且工作正常,因此我认为一切都已正确连接/安装。 非常感谢任何建议!
这是我的HTML:
<label>Username</label>
<input type="text" id="name" name="name" placeholder="Choose a Username" required>
<span class="error"><?php echo $nameErr;?></span>
<br>
<label>Email address:</label>
<input type="text" id="email_addr" name="email_addr" placeholder="Enter your Email" required>
<span class="error"><?php echo $email_addrErr;?></span>
<br>
<label>Confirm email address:</label>
<input type="text" id="email_addr_repeat" name="email_addr_repeat" placeholder="Confirm email address" required oninput="check(this)">
<span class="error"><?php echo $email_addr_repeatErr;?></span>
<br>
<label>Create a password:</label>
<input type="password" id="password" name="password" placeholder="Create a Password" required>
<span class="error"><?php echo $passwordErr;?></span>
<br>
<label>Confirm password:</label>
<input type="password" id="password_repeat" name="password_repeat" placeholder="Confirm Password" required oninput="check(this)">
<span class="error"><?php echo $password_repeatErr;?></span>
<br>
<input type="submit" id="button" name="submit" value="Submit">
这是我的PHP:
if( $_POST )
{
$con = mysql_connect("localhost");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("mydatabase", $con);
$users_name = $_POST['name'];
$users_email = $_POST['email_addr'];
$users_email_two = $_POST['email_addr_repeat'];
$users_password = $_POST['password'];
$users_password_two = $_POST['password_repeat'];
$query = " INSERT INTO `mydatabase`.`registration` (`name`,`email_addr`,`email_addr_repeat`, `password`,`password_repeat`) VALUES (NULL, '$users_name','$users_email','$users_email_two','$users_password', '$users_password_two')";
mysql_query($query);
echo "<h2>Thank you for registering!</h2>";
mysql_close($con);
}
列数与值数不匹配 。 什么插入为NULL?
INSERT INTO `mydatabase`.`registration` (`name`, `email_addr`,
`email_addr_repeat`, `password`,
`password_repeat`) VALUES (NULL, '$users_name',
'$users_email', '$users_email_two','$users_password',
'$users_password_two');
应该
INSERT INTO `mydatabase`.`registration` (`NULL_COLUMN`, `name`, `email_addr`,
`email_addr_repeat`, `password`,
`password_repeat`) VALUES (NULL, '$users_name',
'$users_email', '$users_email_two','$users_password',
'$users_password_two');
其中NULL COLUMN
是作为NULL
插入的列。
从插入查询中删除NULL值:
$query = " INSERT INTO mydatabase.registration (name, email_addr, email_addr_repeat, password, password_repeat) VALUES ('$users_name', '$users_email', '$users_email_two','$users_password', '$users_password_two')";
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.