Проверка на полета

systems

Registered
Добър ден така си правя проверката дали са попълнени полетата въпроса ми е как ще стане следната проверка ако потребителя несъщестува да изпише
такъв потребител несъществува в нашата база данни



PHP:
} else { // Грешен потребител/парола.

if (empty($_POST['username']))

{

echo ("<div class='error'>Не сте попълнили акаунт</div>");
}
if (empty($_POST['password']))

{

echo ("<div class='error'>Не сте попълнили парола</div>");
}


зная че се прави със заявка към базата с данни но незная как може да стане.
 
Правиш си заявката например: SELECT * FROM users след това резултата от заявката го обработваш с един foreach и след това сравняваш резултата с въведеното в полето. Ето пример:
Код:
foreach($result as $arr){
    if($arr['username'] != $_POST['username']){
        echo 'Няма такъв потребител';
}
}
 
teroristd каза:
Правиш си заявката например: SELECT * FROM users след това резултата от заявката го обработваш с един foreach вадиш всички имена и след това сравняваш резултата с въведеното в полето. Ето пример:
Код:
foreach($result as $arr){
    if($arr['username'] != $_POST['username']){
        echo 'Няма такъв потребител';
}
}

Дай да въртим цял цикъл, за да видим дали не съществува такъв потребител.

[sql]
SELECT COUNT(*) AS `total` FROM users WHERE username = {$_POST['username']}
[/sql]

PHP:
// не ползвай mysql_* функциите, просто за примера ги давам
$query = mysql_query('SELECT COUNT(*) AS `total` FROM users WHERE username = {$_POST['username']}');
$result = mysql_fetch_assoc($query);

if ( $result['total'] == 0 ) {
       // няма потребител с това име
}
else {
       // има
}
 
Ти тоя цикъл пак го въртиш само че в базата :D. Също така ако искаш да провериш и за имейл и парола например, ще стане супер дълга заявка да не говорим че ще е и по бавна. Аз лично не бих го направил така. Но пък всеки си знае за себе си как иска да си го направи. Твоя код също е вариант.
 
Благодаря ви за помоща но накрая аз го направих по мой начин ето така:
и няма проблеми


PHP:
$res2=mysql_query("SELECT * FROM users WHERE  member_name='$username'");
$row= mysql_fetch_assoc($res2);
if($username != $row['member_name']){
echo ("<div class='error'>Несъществува в нашата база с данни потребител с това име: $username</div>");
}else{
}
 
teroristd каза:
Ти тоя цикъл пак го въртиш само че в базата :D. Също така ако искаш да провериш и за имейл и парола например, ще стане супер дълга заявка да не говорим че ще е и по бавна. Аз лично не бих го направил така. Но пък всеки си знае за себе си как иска да си го направи. Твоя код също е вариант.


Да, аз го въртя един път. Ти два пъти. Има голяма разлика, а вече относно това какво ще проверява, нещата винаги се променят. За проверка само на име, няма смисъл да теглиш всички записи, за да направиш проверка.

@systems в твоя код се губи всякаква логика, но щом ти помага.
 
systems каза:
Благодаря ви за помоща но накрая аз го направих по мой начин ето така:
и няма проблеми


PHP:
$res2=mysql_query("SELECT * FROM users WHERE  member_name='$username'");
$row= mysql_fetch_assoc($res2);
if($username != $row['member_name']){
echo ("<div class='error'>Несъществува в нашата база с данни потребител с това име: $username</div>");
}else{
}

В голяма грешка си, че няма проблем..
 

Back
Горе