Функция сессия и масив, с ними ман затру до дыр :(

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Функция сессия и масив, с ними ман затру до дыр :(

Мужыки! Помогите плз. Глюк, йо-ма-йо.

Файл редактирования новости. при нажатии на кнопке выполняется следуйщее

edit.php
SESSION_REGISTER("FORM");
if ($_SERVER['REQUEST_METHOD']=='POST'){
prepare_text($HTTP_POST_VARS);
}

function prepare_text($HTTP_POST_VARS){
while (list($key, $val) = each($HTTP_POST_VARS)){
$FORM["$key"] = strip_tags($HTTP_POST_VARS["$key"]);
if (get_magic_quotes_gpc() == "0"){
$FORM["$key"] = addslashes($FORM["$key"]);
}
return $FORM;
}

значения переменных ни под какими уговорами не хотят писаться в сессию. что не так? подскажите плз. Упарился уже я, внутри функции (всередине цикла) значения наружу они не отдаются (ломаются короче, как девка) :(((
Спасибо
 

Yurik

/dev/null
ой-ой-ой. мраки.
прям не знаю с чего начинать. ты лучше скажи что ты хочешь получить, а то из этого "кода" ни.. не понятно.
 

}|{yK

Guest
Лучше брось это дело - программировать. :)

Или не ленись и читай, учись. Сначала прочитай вот это - http://ua.php.net/variables.predefined
потом вот это
http://ua.php.net/session
да и вообще - купи себе книжку для начала и прочитай ее от и до выполняя попутно из нее все примеры - очень полезно, кстати.

А потом сам себе задай вопрос - что же я делаю неправильно?
Если не сможешь ответить - бросай это дело... :)
 

Апокалипсис

Guest
если начинаешь программировать, начинай не со сложных примеров таких как этот
 

BoFFiN

Новичок
Mr_Max

объяви переменные глобальными, как посоветовал ONK
global $vars;
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
Мужики, пардон, но спросить и посоветоваться не у кого, вот и приходится самому как-то "извращатся".

Нужно записать в сессию данные переданные методом пост (предварительно их обработав: удалить пробелы, добавить если нужно слеши)

Вроде-бы что-то уже программировал, а сейчас, смотря на код скрипта, вижу, что его можно упростить
раньше я перечисливал все переменные добавлял слешы и т.д. Теперь будет всего-навсего одна функция. :)) Век живи, век учись.

Без слов, просто огромное человеческое спасибо

Не спорю, что нужно читать, однако намного лучше, когда кто-нибудь нормально сядет и объяснит. У меня к сожалению такого человека нет :(( Вот и пришлось вас "помучити" :)
 

Bill Gates

Guest
Макс, в кавычки надо брать только СТРОКИ.
Все остальное, в том числе числа и переменные, в кавычки брать НЕ НАДО.

И веебще все гораздо проще можно написать.
Если это пишется не для допотопной третьей версии, то вот тебе функция, которая делает то, что тебе надо. А может - и не то. поскольку ты сам плохо себе представляешь, что тебе надо :)
Код:
function prepare_text(){
  foreach ($_POST as $key => $val){
    $f[$key] = strip_tags($val);
    if (!get_magic_quotes_gpc()) $f[$key] = addslashes($val);
  }
  return $f;
}
$FORM=prepare_text(array());
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
у меня ещё trim есть, извините не запостил
 

Bill Gates

Guest
вот ты пишешь
но спросить и посоветоваться не у кого
но при этом просьбу
ты лучше скажи что ты хочешь получить, а то из этого "кода" ни.. не понятно.
просто проигнорировал.
вот поэтому и получается, что
пришлось вас "помучити"
.

а рассказал бы толком, а не заставлял людей догадываться самих - в первую очередь себе бы помог.

пойми, что
кто-нибудь нормально сядет и объяснит
только если ты сам сначала объяснишь, чего ты хочешь.
 

Mr_Max

Первый класс. Зимние каникулы ^_^
Команда форума
>>а это что такое?

но при этом просьбу

ты лучше скажи что ты хочешь получить, а то из этого "кода" ни.. не понятно.

просто проигнорировал.
вот поэтому и получается, что
по моему это и есть объяснение

Нужно записать в сессию данные переданные методом пост (предварительно их обработав: удалить пробелы, добавить если нужно слеши)Нужно записать в сессию данные переданные методом пост (предварительно их обработав: удалить пробелы, добавить если нужно слеши)
или может я ошибаюсь?

с формулировкой вопроса, согласен

П.С.Проехали, а то превратили форум в базар
 

Rover

Guest
плохо писать в сессию весь хлам который падает на голову (IXMO), надо писать только то, что ждешь, мало ли чего тебе там сольют, страничку всегда можно "подправить", а когда знаешь, что должно прийти то и писать просто:

$_SESSION["имя_переменной_сессии"] = $_POST["имя_переменно_из_формы"];

и почитай про register_globals
 

Bill Gates

Guest
Кстати, да - правильное замечание.
имеет смысл завести массив, элементы которого - имена нужных тебе переменных.
и перебирать не _POST, а этот массив ,подставляя его элементы как ключи в POST.
 
Сверху