Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проверка формы на пустоту 
:(
    Опции темы
pipka
Дата 23.4.2005, 00:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 73
Регистрация: 4.12.2004

Репутация: нет
Всего: 2



в общем через форму стандартную передаю имя мыло и коммент
скрипт получает:
Код

if($action=='comment'){

// проверка на наличие HTML тегов
    $usernamehtml = htmlspecialchars($username);
    $useremailhtml = htmlspecialchars($useremail);
    $commenthtml = htmlspecialchars($comment);
    if($useremailhtml!=$useremail || $usernamehtml!=$username || $commenthtml!=$comment){Header("Location: $HTTP_REFERER");exit;};

$zapros = mysql_query("select MAX(idcomment) AS idcomment FROM comments");
$otvet = mysql_fetch_object($zapros);
$idcomment = $otvet->idcomment+1;
mysql_query("INSERT INTO comments (id, obj, comments, email, avtor, idcomment) VALUES('$id','$obj','$comment','$useremail','$username','$idcomment')");
}
Header("Location: $HTTP_REFERER");


посоветуйте как лучше сделать проверку на пустые поля ? и предупредить об этом пользователя как ?
if ($username = 0)
echo "Не ввели имя";

верно ? посоветуйте плиз как лучше, чтобы не потерять посетителя... и чтобы он всё же оставил коммента не уходя, не очень хочу через ява скрипт при форме...
PM MAIL   Вверх
PARROT
Дата 23.4.2005, 01:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 2339
Регистрация: 5.1.2005
Где: Спб-ЦарьГрад

Репутация: 23
Всего: 50



Код

<?php
ob_start(); 

error_reporting(E_ALL); 

if($action=='comment')
{
    if(empty($username)){
        $error="Вы не указали имя!<br>";
    }
    if(empty($comment)){
        $error.="Вы не написали текст!<br>";
    }
    
    if(!$error){
        $zapros = mysql_query("select MAX(idcomment) AS idcomment FROM comments");
        $otvet = mysql_fetch_object($zapros);
        $idcomment = $otvet->idcomment+1;
        mysql_query("INSERT INTO comments (id, obj, comments, email, avtor, idcomment) VALUES('$id','$obj','$comment','$useremail','$username','$idcomment')");
        Header("Location: $HTTP_REFERER");
        ob_end_flush();
        exit;
    } else {
        echo "$error";
    }
    ob_end_flush();
}
?>

Должно работать, если только со скобками могут быть проблемы. Не проверяла.


--------------------
Безумный утешается прошедшим, слабоумный - будущим, умный - настоящим!
PM MAIL   Вверх
Irokez
Дата 23.4.2005, 11:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


индеец
***


Профиль
Группа: Участник Клуба
Сообщений: 1180
Регистрация: 20.10.2004

Репутация: 22
Всего: 53



используйте функции для проверки данных:
empty()
strlen()
is_int()
is_null()
is_string()
is_*
PM   Вверх
Opik
Дата 23.4.2005, 13:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Vingrad developer
Сообщений: 1918
Регистрация: 6.10.2004
Где: Рига

Репутация: 24
Всего: 55



Что бы избежать наполнениного поля проблемами - юзайте trim() - отрубает пробелы по краям.
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0472 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.