[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: где ошибка?
ДиммКа
есть скрипт (все той же регистрации)
<?php
if (isset($_POST['login'])) { $login = $_POST['login']; if ($login == '') { unset($login);} }
//заносим введенный пользователем логин в переменную $login, если он пустой, то уничтожаем переменную
if (isset($_POST['password'])) { $password=$_POST['password']; if ($password =='') { unset($password);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную
if (isset($_POST['email'])) { $password=$_POST['email']; if ($email=='') { unset($email);} }
//заносим введенный пользователем пароль в переменную $password, если он пустой, то уничтожаем переменную

if (empty($login) or empty($password) or empty($email) ) //если пользователь не ввел логин, пароль или E-mail, то выдаем ошибку и останавливаем скрипт
{
exit ("Вы ввели не всю информацию, вернитесь назад и заполните все поля!");
}

сдесь мы заносим данные про юзера в переменные и смотри ввел ли их он вообще. Дело в том что даже если я введу все данные (логин, е маил, пароль) он все равно пишет что не всю инфу ввели! в чем дело? у меня вызывает подозрения вот эта строчка:
if (empty($login) or empty($password) or empty($email) )

можно ли так делать?



Спустя 3 минуты (5.07.2010 - 19:26) inpost написал(а):
вроде как "or" заменить надо на ||
Попробуй так:
(empty($login) || empty($password) || empty($email))


P.S. сам с этим мучался, не достаточно знаю как правильно =(

Спустя 6 минут, 28 секунд (5.07.2010 - 19:32) ДиммКа написал(а):
я нашел вариант помоему проще! просто сделать так:

if (empty($login) or empty($password))
if (empty($email))

Спустя 23 минуты, 29 секунд (5.07.2010 - 19:56) DedMorozzz написал(а):

 ! 

М
Давайте адекватные названия темам!
DedMorozzz

Спустя 22 минуты, 59 секунд (5.07.2010 - 20:19) ДиммКа написал(а):
DedMorozzz , ок! в следующий раз буду думать wink.gif

Спустя 57 минут, 35 секунд (5.07.2010 - 21:16) Slays написал(а):
зачем столько много лишних действий, а тем более зачем уничтожать пустые переменные и потом проверять несуществующие переменные в empty, если я оставлю поле не заполненным то код повеситься... вот самый примитивный и дырявый вариант на скорую руку, может где и поспешил.

<?php

$login = isset($_POST['login'])?$_POST['login']:null;
$password = isset($_POST['password'])?$_POST['password']:null;
$mail = isset($_POST['mail'])?$_POST['mail']:null;

if($login && $password && $mail){
//регистрируем
}else{
echo "Заполнены не все поля";
}

?>

Спустя 40 минут, 58 секунд (5.07.2010 - 21:57) twin написал(а):
Ошибочное заявление.
Просто потому, что тут происходит присвоение всех параметров, вне зависимости от.

По сути дела это все фигня, но чище было бы как раз по варианту ДиммК'и

Спустя 25 минут, 53 секунды (5.07.2010 - 22:23) Slays написал(а):
а что плохого в присвоении всех параметров, они все равно условие регистрации не проходят, чем лучше их создавать -> потом удалять -> потом все равно проверять... для безопасности нужны совсем другие меры.

Спустя 1 час, 7 минут, 44 секунды (5.07.2010 - 23:31) twin написал(а):
Да по идее - я же сказал - фигня. Просто как то режет. Сначала присвоить, потом проверить. Проще проверить по очереди. Если нет - зачем присваивать? Энто же память.

Еще раз повторю - ничего критичного. Просто хороший тон.

Спустя 8 часов, 51 минута, 31 секунда (6.07.2010 - 08:23) sergeiss написал(а):
Цитата (twin @ 5.07.2010 - 22:57)
По сути дела это все фигня, но чище было бы как раз по варианту ДиммК'и

Если честно, то не понял сего утверждения... Как раз "чище" создать все переменные, зависимые от "ключевых" входящих параметров, чтоб потом было проще анализировать.

Спустя 49 минут, 53 секунды (6.07.2010 - 09:12) KaFe написал(а):
Цитата (sergeiss @ 6.07.2010 - 05:23)
Если честно, то не понял сего утверждения... Как раз "чище" создать все переменные, зависимые от "ключевых" входящих параметров, чтоб потом было проще анализировать.

Хм... Если переменные нужно где-нибудь еще использовать в скрипте то я с вами согласен, но если же они нужны только для анализа, то это явно плохой тон, как сказал twin, присваивать значения новым переменным.

P.S: В данной ситуации я думаю присваивать значения другим переменным не имеет смысла, а послужит лишь запутыванием кода и как же опять заметил twin это машинная память laugh.gif

Спустя 6 часов, 51 минута, 12 секунд (6.07.2010 - 16:04) Slays написал(а):
KaFe
посмотри на мой код, и на первый в посте темы, в каком из них проще запутаться ?
У чел вообще код не работает, по-этому он сюда и обратился, я написал рабочий вариант на скорую руку, с переменными или без, но по крайней мере ему так понять проще будет.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.