当用户按下“注册”按钮时,它会不断向数据库添加值(MYSQL+PHP)
我开始学习PHP。我只是尝试创建一个signup.php页面,其中的用户是我,他填写表单并按下注册按钮,然后值保存在数据库中 这段代码在XAMPP中工作得非常好。如果电子邮件已经存在,它会清楚地表明该电子邮件已经存在,用户需要选择一个新用户名。 然而,当我将所有内容上传到我网站上的cPanel并尝试测试它时,我可以一直按注册按钮,它会一直显示成功。当我检查PhpMyAdmin时,由于多次单击按钮,有5个相同的值 所以我真的不知道这里有什么问题。非常感谢您的帮助 我当前的代码:当用户按下“注册”按钮时,它会不断向数据库添加值(MYSQL+PHP),php,mysql,Php,Mysql,我开始学习PHP。我只是尝试创建一个signup.php页面,其中的用户是我,他填写表单并按下注册按钮,然后值保存在数据库中 这段代码在XAMPP中工作得非常好。如果电子邮件已经存在,它会清楚地表明该电子邮件已经存在,用户需要选择一个新用户名。 然而,当我将所有内容上传到我网站上的cPanel并尝试测试它时,我可以一直按注册按钮,它会一直显示成功。当我检查PhpMyAdmin时,由于多次单击按钮,有5个相同的值 所以我真的不知道这里有什么问题。非常感谢您的帮助 我当前的代码: <form
<form method='POST' class="form-login">
<?php
if(isset($_POST['submit'])){
$first_name = $_POST['first_name'];
$last_name = $_POST['last_name'];
$username = $_POST['username'];
$password = $_POST['password'];
$email = $_POST['email'];
$IP = $_SERVER['REMOTE_ADDR'];
$fields = array(
'Username' => $username,
'Email' => $email
);
$dup = false;
foreach ($fields as $field => $value) {
$value = mysql_real_escape_string($value);
$query = mysql_query("SELECT COUNT({$field}) AS n FROM Users WHERE {$field}='{$value}';");
$tuple = mysql_fetch_assoc($query);
if ($tuple['n'] > 0) {
$dup = true;
break;
}
}
if ($dup) {
echo "<p><b><center> <font color=\"red\">{$field} already exists.<br> </b>If you already have an account, please<a href = 'login.php'> click here </a> to login.</font></center></p>";
}
else {
$regdate=date("Y-m-d H:i:s");
mysql_query("INSERT INTO users VALUES ('', '$first_name', '$last_name', '$username', '$password', '$email', '1', '0', '2', '$IP', '$regdate', '', 'active')");
<label>First Name:</label>
<input type="text" name="first_name" id="first_name" value="<?=(isset($first_name) ? $first_name : "")?>"/>
<label>Last Name:</label>
<input type="text" name="last_name" id="last_name" value="<?=(isset($last_name) ? $last_name : "")?>"/>
<label>Username:</label>
<input type="text" name="username" id="username" value="<?=(isset($username) ? $username : "")?>"/>
<label for="email">
Email:</label>
<input type="email" id="email" name="email" value="<?=(isset($email) ? $email :"")?>"/>
<label>Password:</label>
<input type="password" name="password" id="password" value="<?=(isset($password) ? $password : "")?>"/>
<button type="submit" name="submit" value="Register">Register</button>
</form>
您可以根据用户名和电子邮件列创建唯一密钥。我更喜欢检查数据库中是否已经存在数据。为什么要循环字段数组。。你能不能在这样一个查询中实现这一点:从username='{$username}或email='{$email}的用户中选择countid。你能检查你是否得到了任何东西吗$\u POST['submit']…因为它不在if部分中…还可以尝试替换。。具有