[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Проверка формы
Konsole
Всем привет, решил сделать проверку по уроки IRBIS-team по добавлению, но у меня почему-то все равно добавляется, не могу понять в чем проблема.

if ($_POST[submit]){
if (!empty($_POST['title']))
{
$title = $_POST['title'];
}

if (!empty($_POST['description'])) $description = $_POST['description'];
if (!empty($_POST['meta_d'])) $meta_d = $_POST['meta_d'];
if (!empty($_POST['meta_k'])) $meta_k = $_POST['meta_k'];
if (!empty($_POST['author'])) $author = $_POST['author'];
if (!empty($_POST['date'])) $date = $_POST['date'];
if (!empty($_POST['text'])) $text = $_POST['text'];


}
if (isset($title, $meta_d, $meta_k, $date, $description, $text, $author))
{
/* Здесь пишем что можно заносить информацию в базу */
$result = mysql_query ("INSERT INTO lessons
(`title`, `meta_d`, `meta_k`, `date`, `description`, `text`, `author`)
VALUES
('
$title', '$meta_d','$meta_k',
'
$date','$description','$text', '$author' )"
);

if (mysql_affected_rows() > 0)

после того как я сделал проверку такого вида:

if ($_POST[submit]){
if (!empty($_POST['title']) && !empty($_POST['meta_d']) && !empty($_POST['meta_k']) && !empty($_POST['date']) && !empty($_POST['description']) && !empty($_POST['text']) && !empty($_POST['author']))

то все норм



Спустя 11 минут, 52 секунды (13.04.2011 - 16:32) XCross написал(а):
{
}

Спустя 37 минут, 7 секунд (13.04.2011 - 17:09) Winston написал(а):
Цитата (Konsole @ 13.04.2011 - 15:20)
$_POST[submit]

Кто так пишет?
Правильно так:
$_POST['submit']
Цитата (Konsole @ 13.04.2011 - 15:20)
if (isset($title, $meta_d, $meta_k, $date, $description, $text, $author))

:blink:
isset проверяет только одну переменную
if (isset($title) && isset($meta_d)...)//и т.д.

Ты уже сделал проверку:
Цитата (Konsole @ 13.04.2011 - 15:20)
if (!empty($_POST['description'])) $description = $_POST['description'];
if (!empty($_POST['meta_d'])) $meta_d = $_POST['meta_d'];

Потому можна писать так:
if ($title && $meta_d) //и т.д.

Спустя 16 часов, 48 минут, 25 секунд (14.04.2011 - 09:57) Konsole написал(а):
kmaks прописывал и ничего, тоже самое.
PHPprogramer, решил сделать как тут написано http://irbis-team.com/15/10/4
цитирую
Цитата

If multiple parameters are supplied then isset() will return TRUE only if all of the parameters are set.
Что в вольном переводе звучит как
Если параметрами передается несколько переменных, то isset () вернет TRUE только если все переменные определены.
И если сделать из этого определенные орг-выводы, то этот канат можно переписать так:

    if (isset($title, $meta_d, $meta_k, $date, $description, $text, $author))
    {
}

но
 if ($title && $meta_d) //и т.д
так помогло, спасибо большое.
Быстрый ответ:

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