Два потребителя

Pavlinov

Registered
Здравейте, имам много досаден проблем... Създадох регистрационна форма и всичко уж наред и и както трябва. Ето тук идва реда на проблема - създава два потребителя вместо един при натискането на бутона "Submit". Код:

index.html:
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Register</title>
</head>
<body>

<form method="post" action="regprocess.php">
<table width="300" border="0">
	<tr>
		<td>Username:</td>
		<td><input type="text" name="username"/></td>
	</tr>
	<tr>
		<td>Email:</td>
		<td><input type="email" name="email"/></td>
	</tr>
    	<tr>
		<td>First name:</td>
		<td><input type="text" name="fname"/></td>
	</tr>
    	<tr>
		<td>Last name:</td>
		<td><input type="text" name="lname"/></td>
	</tr>
    	<tr>
		<td>Password</td>
		<td><input type="password" name="password"/></td>
	</tr>
    	<tr>
		<td> </td>
		<td><input type="submit" name="submit" value="Submit"/></td>
	</tr>
</table>


</form>
</body>
</html>

config.php:
PHP:
<?php
$localhost = "localhost";
$dbuser = "root";
$dbpass = "";
$dbname = "tutorials";

$connect = mysql_connect($localhost, $dbuser, $dbpass);
mysql_select_db("$dbname", $connect);
?>

regprocess.php:

PHP:
<?php

//Include the Configuration File
include"config.php";

//Selecting the DB
$username = $_POST['username'];
$email = $_POST['email'];
$fname = $_POST['fname'];
$lname = $_POST['lname'];
$password = md5($_POST['password']);

//Check if the username is already in use 

$user_check = mysql_query("SELECT username FROM users WHERE username='$username'"); 
$do_user_check = mysql_num_rows($user_check); 

//Check if email is already in use 

$email_check = mysql_query("SELECT email FROM users WHERE email='$email'"); 
$do_email_check = mysql_num_rows($email_check); 

//Display Errors 

if($do_user_check > 0){ 
die("Username is already in use!<br>"); 
} 

if($do_email_check > 0){ 
die("Email is already in use!"); 
} 

//If everything is OK then the user is registered

$insert = 'INSERT into users(username, email, fname, lname, password) VALUES("'.$username.'", "'.$email.'", "'.$fname.'", "'.$lname.'", "'.$password.'")';

mysql_query($insert);
if (mysql_query($insert)) {
	echo "You have registered successesfuly!";
}
?>

Не знам от къде идва проблема, но се обръщам към вас с молбата да ми помогнете. :cry:
 
ти имаш това:
//If everything is OK then the user is registered

$insert = 'INSERT into users(username, email, fname, lname, password) VALUES("'.$username.'", "'.$email.'", "'.$fname.'", "'.$lname.'", "'.$password.'")';

mysql_query($insert);
if (mysql_query($insert)) {
echo "You have registered successesfuly!";
}
?>

я пробвай .. така:

Код:
//If everything is OK then the user is registered

mysql_query('INSERT into users(username, email, fname, lname, password) VALUES("'.$username.'", "'.$email.'", "'.$fname.'", "'.$lname.'", "'.$password.'")');
 echo "You have registered successesfuly!";
?>

мисля ,че така ще стане .. незнам наистина невидях грешка .. и на мене ми е чудно .. защо така .. ама все пак го пробвай ! :?:
 
Благодаря, получи се както трябва, явно е имало някакъв бъг, обаче не разбрах какъв :D ... Обаче тук възниква въпроса - когато има грешка как да го нарпавя да изписва, че нещо се е цакало, питам, защото няма if, а пък не мога да се сетя друг начин XD
 
Код:
mysql_query($insert);
if (mysql_query($insert)) {
        echo "You have registered successesfuly!";
}
Проблемът е в този фрагмент. Извикваш два пъти mysql_query и това води до две заявки.
Премахни първият mysql_query и ще стане :)
 

Back
Горе