|
|
|
|
|
для: sms-send
(12.07.2008 в 23:10)
| | Вот я и говорю - проверить... | |
|
|
|
|
|
|
|
для: sms-send
(13.07.2008 в 03:33)
| | Это для админки...т.е для себя..... | |
|
|
|
|
|
|
|
для: serjinio
(13.07.2008 в 02:38)
| | Вы проверяете уже html код, а не текст введённый пользователем. Если будут более сложные проверки, то могут возникнуть трудности. Да и хранить данные в виде html как то не удобно. | |
|
|
|
|
|
|
|
для: sms-send
(12.07.2008 в 23:10)
| | Сделал по другой схеме..
<?php
if ($_SERVER['REQUEST_METHOD']=='POST') {
foreach($_POST as $key => $value) {
$value=trim($value); // убираем пробелы в начале и в конце переменной.
if (get_magic_quotes_gpc()) $value = stripslashes($value); //убираем слеши, если надо
$value=htmlspecialchars($value,ENT_QUOTES); //заменяем служебные символы HTML на эквиваленты
$_POST[$key]=$value; //все изменения записываем в массив $_POST
}
$err='';
if (!$name) $err.="Вы забыли написать свое имя<br>";
if (!$notes) $err.="Вы забыли написать сам отзыв!<br>";
}
if (!$err)
{
//если ошибок нет, то пишем куда надо...или выводим...
Header("Location: ".$_SERVER['PHP_SELF']);
exit;
}
}
else
{
$_POST['name'] = $_POST['email'] = $_POST['notes'] ='';
}
?>
<html>
<head></head>
<body>
<? if ($err) echo '<font color=red><b>'.$err.'</b></font>'; ?>
<form action="<? echo $_SERVER['PHP_SELF'] ?>" method="POST"><br>
Name: <input type="text" name="name" value="<? echo $_POST['name'] ?>"><br>
Notes: <textarea rows="3" cols="30" name="notes"><? echo $_POST['notes'] ?></textarea><br>
<input type="submit" name="submit">
</form>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: sim5
(12.07.2008 в 16:47)
| | >Я прочитал также. Просто я привык, сперва проверять, потом принимать решение, а не наоборот.)
Форма будет отображена повторно только в том случае, если какая то из проверок покажет ошибку заполнения. Вы можете сначала проверить данные и в случае ошибки выполнить этот код, который покажет пользователю форму с его крякозябрами и сопровождающим текстом ошибок, которые он должен исправить. | |
|
|
|
|
|
|
|
для: sms-send
(12.07.2008 в 03:17)
| | Объясните какой смысл в этой конструкции..
value="'.isset($_REQUEST['field1'])?$_REQUEST['field1']:''.'"
|
я как понимаю, что если в поле введено что-то, то значение value=$_REQUEST['field1'], и в $field1---это что-то....
если поле пустое то значение value= равно пустоте...т.е пустое поле и в переменной $field1ничего нет... | |
|
|
|
|
|
|
|
для: Trianon
(12.07.2008 в 16:39)
| | Я прочитал также. Просто я привык, сперва проверять, потом принимать решение, а не наоборот.) | |
|
|
|
|
|
|
|
для: sim5
(12.07.2008 в 16:32)
| | Ну я, к примеру прочел
'<input type="text" name="field1" value="'.htmlspecialchars(@$_REQUEST['field1']).'"><br />',
| в первую очередь как value="'.htmlspecialchars(...
А Вы , вероятно, как htmlspecialchars(@$_REQUEST['field1']) | |
|
|
|
|
|
|
|
для: BinLaden
(12.07.2008 в 16:17)
| | Ребята, если бы было так, например:
<?
$name = isset($_POST['name']) ? $_POST['name'] : "";
$mail = isset($_POST['mail']) ? $_POST['mail'] : "";
$post = isset($_POST['post']) ? $_POST['post'] : "";
if ($name) {
//проверяем потроха
//втюхивают запрещенное
//хидером на фигу
//если ошибочка просто,
//а мы разрешили, то
$name = htmlspecialchars($name); //и т.д.
}
//вывод формы со значениями $name, $mail, $post
?>
|
тогда я понимаю, но зачем это делать до проверки, обрамив и забросив в значения.
>Например, пользователь изначально ввел никнейм с лишним, "плохим" символом
"Плохие" символы, если речь о нике - проверять надоть, нафига они мне нужны, я об этом и говорю. | |
|
|
|
|
|
|
|
для: sim5
(12.07.2008 в 16:04)
| | > Но зачем делать лишнее обрамляя в htmlspecialchars до проверки? Не проверив чего там, сразу ляп и ... Я думаю так - поле имя, значит имя, не имя - "до свидания"
Например, пользователь изначально ввел никнейм с лишним, "плохим" символом, который Вы ни за что на свете не согласитесь впихивать в базу данных. Нажал "Отправить". Появляется та же страница с матерным сообщением от разработчика. Мол чё ты пишешь, сволочь.
И что он увидит дальше? Что поле никнейм, в которое он вводил ник, стало вообще пустым или страница стала отображаться неверно? А ему всего-то надо было убрать этот символ. | |
|
|
|
|