<?
if (@$doADD) {echo 'текст';}
?>
<form action=order.php>
<input type=submit value="Добавить ещё" name=doADD>
</form>
В php4 отлично все работало, но на серевере php5 и этот пример не работает..
Нашел что надо включить на серевер register_global и все будет работать...Но хостер не хочет включать:(
Кто что посоветует, как справиться с такой проблемой и отслежить нажатие кнопки
Спустя 4 минуты, 23 секунды (22.12.2008 - 12:16) modobaks написал(а):
[php]
<?
if (isset( $_REQUEST['doADD'] ) ) {echo 'текст';}
?>
<?
if (isset( $_REQUEST['doADD'] ) ) {echo 'текст';}
?>
Спустя 9 минут, 40 секунд (22.12.2008 - 12:25) sergeiss написал(а):
Как уже многократно утверждалось, надо делать прогу так, чтобы глобальные переменные не использовались.
Проблема в том, что при неправильном их использовании могут быть варианты проникновения хакеров на сервер. Вот хостер и пытается обезопасить себя.
Придется немного переписать скрипты...
<?
$doADD=$_REQUEST['doADD']; // можно и другое имя для переменной взять, но тогда можно запутаться
if ( strlen($doADD) > 0 ) {echo 'текст';} // можно и другие функции сравнения использовать
?>
А вот про 'name=doADD' я не понял, что имелось ввиду.
Проблема в том, что при неправильном их использовании могут быть варианты проникновения хакеров на сервер. Вот хостер и пытается обезопасить себя.
Придется немного переписать скрипты...
<?
$doADD=$_REQUEST['doADD']; // можно и другое имя для переменной взять, но тогда можно запутаться
if ( strlen($doADD) > 0 ) {echo 'текст';} // можно и другие функции сравнения использовать
?>
А вот про 'name=doADD' я не понял, что имелось ввиду.
Спустя 2 минуты, 33 секунды (22.12.2008 - 12:28) NegreM написал(а):
Большое спасибо!
Все работает
Ошибку понял,впредь буду знать:)
Все работает
Ошибку понял,впредь буду знать:)
Спустя 2 минуты, 27 секунд (22.12.2008 - 12:30) modobaks написал(а):
PHP |
$doADD=$_REQUEST['doADD']; // можно и другое имя для переменной взять, но тогда можно запутаться |
А если эта переменная еще не создана, то браузер выдаст ошибку
Спустя 3 минуты, 49 секунд (22.12.2008 - 12:34) lawbreaker написал(а):
PHP |
<? |
Спустя 15 минут, 29 секунд (22.12.2008 - 12:50) sergeiss написал(а):
Цитата (modobaks @ 22.12.2008 - 12:30) | ||
А если эта переменная еще не создана, то браузер выдаст ошибку |
Да ну? С чего бы это?
Он просто создаст переменную с именем $doADD и с пустым содержанием. Никаких ошибок быть не должно.
Спустя 29 минут, 9 секунд (22.12.2008 - 13:19) Sylex написал(а):
Цитата (sergeiss @ 22.12.2008 - 15:50) | ||||
Да ну? С чего бы это? Он просто создаст переменную с именем $doADD и с пустым содержанием. Никаких ошибок быть не должно. |
sergeiss, запусти:
PHP |
<?php |
только ошибку дает PHP, а не браузер, браузер ее показывает
Спустя 41 минута, 51 секунда (22.12.2008 - 14:01) Adil написал(а):
error_reporting(0); и нет проблем
Спустя 2 часа, 23 секунды (22.12.2008 - 16:01) modobaks написал(а):
я про эту часть $_REQUEST['doADD'];
Спустя 44 минуты, 56 секунд (22.12.2008 - 16:46) sergeiss написал(а):
Это уже перебор, писать error_reporting(E_ALL);
Согласен, что лучше будет написать с проверкой, было ли что-то передано. Что-нибудь типа
$doADD=isset( $_REQUEST['doADD']) ? $_REQUEST['doADD'] : false;
Но можно просто не включать показ ВСЕХ ошибок...
Согласен, что лучше будет написать с проверкой, было ли что-то передано. Что-нибудь типа
$doADD=isset( $_REQUEST['doADD']) ? $_REQUEST['doADD'] : false;
Но можно просто не включать показ ВСЕХ ошибок...
Спустя 2 часа, 31 минута, 30 секунд (22.12.2008 - 19:17) Sylex написал(а):
так вот реальная тема, надо ли оно, проверять на существование все переменные? Или фиг с ними?
Спустя 2 часа, 36 минут, 9 секунд (22.12.2008 - 21:54) kirik написал(а):
Цитата (sergeiss @ 22.12.2008 - 08:46) |
Но можно просто не включать показ ВСЕХ ошибок... |
На счет этого не могу сказать, но знак "@", который гасит выведение ошибки влияет не лучшим образом на скорость скрипта.
ИМХО если ты делаешь какой-то продукт, то он должен идеально работать как с включенными ошибками, так и без =)
Спустя 15 минут, 25 секунд (22.12.2008 - 22:09) lawbreaker написал(а):
PHP |
<? |
вот решение етой проблемы!!
или я чтото не врубаю?
Спустя 3 минуты, 10 секунд (22.12.2008 - 22:12) modobaks написал(а):
итог проверка нужна, везде и во все,
Спустя 9 минут, 57 секунд (22.12.2008 - 22:22) sergeiss написал(а):
Цитата (lawbreaker @ 22.12.2008 - 22:09) | ||
вот решение етой проблемы!! или я чтото не врубаю? |
Дык... Ты все правильно написал, спору нету. Только это решение было еще днем дано. Тут вопрос уже пошел немного другой, чуть более глубокий (или более философский, что ли?).
kirik - я не понял, а каким образом гашение ошибок скажется на работе скрипта? Скорее, наоборот будет.
Потому что обработка все равно будет сделана, вне зависимости от вывода ошибок. Но при включенном выводе ошибок будут выводиться дополнительные строки, отрабатывать дополнительные функции где-то в ядре ПХП.
А при выключенном выводе будет сделана вся та же обработка, но не будет работы функций по выводу данных.
_____________
Моя мама запрещала мне в детстве рисовать в Paint, ссылаясь на то, "чтоб в компьютере краска не кончалась" :)