Проверка за съществуващ потребител !

chepa

Registered
$chek = mysql_query("SELECT * FROM `register` WHERE `Username`='$username'")or die(mysql_error()); //проверка да ли потребителя същестува
$chek12 = mysql_num_rows($chek);
if ($chek12 !=='1') {
echo "Този потребител вече е регистриран!";//Изкарва резултат защото потребителя съществува
}

Ето това е кода, но след като въведа вече регистрирано потребителско име ми дава, че то съществува, но пак го регистрира слагах die(); exit(); какво ли не, но тогава прекъсва регистрацията даже и да не съществува потребителя ..
 
Код:
<?php $chek = mysql_query("SELECT * FROM `register` WHERE `Username`='$username'") or die(mysql_error()); //проверка да ли потребителя същестува
$chek12 = mysql_num_rows($chek);
if ($chek12 >= '1') {
echo "Този потребител вече е регистриран!";//Изкарва резултат защото потребителя съществува
}else{
//koda
}
?>
?
 
PHP:
$result = mysql_query("SELECT username FROM mytable WHERE username = ?");

if($row = mysql_fetch_array($result) !== false)
{
  // потребителя съществува
}
 
Дано съм помогнал. :)
Код:
$checkuser = mysql_query("SELECT * FROM register WHERE username='$username'"); 
if(@mysql_num_rows($checkuser)>0) {
echo 'Това потребителско име е заето!';
}
 
Искам да вмъкна само ,че ако използваш това :[sql]
SELECT * FROM `register` WHERE `Username`='$username' LIMIT 1 [/sql]
Ще спестиш известно количество ресурси. Така или ианче няма да има повече от 1 човек с едно и също име в таблицата.
Възможности те са 1 или 0.
 
index каза:
Искам да вмъкна само ,че ако използваш това :[sql]
SELECT * FROM `register` WHERE `Username`='$username' LIMIT 1 [/sql]
Ще спестиш известно количество ресурси. Така или ианче няма да има повече от 1 човек с едно и също име в таблицата.
Възможности те са 1 или 0.

Ще го имам в предвид, благодаря. Колкото до другите нито 1 от кодовете не стана ... или ми дава

Потребителското име вече е заето.Регистрацията премина успешно.

или ми дава

Регистрацията премина успешно направо ...
 
Аз пък предпочитам да се направи с функция!

PHP:
function verifyUsername($username) {
	$query = mysql_query("SELECT `id` FROM `users` WHERE `username`='{$username}';")or die(mysql_error());
	return mysql_num_rows($query)? 1 : 0;
}

След това, където искаш да провериш дали потребителя съществува пишеш:

PHP:
if(VerifyUsername($username) == 1) {
	echo "Потребителското име съществува.";
} else {
	mysql_query("......")or die (mysql_error());//заявката за регистрация
	echo "Регистрацията премина успешно.";
}

Като променливата ти $username е със потребителското име - то става ясно де. :)

Така вместо да пишеш по сто пъти една и съща заявка (ако се налага), е имаш като функция и само я извикваш. :?:
 
Ми значи нещо таблици, колони бъркаш, огледай внимателно, или дай структурата на таблицата си.
Пробвай така:
$checkuser = mysql_query("SELECT * FROM register WHERE username='$username'");
if(@mysql_num_rows($checkuser)>0) {
die('Това потребителско име е заето!');
}
 
Това с функцията което показа изглежда лесно и полезно, но и то не стана отчаях се ето целия код ...

Код:
<?php
function verifyUsername($username) {
        $query = mysql_query("SELECT `id` FROM `register` WHERE `username`='{$username}';")or die(mysql_error());
        return mysql_num_rows($query)? 1 : 0;
}
if(isset($_POST['submit'])){
if($_POST['username'] == NULL){
echo "Не е въведено потребителско име!<br/>"; die();
}
if(VerifyUsername($username) == 1) {
        echo "Потребителското име съществува.";
}
elseif($_POST['email'] == NULL){
echo "Не сте въвели валиден имейл адрес!<br/>";die();
}
elseif($_POST['password'] == NULL){
echo "Не сте въвели валидна парола!<br/>";die();
}
elseif($_POST['password2'] == NULL){
echo "Не сте въвели валидна парола за потвърждение!<br/>";
}
elseif($_POST['password'] !== $_POST['password2']){
echo "Двете парола не съвпадат!<br/>";die();
}

$username = htmlspecialchars(trim($_POST[username]));
$password = htmlspecialchars(md5(trim($_POST[password])));
$email = htmlspecialchars(trim($_POST[email]));


$query = mysql_query("INSERT INTO `register` (`Username`,`Password`,`Email`) VALUES ('$username', '$password', '$email') ") or die(mysql_error());
echo "Регистрацията премина успешно !";


}

  
?>
 
Код:
	 <?php
function verifyUsername($username) {
        $query = mysql_query("SELECT `id` FROM `register` WHERE `username`='{$username}';")or die(mysql_error());
        return mysql_num_rows($query)? 1 : 0;
}
if(isset($_POST['submit'])){
if($_POST['username'] == NULL){
echo "Не е въведено потребителско име!<br/>"; die();
}
if(VerifyUsername($username) == 1) {
        echo "Потребителското име съществува.";
die();
}
elseif($_POST['email'] == NULL){
echo "Не сте въвели валиден имейл адрес!<br/>";die();
}
elseif($_POST['password'] == NULL){
echo "Не сте въвели валидна парола!<br/>";die();
}
elseif($_POST['password2'] == NULL){
echo "Не сте въвели валидна парола за потвърждение!<br/>";
}
elseif($_POST['password'] !== $_POST['password2']){
echo "Двете парола не съвпадат!<br/>";die();
}

$username = htmlspecialchars(trim($_POST[username]));
$password = htmlspecialchars(md5(trim($_POST[password])));
$email = htmlspecialchars(trim($_POST[email]));


$query = mysql_query("INSERT INTO `register` (`Username`,`Password`,`Email`) VALUES ('$username', '$password', '$email') ") or die(mysql_error());
echo "Регистрацията премина успешно !";


}

  
?>
 
Е маняк, виж сега.

Код:
<?php
function verifyUsername($username) {
        $query = mysql_query("SELECT `id` FROM `register` WHERE `username`='{$username}';")or die(mysql_error());
        return mysql_num_rows($query)? 1 : 0;
}
if(isset($_POST['submit'])){
$username = htmlspecialchars(trim($_POST[username]));
$password = htmlspecialchars(md5(trim($_POST[password])));
$email = htmlspecialchars(trim($_POST[email]));
if($_POST['username'] == NULL){
echo "Не е въведено потребителско име!<br/>"; die();
} elseif($_POST['email'] == NULL){
echo "Не сте въвели валиден имейл адрес!<br/>";die();
}
elseif($_POST['password'] == NULL){
echo "Не сте въвели валидна парола!<br/>";die();
}
elseif($_POST['password2'] == NULL){
echo "Не сте въвели валидна парола за потвърждение!<br/>";
}
elseif($_POST['password'] !== $_POST['password2']){
echo "Двете парола не съвпадат!<br/>";die();
} elseif(VerifyUsername($username) == 1) {
        echo "Потребителското име съществува.";
} else {
$query = mysql_query("INSERT INTO `register` (`Username`,`Password`,`Email`) VALUES ('$username', '$password', '$email') ") or die(mysql_error());
echo "Регистрацията премина успешно !";
}
}

 
?>
 

Back
Горе