Проверка за вече съществуващ потребител/папка [MySQL]

index

Super Moderator
Как мога да извада съобщение ,че даден юзер или папката с името на потребителя съществува.
Работа върху file-system
Кода е малко по-надолу
Код:
  <link href="./include/image.css" rel="stylesheet" type="text/css"> 
<?php 
//vzemane na promenlivi 
$name = $_POST['ime']; 
$pass = $_POST['pass1']; 
$pass2 = $_POST['pass2']; 
$mail = $_POST['mail']; 
$spam = $_POST['spam']; 
$spama = 'AsdsEd'; 
//confing na bazata danni 
$dbuser="root"; 
$dbpasswd=""; 
$dbname="webauth"; 
//proverka dali sa populneni formite 
if (empty ($name) || empty ($pass) || empty ($pass2) || empty ($mail) || empty ($spam)) 
{echo '<br>Несте попълнили някое от полетата,моля върнете се и ги попълнете';} 
if ( $pass == $pass2 ) 
{echo '';} 
else {echo'<br>Паролите не са еднакви';} 
if ( $spam == $spama) 
{ echo ''; }
else {echo '<br>Анти Спам проверката не протече нормално. Моля Върнете се и пак опитайте';} 
$db = mysql_pconnect(localhost,$dbuser,$dbpasswd); 
if (!$db) 
{echo'<br>Моля опитайте пак след малко,възникна проблем моля да ни извините';  exit;} 
mysql_select_db($dbname) or die("<br>Моля опитайте пак след малко,възникна проблем моля да ни извините"); 
$query = "insert into user_pwd values ('".$name."','".$pass."','".$mail."')"; 
$result = mysql_query($query); 
if($result) 
{ if(!mkdir ($name)) {echo '<br>Проблем Папката или Потребителя вече ги има или немогат да се създадът,моля опитайте пак с друго име :) ';} else {echo'<br>Успешна Регистрация ,моля влезте с името и паролата си , ако сте ги забравили моля обърнете се към Админа';}
; } 
?>
 
за потребител е
$sql="SELECT count(id) AS broika FROM user_pwd WHERE username='$name' AND pass='$pass' ;
$q=mysql_query($sql);
$broi=mysql_fetch_array($q);
if($broi[0]>0) {echo" Zeto e imeto"; }
else .......
 
mute, няма нужда да се прави и по име и по парола проверка. достатъчно е само по име. защото по начина където си написал ако името е същото, а паролата различна все едно че не се прави проверка.

$sql="SELECT count(id) AS broika FROM user_pwd WHERE username='$name';
$q=mysql_query($sql);
$broi=mysql_fetch_array($q);
if($broi[0]>0) {echo" Zeto e imeto"; }
else .......

а щом извейдаш за името, то значи папкат и за нея важи ако е с името на потребителя разбира се.
 
jooorooo каза:
mute, няма нужда да се прави и по име и по парола проверка. достатъчно е само по име. защото по начина където си написал ако името е същото, а паролата различна все едно че не се прави проверка.
хаха да напълно си прав за паролата ощя спя :?:
 
А папката с какво име е ?

Ако usera е index как ще му се казва папката?
А ако е InDex?


Това са две различни папки /index/ и /InDex/ .

Как си решил този проблем?
 
admin каза:
А папката с какво име е ?

Ако usera е index как ще му се казва папката?
А ако е InDex?


Това са две различни папки /index/ и /InDex/ .

Как си решил този проблем?
Ами да , ако има усер с име index да има и такава папка , и ako има усер с име InDeX да си има папка InDeX, В смисал кактото е името , такава и да е папката.
И така в БД да са двата РАЗЛИЧНИ потребителя и папките ще са различни ...
 
не неможе да имаш (или поне нети препоръчвам )потребител ADMIN и admin в база данни примерно ;)
по добре ползваи
$user=strtolower($user);
така че да го направиш в малки букви и съответно после ще създадеш папка с малки букви
 
Значи така би трябло да изглежда нали ?


Код:
  <link href="./include/image.css" rel="stylesheet" type="text/css"> 
<?php 
//vzemane na promenlivi 
$name = $_POST['ime']; 
$pass = $_POST['pass1']; 
$pass2 = $_POST['pass2']; 
$mail = $_POST['mail']; 
$spam = $_POST['spam']; 
$spama = 'AsdsEd'; 
//confing na bazata danni 
$dbuser="root"; 
$dbpasswd=""; 
$dbname="webauth"; 
//proverka dali sa populneni formite 
if (empty ($name) || empty ($pass) || empty ($pass2) || empty ($mail) || empty ($spam)) 
{echo '<br>Несте попълнили някое от полетата,моля върнете се и ги попълнете';} 
if ( $pass == $pass2 ) 
{echo '';} 
else {echo'<br>Паролите не са еднакви';} 
if ( $spam == $spama) 
{ echo ''; }
else {echo '<br>Анти Спам проверката не протече нормално. Моля Върнете се и пак опитайте';} 
$db = mysql_pconnect(localhost,$dbuser,$dbpasswd); 
if (!$db) 
{echo'<br>Моля опитайте пак след малко,възникна проблем моля да ни извините';  exit;} 
$name = strtolower($name);
$sql="SELECT count(id) AS broika FROM user_pwd WHERE username='$name'; 
$q=mysql_query($sql); 
$broi=mysql_fetch_array($q); 
if($broi[0]>0) {echo 'Zeto e imeto'; };
else {
mysql_select_db($dbname) or die( echo '<br>Моля опитайте пак след малко,възникна проблем моля да ни извините'); 
$query = "insert into user_pwd values ('".$name."','".$pass."','".$mail."')"; 
$result = mysql_query($query); 
if($result) 
{ if(!mkdir ($name)) {echo '<br>Проблем Папката или Потребителя вече ги има или немогат да се създадът,моля опитайте пак с друго име :) ';} else {echo'<br>Успешна Регистрация ,моля влезте с името и паролата си , ако сте ги забравили моля обърнете се към Админа';}
; } 
}
?>
С този код ми вади ...
Parse error: syntax error, unexpected T_STRING in E:\XAMPP\xampp\htdocs\reg1.php on line 33
A пък 33 ред е :
Код:
$query = "insert into user_pwd values ('".$name."','".$pass."','".$mail."')";
???? какво да права ?
 
<link href="./include/image.css" rel="stylesheet" type="text/css">
<?php
//vzemane na promenlivi
$name = $_POST['ime'];
$pass = $_POST['pass1'];
$pass2 = $_POST['pass2'];
$mail = $_POST['mail'];
$spam = $_POST['spam'];
$spama = 'AsdsEd';
//confing na bazata danni
$dbuser="root";
$dbpasswd="";
$dbname="webauth";
//proverka dali sa populneni formite
if (empty ($name) || empty ($pass) || empty ($pass2) || empty ($mail) || empty ($spam))
{echo '<br>Несте попълнили някое от полетата,моля върнете се и ги попълнете';}
if ( $pass == $pass2 )
{echo '';}
else {echo'<br>Паролите не са еднакви';}
if ( $spam == $spama)
{ echo ''; }
else {echo '<br>Анти Спам проверката не протече нормално. Моля Върнете се и пак опитайте';}
$db = mysql_pconnect(localhost,$dbuser,$dbpasswd);
if (!$db)
{echo'<br>Моля опитайте пак след малко,възникна проблем моля да ни извините'; exit;}

$name = strtolower($name);
$sql="SELECT count(id) AS broika FROM user_pwd WHERE username='$name' ";
$q=mysql_query($sql);
$broi=mysql_fetch_array($q);

if($broi[0]>0) {echo 'Zseto e imeto';exit();}
else {
mysql_select_db($dbname) or die('<br>Моля опитайте пак след малко,възникна проблем моля да ни извините');
$query = "insert into user_pwd values ('".$name."','".$pass."','".$mail."')";
$result = mysql_query($query);
if($result)
{ if(!mkdir ($name)) {echo '<br>Проблем Папката или Потребителя вече ги има или немогат да се създадът,моля опитайте пак с друго име :) ';} else {echo'<br>Успешна Регистрация ,моля влезте с името и паролата си , ако сте ги забравили моля обърнете се към Админа';}
; }
}
?>

беше пропуснал " в един ред
бтв когато имаш die не се слага ечо die(echo " lqlq ";) това е грешно също ще ше дати даде крешка
 

Back
Горе