【发布时间】:2016-01-08 21:41:29
【问题描述】:
我对 PHP/MySQL 不太了解,所以请原谅我的无知。 我的网站上有一个登录表单,我创建了一个用于创建帐户的表单,视觉上一切都很好,但是,我需要将数据发送到我在 mysql 中的客户帐户表。当我提交表单时,它似乎可以工作,创建 ID 1,但所有其他字段都是空白的。
PHP:
<?php
$hostname="localhost";
$username="createaccount";
$password="******";
$dbname="Island_Web_Design";
$usertable="customer_accounts";
$connection = mysql_connect($hostname, $username, $password);
mysql_select_db($dbname, $connection);
$sql="INSERT INTO customer_accounts (firstname, lastname, email, password)
VALUES
('$_POST[firstname]','$_POST[lastname]','$_POST[email]','$_POST[password]')";
if (!mysql_query($sql,$connection))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con);
?>
HTML:
<form role="form" action="Create_Account.php">
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<input type="text" name="firstname" id="firstname" class="form-control input-sm floatlabel createinput" placeholder="First Name">
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<input type="text" name="lastname" id="last_name" class="form-control input-sm createinput" placeholder="Last Name">
</div>
</div>
</div>
<div class="form-group">
<input type="email" name="email" id="email" class="form-control input-sm createinput" placeholder="Email Address">
</div>
<div class="row">
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<input type="password" name="password" id="password" class="form-control input-sm createinput" placeholder="Password">
</div>
</div>
<div class="col-xs-6 col-sm-6 col-md-6">
<div class="form-group">
<input type="password" name="password_confirmation" id="password_confirmation" class="form-control input-sm createinput" placeholder="Confirm Password">
</div>
</div>
</div>
<input type="submit" name="submit" value="Create Account" class="btn btn-primary btn-block register">
</form>
提前谢谢你。
【问题讨论】:
-
请stop using
mysql_*functions。 These extensions 已在 PHP 7 中删除。了解PDO 和 MySQLi 的 prepared 语句并考虑使用 PDO,it's really pretty easy。 -
请使用 PHP 的built-in functions 来处理密码安全问题。如果您使用的 PHP 版本低于 5.5,您可以使用
password_hash()compatibility pack。 -
在您打开
<?php标记error_reporting(E_ALL); ini_set('display_errors', 1);之后将错误报告添加到文件顶部,在您的查询中添加错误检查,例如or die(mysql_error())。或者您可以在当前的错误日志中找到问题。 -
帮自己一个忙,只需在接收表单提交的 PHP 页面中放置
print_r($_POST)或var_dump($_POST)。填写您的表格,提交并仔细查看打印到屏幕上的数据。熟悉表单数据是如何发布到脚本的,包括传递的内容和不传递的内容。
标签: php html mysql database forms