if($_POST['sent']==1)
{
/*что-то делаем тут*/
$_POST['name']=str_replace('~','',strip_tags(trim($_POST['name'])));
$_POST['betreff']=str_replace('~','',strip_tags(trim($_POST['betreff'])));
$_POST['message']=str_replace('~','',strip_tags(trim($_POST['message'])));
/*.....бла бла.....*/
if($_POST['name'] AND $_POST['betreff'] AND $_POST['message'])
{
/* что то ещё*/
}
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<input type="hidden" name="sent" value="1">
/*.....*/
</form>
Запускаю - "Notice: ..." нет,говорит,таких полей. Как убрать плохой эффект сей? Подскажите,коли не сложно.
З.Ы. В какой раздел спросить про установку MySQL,а то апач её не видит,несмотря на конфиги?
Спустя 44 минуты, 32 секунды (20.02.2010 - 00:30) sergeiss написал(а):
1. Про отсутствие элементов.
if( !empty( $_POST['name'] ) ) - тогда ясно, что в ПОСТе с именем name что-то было передано, и мы можем что-то делать.
Проверять надо все без исключения параметры!!! И сразу же записывать в переменные то, что было получено.
Например, так можно:
В переменную $name запишем значение из $_POST['name'] - если там что-то имеется. Иначе - в $name будет записано значение false.
2. Про настройку (установку) MySQL - сюда http://phpforum.ru/index.php?showforum=25 или, скорее, сюда http://phpforum.ru/index.php?showforum=10.
if( !empty( $_POST['name'] ) ) - тогда ясно, что в ПОСТе с именем name что-то было передано, и мы можем что-то делать.
Проверять надо все без исключения параметры!!! И сразу же записывать в переменные то, что было получено.
Например, так можно:
$name=!empty( $_POST['name'] ) ? $_POST['name'] : false;
В переменную $name запишем значение из $_POST['name'] - если там что-то имеется. Иначе - в $name будет записано значение false.
2. Про настройку (установку) MySQL - сюда http://phpforum.ru/index.php?showforum=25 или, скорее, сюда http://phpforum.ru/index.php?showforum=10.
Спустя 49 минут, 40 секунд (20.02.2010 - 01:20) Genco написал(а):
Ооо,пасиба большое. Значит,в книге кривовато сделали,теперь куда лучше работает.
Спустя 5 часов, 21 минута, 49 секунд (20.02.2010 - 06:42) twin написал(а):
sergeiss
Цитата |
$name=!empty( $_POST['name'] ) ? $_POST['name'] : false; В переменную $name запишем значение из $_POST['name'] - если там что-то имеется. |
А если там нуль?
Спустя 4 часа, 41 минута, 43 секунды (20.02.2010 - 11:23) sergeiss написал(а):
Цитата (twin @ 20.02.2010 - 07:42) |
А если там нуль? |
Ну и что, "если там нуль"? Нуль (для целых чисел) - это, чаще всего, отсутствие данных. Так что логика не нарушается. Для целых можно не false написать, а 0.
Спустя 1 час, 25 минут, 14 секунд (20.02.2010 - 12:49) twin написал(а):
Не прав ты. Переменная называется name, значит имя. То есть строка. А если у меня имя 0?
Спустя 5 минут, 21 секунда (20.02.2010 - 12:54) sergeiss написал(а):
twin - ты же сам агитируешь за использование в такой ситуации empty, а не isset
И вообще. Не нравится - предложи свой вариант.
И вообще. Не нравится - предложи свой вариант.
Спустя 2 часа, 49 минут, 19 секунд (20.02.2010 - 15:43) twin написал(а):
Не правда ваша... Я агитирую только в том случае, когда нужно исключить пустоту и ноль в том числе. Если возможен ноль, то тогда так лучше:
$name = (isset( $_POST['name'] ) && $_POST['name'] != '')? $_POST['name'] : null;
Спустя 6 часов, 16 минут (20.02.2010 - 21:59) Genco написал(а):
Ччерт, и такие проверки в каждое первое упоминание переменной втыкать? Как то геморно получится,даже если в функции вынести((
Спустя 56 минут, 2 секунды (20.02.2010 - 22:55) sergeiss написал(а):
Цитата (Genco @ 20.02.2010 - 22:59) |
и такие проверки в каждое первое упоминание переменной втыкать? |
Типа того, что да
Но зато один раз проверил - и потом уже пользуешься во всём скрипте проверенной переменной. Иначе - придется делать проверку каждый раз, когда нужна переданная через POST информация.
Спустя 48 минут, 2 секунды (20.02.2010 - 23:43) Winston написал(а):
Цитата (Genco @ 20.02.2010 - 00:20) |
Значит,в книге кривовато сделали,теперь куда лучше работает. |
Я никогда не видел сложного примера из книги который был бы на 100% правильный. А то, что в скрипте ошибки, так это, как бы задание, чтобы на только копипастил, но и думал головою.