你们好,
希望每个人都可以,现在我有一个管理员可以创建用户的表单,他可以删除用户,因为我会先显示代码
这是我的代码
> > <?php error_reporting(E_ALL);
>
> session_start();
> if(!isset($_SESSION['login']) ||
> $_SESSION['login']!='1' ) {
> header("Location:loginpage.php");
> } ?>
>
> <!DOCTYPE html PUBLIC "-//W3C//DTD
> XHTML 1.0 Transitional//EN"
> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
> <html
> xmlns="http://www.w3.org/1999/xhtml">
> <head> <meta http-equiv="Content-Type"
> content="text/html; charset=utf-8" />
> <title>My Control panel</title> <link
> href="../css_style.css"
> rel="stylesheet" type="text/css" />
> </head>
>
>
>
> <body> <div id="werpper"> <div
> id="content">
>
> <div id="header">My control -
> Panel</div> <div id="body_cntent">
> <div id="left_side"> <p>Home and
> instructions</p> <p><a
> href="../control_panel.php">main
> directory</a></p> <p><a
> href="add_event.php">Add new
> event</a></p> <p><a
> href="../editoccasion.php">Control
> Occasion's</a></p> <p><a
> href="add_photos_and_occasion.php">Add
> Photos_occasion</a></p> <p><a
> href="../signout.php">Sign out</a></p>
> </div> <div id="right_side">
>
> <h2>Add new user</h2>
>
> <form action="" method="post">
>
> <table width="600" border="0"
> cellpadding="5" cellspacing="0">
> <tr>
> <td width="78">User name</td>
> <td width="2"> </td>
> <td width="149"><input type="text" name="uname" value="" /></td>
> <td width="332" rowspan="5" align="left" valign="top"><p
> class="red">For Administration use
> only.</p>
> <p>You can add or delete users from <a
> href="edit_users.php">here</a><br />
> You can't edit any user if you like to change any user account you
> can delete the user and create it
> again with the new
> information.</p></td> </tr> <tr>
> <td>Password</td>
> <td> </td>
> <td><input type="text" name="pass" value="" /></td>
> </tr> <tr>
> <td> </td>
> <td> </td>
> <td><input type="submit" name="submit" value="Add user" /></td>
> </tr> <tr>
> <td> </td>
> <td> </td>
> <td> </td>
> </tr> <tr>
> <td> </td>
> <td> </td>
> <td align="right"> </td>
> </tr> </table> </form>
>
> </div> </div>
>
> <div id="footer"></div> </div> </div>
>
> <?php
> if (isset($_POST['submit'])) {
> include_once "../config/config.php";
> $uname = $_POST['uname']; $pass =$_POST['pass'];
> $check = "select * from users where id = {$uname}"; $result_check
> = $db->query($check)or die($db->error);
>
> while ($row = $result_check -> fetch_object()) {
> if(num_rows == 1){
>
> echo "error";
>
> }else{
> $add_user = "insert into users (id, uname, pass) values ('',
> '$uname', '$pass')";
> $result = $db -> query($add_user) or die ("$db->error");
> if ($result) {
> echo "user added successfuly";
> }else{
>
> echo "There was an error please try again later";
>
> } } } } ?>
>
> </body> </html>
我需要知道的是如何解决此代码的问题
$check = "select * from users where id = {$uname}";
$result_check = $db->query($check)or die($db->error);
while ($row = $result_check -> fetch_object()) {
if(num_rows == 1){
echo "error";
}
如何避免我的数据库中的重复用户
答案 0 :(得分:2)
好的,我发现我的堆栈溢出答案我喜欢这个网站和那里的所有人
这是答案
$check = $db->query("SELECT 1 FROM users WHERE uname='$uname'");
if (mysqli_num_rows($check) > 0) {
die('username already taken');
它非常简单,并且它使用了count()的相同概念,如果有人知道有关计数的信息,请写给我们
谢谢大家,并且, Yousef Altaf
答案 1 :(得分:1)
大多数数据库都有一些制作列或独特组合的方法。只需在要使其唯一的列上设置唯一约束即可。
如果其中的用户已经不是唯一的,则必须先将其清除出数据库。
答案 2 :(得分:0)
为了防止数据库中的重复用户,只需执行类似于INSERT检查之前列出的选择,以查看用户是否存在。然而,另一种方法是,更糟糕的方法是在数据库中的字段上添加UNIQUE约束,然后在复制时INSERT将失败。
答案 3 :(得分:0)
我不确定你正在使用哪个数据库以及它的所有方法是什么,所以我使用普通的mySQL来实现这个目标,如果你选择uname
(用户名)字段为{{{ 1}} -
UNIQUE INDEX