Здравствуйте!
Мой пхп код расположен в середине страницы, т.е. после него идёт еще пхп код и html.
Исходя из такого положения дел, для меня неприемлимо использовать exit;, так как он останавливает сценарий (что собственно и должен делать), не выводя все остальное после него.
Возможны ли другие пути?
И еще какие функции посоветуете использовать для данных пришедших от пользователя? Хватит ли addslashes() & htmlspecialchars() ?
1. D1mOn - 20 Февраля, 2008 - 04:59:42 - перейти к сообщению
2. RomAndry - 20 Февраля, 2008 - 10:23:21 - перейти к сообщению
ну первое на ум пришло использовать простейший шаблонизатор (хотя шаблонизатором назвать это сложно)
PHP:
скопировать код в буфер обмена
скопировать код в буфер обмена
- $head= $footer= $table1= $table2 = $str= '';
- $head= '<HTML>
- <HEAD>
- ....
- </HEAD>';
- if($foo==$bar){
- // по сути это и заменяет exit()
- $table1= '<table>....</table>';
- }
- $table2= '<table>....</table>';
- $footer= '</BODY><HTML>';
- $str.= ($head!='' ? $head : '');
- $str.= ($table1!='' ? $table1 : '');
- $str.= ($table2!='' ? $table2 : '');
- $str.= ($footer!='' ? $footer : '');
- echo $str;
Это то что пришло сразу в голову =)
Во вторых пересмотреть логику
Цитата:
И еще какие функции посоветуете использовать для данных пришедших от пользователя? Хватит ли addslashes() & htmlspecialchars()
1) ну я бы посоветовал проверять $_POST и $_GET числовые значения с помощью intval() doubleval() причем intval() и проверять на ноль
2) так же использовать trim() что бы убирать лишние пробелы
а лучше
это уберет пробелы между текстом лишние ну и уберет HTML теги
3) не забываем про "волшебные кавычки", проверяя