Xwab
Форумыnavigate_nextИстория

Топ: Небольшие вопросы по PHP
Сообщения
Okula

Dizzy, такая проблемма может ещё существовать если перед строкой <?php присутствует BOM символ. Удалите его и всё будет нормально.

10 Мар 2011, 22:46
Dizzy

Okula, ничего там не присутсвует. о таких вещах мне известно.

10 Мар 2011, 22:47
VADIA

Dizzy, у себя на хосте проверил работает нормально без ошибок

10 Мар 2011, 23:33
Okula

Dizzy, ищи где заголовки передал или инициализировал сессию ранее.

10 Мар 2011, 23:43
Facecontrol

Срочный вопрос можно ли extract($_HTTP_GET_VARS); //заменить на:
extract($_GET); //и то же самое только с POST

10 Мар 2011, 23:50
Fuelen

Facecontrol, лучше этого вообще не делать. большой минус к безобасности

10 Мар 2011, 23:57
Okula

Facecontrol,
Не используйте функцию extract() для непроверенных данных, таких как пользовательский ввод ($_GET, ...). Если вы сделаете это, например, для того, что бы временно запустить старый код, использующий register_globals, используйте соответствующий флаг extract_type для того, что бы не переназначить уже установленные переменные, такой как EXTR_SKIP и удостоверьтесь, что вы извлекаете содержимое массивов $_SERVER, $_SESSION, $_COOKIE, $_POST и $_GET в этом порядке.

11 Мар 2011, 0:00
Facecontrol

Я просто гостевуху хочу написать,в первый раз пишу,и это довольно сократит код.Или лучше мне сделать так принимать к примеру сообщения $mess=$_POST('mess') /и так же имя того кто написал сообщение //а ошибки так: $_GET['nomess']=='1'
Вот я по этому примеру хочу написать гостевую ну конечно здесь только часть кода
<?
extract($HTTP_GET_VARS);
extract($HTTP_POST_VARS);
$file=file("msg.dat");
$count=count($file);
include("config.php");
$allpage=ceil($count/$onpage);
if(empty($page)){ $page='1'; }$amsg=$page*$onpage;$fmsg=$amsg-$onpage;///////////////////////////////////////////////////////////////////////////////include("head.php");
echo '<div class=head>'.$title2.'</div>';
echo $hello;
echo '<a href="add.php">Добавить</a><br/><a href="?rand='.rand(1111,0000).'">Обновить</a><br/>';
for($i=$fmsg;$i<$amsg;$i++) { if(!empty($file[$i])) { $body=explode("::",$file[$i]);
echo '<div class="name"<'.$body[0].'</div>';
echo '<div class="msg">'.$body[1]."(" .date("H:i:s/d.m.Y"). ")".'</div>';
echo '<div class="date">'.$body[2].'</div>';}}
echo '<font color="tomato">Всего сообщений: '.$count.'</font>';
if($page!=='1') { echo '<a href=">page='.($page-1).'>Назад</a>';}
if($page!=='1' and $page<$allpage){ echo'/';}
if($page<$allpage) { echo '<a href="?page='.($page+1).'">Дальше</a>'; }
include("foot.php");
?>
А вот форма файла аdd.рhр
<form action="add.php" method="post"> Имя:<br/><input type="text" name="name"/><br/> Сообщение:<br/><input type="text" name="msg"/><br/> <input type="submit" value="Добавить"/></form>


__________
посл.ред. 11 Мар 2011, 0:29; всего 1 раз 11 Мар 2011, 0:06
JurasJa

Slan1, спасибо!

11 Мар 2011, 0:17
КрошкаБуги

Facecontrol,
Нет. Не делай так.
Пиши в таком порядке. Выключи вдруг чего глобалки и сверху в обработчике

if(!empty($_POST['msg')) $msg=htmlspecialchars(str_replace('::',trim($_POST['msg']))); else exit('Забыл написать сообщение! Тормоз');
if(mb_strlen($msg,'utf-8')>320) exit ('Ты чё дибил! У меня дисковой квоты 50 метров');
Т.е принимай нужные данные,фильтруй,далее с ними уже работай.
Порядок дело вкуса т.с индивидуальные рекомендации,а вот от extrakta еще и с устаревшими переменными откажись.

11 Мар 2011, 2:59
Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.