【发布时间】:2018-07-01 19:47:00
【问题描述】:
努力实现一种方法来阻止此代码中的重复条目我已经尝试了几种使用 if 和 else 语句的方法,但我似乎无法让它工作。谁能提供解决方案?
<?php
require('db.php');
// If form submitted, insert values into the database.
if (isset($_REQUEST['username'])){
// removes backslashes
$username = stripslashes($_REQUEST['username']);
//escapes special characters in a string
$username = mysqli_real_escape_string($con,$username);
$email = stripslashes($_REQUEST['email']);
$email = mysqli_real_escape_string($con,$email);
$password = stripslashes($_REQUEST['password']);
$password = mysqli_real_escape_string($con,$password);
$signupdate = date("Y-m-d H:i:s");
$query = "INSERT into `users` (username, password, email, signupdate)
VALUES ('$username', '".md5($password)."', '$email', '$signupdate')";
$result = mysqli_query($con,$query);
if($result){
echo "<div class='form'>
<h3>You are registered successfully.</h3>
<br/>Click here to <a href='login.php'>Login</a></div>";
}
}else{
?>
<div class="form">
<form name="registration" action="" method="post">
<input type="text" name="username" placeholder="Username" required />
<input type="email" name="email" placeholder="Email" required />
<input type="password" name="password" placeholder="Password" required />
<input type="submit" name="submit" value="Register" />
</form>
</div>
<?php } ?>
【问题讨论】:
-
我无法识别代码中的任何内容是您声称的尝试。
-
是的,我在重复页面上尝试了几次,但没有成功,我不知道为什么,所以我删除了它。
-
我要尝试在 C9 上恢复页面。
-
在最后一个 else 语句完成后,我最后一次尝试使用 else if 语句时无法获取该页面,并且代码基本上没有被提取(另一方面,它没有显示任何错误)。
-
为什么不在数据库中创建唯一索引?索引基于“电子邮件”或“用户名”,无论您想使用哪一个。这样任何重复的条目都只会返回一个 mysql 错误。
标签: php sql phpmyadmin