这主要是另一双眼睛,因为我看不到任何错误,而且它没有发布任何错误。我正在尝试使用 PHP/SQL 创建用户注册表单作为作业的一部分,但是当我点击注册时,它没有显示任何内容,只是一个空白页面。在修复连接之前,它会显示通用的“无法连接到数据库”。
这是我的 HTML 和 PHP。
PHP
<?php
define('DB_HOST', 'localhost');
define('DB_NAME', 'users');
define('DB_USER', 'twisted');
define('DB_PASSWORD', '********');
$con = mysql_connect(DB_HOST,DB_USER,DB_PASSWORD) or die ("Failed to connect to MySQL: " . mysql_error());
$db = mysql_select_db(DB_NAME,$con) or die("Failed to connect to MySQL: " .mysql_error());
function CreateUser() {
$fname = $_POST['fname'];
$sname = $_POST['sname'];
$username = $_POST['uname'];
$email = $_POST['email'];
$password = $_POST['passwd'];
$query = "INSERT INTO users (fname,sname,username,email,passwd) VALUES ('$fname','$sname','$username','$email','$passwd')";
$data = mysql_query ($query)or die(mysql_error());
if($data)
{
echo "Your registration was successful";
}
}
function SignUp() {
if(!empty($_POST['username'])) {
$query = mysql_query("SELECT * FROM users WHERE username = '$_POST[username]' AND pass = '$_POST[passwd]'") or die(mysql_error());
if(!$row = mysql_fetch_array($query) or die (mysql_error()))
{
CreateUser();
} else {
echo "You are already a registered user";
}
}
}
if(isset($_POST['submit'])) {
SignUp();
}
?>
注册表
<form id="register-form" action="/includes/connect.php" method="post" role="form" style="display: none;">
<div class="form-group">
<input type="text" name="fname"tabindex="1" class="form-control" placeholder="First Name" value="">
</div>
<div class="form-group">
<input type="text" name="sname""abindex="1" class="form-control" placeholder="Last Name" value="">
</div>
<div class="form-group">
<input type="text" name="uname" tabindex="1" class="form-control" placeholder="Username" value="">
</div>
<div class="form-group">
<input type="text" name="email" tabindex="1" class="form-control" placeholder="Email" value="">
</div>
<div class="form-group">
<input type="password" name="passwd" tabindex="2" class="form-control" placeholder="Password">
</div>
<div class="form-group text-center">
<input type="checkbox" tabindex="3" class="" name="remember" id="remember">
<label for="remember"> Remember Me</label>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="submit" id="login-submit" tabindex="4" class="form-control btn btn-login" value="Log In">
</div>
</div>
</div>
<div class="form-group">
<div class="row">
<div class="col-sm-6 col-sm-offset-3">
<input type="submit" name="register-submit" id="register-submit" tabindex="4" class="form-control btn btn-register" value="Register Now">
</div>
</div>
</div>
</form>
编辑:数据库存在,这些是字段。
最佳答案
您还初始化了 $password = $_POST['passwd'];
,但在查询中错误地使用了它并插入了 $passwd
而不是 $密码
。
$query = "INSERT INTO users (fname,sname,username,email,passwd) VALUES ('$fname','$sname','$username','$email','$passwd')";
关于php - 通过php注册用户,但遇到问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39962135/