X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> Проверка поля - проблема
macbeth9
macbeth9
Topic Starter сообщение 12.12.2010, 23:49; Ответить: macbeth9
Сообщение #1


Привет всем! Проблема простая вроде бы но я не могу справиться, вот в чем она:
нужно сделать проверку поля "краткое описание" чтобы выдавало ошибку если поле пустое. Помогите пожалуйста вставить эту проверку в мой код

[PHP]<?
$action = $_POST['action'];
if ($action=="yessubmit"){
if(($_POST['login']!=="")||($_POST['title']!=="")||($_POST['content2']!=="")||($_POST['short']!=="")){
if ( $_FILES['picture']['name'] != "" ) {
$imageInfo = getimagesize($_FILES['picture']['tmp_name']);
$width = $imageInfo[0];
$height = $imageInfo[1];
if($height > 443 || $width > 443){echo "<script> alert('Image is to big! Try to resize the picture! 443 x 443') </script>";exit;}
$newimg = date("YmdHis").".jpg";
if(stristr($_SERVER['OS'],"linux")){$path = str_replace("addnew.php","",$_SERVER['SCRIPT_FILENAME']) . "imgblog/";}
else {$path = "imgblog/";}
move_uploaded_file ( $_FILES['picture']['tmp_name'], $path . $newimg );}
else{ $newimg="noimg"; }
$fileup = file("myblog.db");
$id = sizeof($fileup)+1;
$title= $_POST['title'];
$title = str_replace("#","",$title);
$login= $_POST['login'];
$login = str_replace("#","",$login);
$content2 = $_POST['content2'];
$content2 = str_replace("#","",$content2);
$content2 = str_replace("\r\n","<br>",$content2);
$short = $_POST['short'];
$short = str_replace("#","",$short);
$short = str_replace("\r\n","<br>",$short);
$title = stripslashes($title);
$login = stripslashes($login);
$content2 = stripslashes($content2);
$short = stripslashes($short);
$pics = $newimg;
$datex = date("d/m/Y");
$fp = fopen("myblog.db","a");
$line = "#$id#$title#$content2#$pics#$datex#$short#$login \r\n";
fwrite($fp,$line);
fclose($fp);
echo "Успешно добавлено";
echo "<script>location.replace('index.php')</script>";
}
else {
echo "Ошибка";
echo "<script>location.replace('index.php')</script>";
}
}
?>
<table align="center" bgcolor="#FFFFFF" width="95%" style="border:1px solid #b2cbd0; padding:7px">
<form action="addnew.php" method=post enctype='multipart/form-data' name="content2">
<tr><td><label>Название:<span style="color:#F00">*</span></label><input style="margin-top:10px" type=text name=title size=35 maxlength="70" value=''><BR><BR></td></tr>
<tr><td><label>Краткое описание:<span style="color:#F00">*</span></label><textarea onKeyDown='limitText(this,this.form.count,600);'
onKeyUp='limitText(this,this.form.count,600);' name='short' rows="11" cols="80" minChars="400" maxlength="600"
onkeypress="return isNotMax(event)" style="font-size: 11px"></textarea><p style="margin-left:488px;margin-top:5px">Символов осталось
<input align="right" readonly type='text' name='count' size='1' value='600'/></p><BR></td></tr>
<tr><td style="padding-left:36px;"><textarea name='content2' rows=20 cols=100 style="font-size: 11px;"></textarea><BR><BR></td></tr>
<tr><td>
<input style="margin-top:10px" type=hidden name=login size=35 maxlength="70" value='<? echo $_SESSION["user"]["login"] ?>'><input type='submit' name='submit' value='Добавить' class="submit">
<input type='hidden' name='action' value='yessubmit' ></td></tr>
</form>
</table>[/PHP]
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.12.2010, 0:23; Ответить: alexdrob
Сообщение #2


[PHP]empty($_POST['short']) or die("Ошибка! Поле с кратким описанием не заполнено");[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
macbeth9
macbeth9
Topic Starter сообщение 13.12.2010, 0:30; Ответить: macbeth9
Сообщение #3


а в какой участок кода вставит чтобы работало? А то я раньше вставлял и ничего не было
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.12.2010, 1:03; Ответить: alexdrob
Сообщение #4


например
[PHP]if ($action=="yessubmit"){
!empty($_POST['short']) or die("Ошибка! Поле с кратким описанием не заполнено");[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
macbeth9
macbeth9
Topic Starter сообщение 13.12.2010, 6:45; Ответить: macbeth9
Сообщение #5


Спасибо работает)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 13.12.2010, 11:12; Ответить: Mulder_hb
Сообщение #6


macbeth9, попробуй в поле написать 0 или false :sarcastic: .
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.12.2010, 12:01; Ответить: alexdrob
Сообщение #7


(Mulder_hb @ 13.12.2010, 13:12) *
macbeth9, попробуй в поле написать 0 или false :sarcastic: .

На то это и описание, врятли там будет это написано, а если будет то не трудно изменить условие так
[PHP]isset($_POST['short']) and strlen($_POST['short'])>0 or die("Ошибка! Поле с кратким описанием не заполнено");[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 13.12.2010, 15:11; Ответить: Mulder_hb
Сообщение #8


(alexdrob @ 13.12.2010, 14:01) *
На то это и описание, врятли там будет это написано, а если будет то не трудно изменить условие так

Так на то оно и краткое описание (в отличии от полного), что там может быть все, что угодно по длине.
(alexdrob @ 13.12.2010, 14:01) *
[PHP]isset($_GET['short']) and strlen($_GET['short'])>0 or die("Ошибка! Поле с кратким описанием не заполнено");[/PHP]

Тоже не подходит. Я могу поставить хотя бы один пробел или любой символ табуляции :sarcastic: и успешно пройду проверку. Одновременно на пустоту и существование данных не проверить не как. Есть много вариаций проверки. К примеру, можно сделать так:
[PHP]if (isset($_REQUEST['short'])) {
$short = htmlspecialchars(trim($_REQUEST['short']));
if (strlen($short) == 0) {
die("Ошибка! Поле с кратким описанием не заполнено.");
}
}[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 13.12.2010, 15:42; Ответить: alexdrob
Сообщение #9


ну точно так впихните трим

[PHP]isset($_POST['short']) and strlen(trim($_POST['short']))>0 or die("Ошибка! Поле с кратким описанием не заполнено");[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 13.12.2010, 16:45; Ответить: Mulder_hb
Сообщение #10


(alexdrob @ 13.12.2010, 17:42) *
ну точно так впихните трим

[PHP]isset($_POST['short']) and strlen(trim($_POST['short']))>0 or die("Ошибка! Поле с кратким описанием не заполнено");[/PHP]

А смысл дважды прогонять через трим :sarcastic: ? Ведь если проверка пройдет успешно, придется опять применять трим. Не оптимально.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Горячая тема (нет новых ответов) Проверка позиций сайтов в поисковых системах с помощью Positon.ru
Мониторинг продвижения сайтов
183 Positon 179463 12.4.2024, 8:32
автор: Positon
Открытая тема (нет новых ответов) Проблема с админкой
5 Prok 2334 29.7.2019, 20:04
автор: dvakarandasha
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПроблема с таблицей, которая выводится через скрипт
7 vanchester 1339 15.2.2019, 19:06
автор: Artos_mw
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПроблема в тегах при сохранении контента
1 Kord18 1426 13.3.2018, 18:19
автор: Evgeniy3200
Открытая тема (нет новых ответов) Тема имеет прикрепленные файлыПроблема вёрстки адаптивной страницы на divах
28 master-vek 4716 8.2.2018, 19:29
автор: master-vek


 



RSS Текстовая версия Сейчас: 18.4.2024, 8:14
Дизайн