Просмотр полной версии : почему не работает??
foreach($_POST as $key => $value)
{
$value=htmlspecialchars($value);
echo $value.'<br/>';
}
Все пост-запросы выводятся, но, почему-то не обрабатываются функцией htmlspecialchars. ПОЧЕМУ?
Т.е. echo $value.'<br/>'; работает для всех ПОСТ-запросов, а $value=htmlspecialchars($value); НЕТ!
А что именно не обрабатываеться? Покажите пример данных скармливаемых скрипту.
#2
ну например есть несколько ПОСТ-форм.
в них пишется текст
на сл. странице
весь ПОСТ-массив проверяется циклом foreach
и все формы выводятся
Вообщем так:
из скрипта А в скрипт Б передаётся куча ПОСТ-запросов.
Код скрипта Б:
foreach($_POST as $key => $value)
{
$value=htmlspecialchars($value);
echo $value.'<br/>';
}
Из цикла все ПОСТ-запросы выводятся (т.е. echo $value.'<br/>'; работает), а вот ф-ция $value=htmlspecialchars($value); не работает. Почему?
POS_troi
19.10.2009, 19:49
у тя проблема не в этом скрипте, тут все отрабатывает четко - даже проверил
http://img199.imageshack.us/img199/3048/35663166.jpg
Экранируеться только:
* '&' (ampersand) becomes '&'
* '"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
* ''' (single quote) becomes ''' only when ENT_QUOTES is set.
* '<' (less than) becomes '<'
* '>' (greater than) becomes '>'
-это я к тому,есть ли такие символы у автора в тексте передаваемого к обработке.
Экранируеться только:
* '&' (ampersand) becomes '&'
* '"' (double quote) becomes '"' when ENT_NOQUOTES is not set.
* ''' (single quote) becomes ''' only when ENT_QUOTES is set.
* '<' (less than) becomes '<'
* '>' (greater than) becomes '>'
-это я к тому,есть ли такие символы у автора в тексте передаваемого к обработке.
ну например если передать <h1>HI</h1>
, то выведется большими буквами HI, т.е. чёрточки не уберутся
у тя проблема не в этом скрипте, тут все отрабатывает четко - даже проверил
http://img199.imageshack.us/img199/3048/35663166.jpg
а в чём тогда?
а в чём тогда?
Красные стрелочке кагбе говорят: Капитан очевидность1
чёт $value в цикле не обрабатывается ни htmlspecialchars, ни str_reolace
POS_troi
19.10.2009, 20:15
ну например если передать <h1>HI</h1>
, то выведется большими буквами HI, т.е. чёрточки не уберутся
Опять ошибаешся
http://img41.imageshack.us/img41/6875/35467520.jpg
а насчет что не так - а хз, я не телепат
Опять ошибаешся
http://img41.imageshack.us/img41/6875/35467520.jpg
а насчет что не так - а хз, я не телепат
а может быть из-за того, что этот цикл подключается на страницу include_once?
если да, как его правильно подключить?
т.е. из скрипта А в скрипт Б передаются пост-запросы.
в скрипте Б иклудом подключается цикл, который проверяет все пост-запросы.
потом в скрипте Б выводятся пост-запросы.
что здесь не так?
а может быть из-за того, что этот цикл подключается на страницу include_once?
если да, как его правильно подключить?
А может быть,все изза того,что у нас нет полного кода? Как ты думаеш?
А может быть,все изза того,что у нас нет полного кода? Как ты думаеш?
сча дам!
POS_troi
19.10.2009, 20:23
а хз. выкидывай скрипт сюды и посмотрим а так гадать после тяжкого раб. дня нет никакого желания.
ну вот как всегда опаздал =)
1.php:
<?
include_once("2.php");
if (!isset($_GET['act']) || $_GET['act']=="")
{
echo'<br><hr><form action="1.php?act=add" method="post">';
echo'<b>Сообщение:</b><br>';
echo '<textarea cols="20" rows="3" name="msg"></textarea><br>';
echo'<input type="submit" value="ADD" /></form>';
}
if ($_GET['act']=="add")
{
echo $_POST['msg'];
}
?>
2.php:
foreach($_POST as $key => $value)
{
$value=htmlspecialchars($value);
}
2.php:
foreach($_POST as $key => $value)
{
$value=htmlspecialchars($value);
}
ууу,шо за бляц**тво ,зачем переменной передавать значение глобального массива пост в htmlspecialchars(); не лучше будег его на выводе использовать?
<?php
$array=array('a','b','c','>');
foreach($array as $key => $value)
echo htmlspecialchars($value);
?>
уууух, ебал)
$_POST = array_map("htmlspecialchars",$_POST);
oO ниправдале
2.php:
foreach($_POST as $key => $value)
{
$value=htmlspecialchars($value);
}
ууу,шо за бляц**тво ,зачем переменной передавать значение глобального массива пост в htmlspecialchars(); не лучше будег его на выводе использовать?
<?php
$array=array('a','b','c','>');
foreach($array as $key => $value)
echo htmlspecialchars($value);
?>
дело в том, что это для всех пост-запросов, т.е. я не знаю имена всех переменных.
В примере имя известно, а на самом деле мне нужно для всех пост-запросов.
уууух, ебал)
$_POST = array_map("htmlspecialchars",$_POST);
oO ниправдале
а как вырезать определённые символы?
а как вырезать определённые символы?
strtr,str_replace,preg_replace,preg_irelplace,ereg _replace.
strtr,str_replace,preg_replace,preg_irelplace,ereg _replace.
ну это я знаю)
пример в array_map можно?
ну это я знаю)
пример в array_map можно?
function replace_to($text){
str_replace();
}
array_map("replace",$array);
Думай сюда.
function replace_to($text){
str_replace();
}
array_map("replace",$array);
Думай сюда.
СПС. Выручили!
СПС. Выручили!
Та я в себе не сомневался :o
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot