(PHP) Проблемы с serialize | unserialize

__1@1
Дата: 25.09.2006 16:40:09
пытаюсь на посте сделать unserialize, но ничё не пашет. В чём проблема
<?php

        $err['msg'] = "Delete?.";
        $err['type'] = "confirm";
        $err['redir'] = '?sid='.$sid;

        $err['but'] = "<input tupe=\"submit\" name=\"submit\" value=\"Submit\" /><input type=\"submit\" name=\"cancel\" value=\"Cancel\" />";
        $err['action'] = "index.php";
        $err['values'] = "<input type=\"hidden\" name=\"sid\" value=\"".$sid."\" />".
                         "<input type=\"hidden\" name=\"sql\" value=\"delete from wh_invoice where wi_id in (" . $pst_itms .")\" />";

$package = serialize($err);

?>
<form method="post">
  <input type="hidden" name="vaa" value="<?= $package ?>"
  <input type="submit" name="submit" value="submit" />
</form>
<?

if(isset($_POST['vaa'])) {
  echo '!!!<br>';
  $data    = unserialize($_POST['vaa']);
  print_r($data);
}
?>
Модератор:
Оформляйте топики согласно требованиям форума!!! Топики оформленные не по правилам - будут удаляться.
Anjey aka PM
Дата: 25.09.2006 17:05:23
"<input type=\"hidden\" name=\"sql\" value=\"delete from wh_invoice where wi_id in (" . $pst_itms .")\" />"

однозначно дыра

что же касается "почему ансериалайз неработает": вы содержимое $_POST['vaa'] проверяли? может стоит заэскейпить $package при выводе тут:
<?= $package ?>
Robert Tappan Moris
Дата: 25.09.2006 17:11:19
Например так:
<?php

        $err['msg'] = "Delete?.";
        $err['type'] = "confirm";
        $err['redir'] = '?sid='.$sid;

        $err['but'] = "<input tupe=\"submit\" name=\"submit\" value=\"Submit\" /><input type=\"submit\" name=\"cancel\" value=\"Cancel\" />";
        $err['action'] = "index.php";
        $err['values'] = "<input type=\"hidden\" name=\"sid\" value=\"".$sid."\" />".
                         "<input type=\"hidden\" name=\"sql\" value=\"delete from wh_invoice where wi_id in (" . $pst_itms .")\" />";

$package = serialize($err);

?>
<form method="post">
  <input type="hidden" name="vaa" value="<?= htmlentities($package) ?>">
  <input type="submit" name="submit" value="submit" />
</form>
<?

if(isset($_POST['vaa'])) {
  echo '!!!<br>';
  $data    = unserialize(html_entity_decode($_POST['vaa']));
  print_r($data);
}
?>

Ошибок было две (если не считать дыкру с передачей sql-запросом):
  • не хватало ">" у первого input'а
  • нужно было экранировать html-теги после серилизации и восстановить их пере рассерилизацией.
  • Гутманс
    Дата: 25.09.2006 17:18:16
    У меня другой вопрос накой этот глюкодром вообще нужен?!
    __1@1
    Дата: 25.09.2006 17:34:35
    Robert Tappan Moris
    Например так:[src html]
    Ошибок было две (если не считать дыкру с передачей sql-запросом):
  • не хватало ">" у первого input'а
  • нужно было экранировать html-теги после серилизации и восстановить их пере рассерилизацией.

  • 1) ну вроде бы ж написана ...
    2) а примерчик можно?
    __1@1
    Дата: 25.09.2006 17:39:20
    2Robert Tappan Moris - твоя переработка тож не пашет
    Robert Tappan Moris
    Дата: 25.09.2006 18:00:24
    А в чем выражает отказ от пахания?

    Кстати ещё ошибку нашел:
    $err['but'] = "<input tYpe=\"submit\" name=\"submit\" value=\"Submit\", /> ...

    Я ещё раз проверил - у меня работает.
    __1@1
    Дата: 25.09.2006 18:04:46
    тем, что вот тут
    print_r($data);
    ничего не выводит
    VERS
    Дата: 25.09.2006 18:13:53
    Гутманс
    У меня другой вопрос накой этот глюкодром вообще нужен?!

    Я бы сначало ответил на этот вопрос ...
    __1@1
    Дата: 25.09.2006 18:56:31
    VERS
    Гутманс
    У меня другой вопрос накой этот глюкодром вообще нужен?!

    Я бы сначало ответил на этот вопрос ...

    и как бы ВЫ ответили на этот вопрос...???
    я бы ваще не отвечал на такие вопросы...
    памому проще написать " так нельзя нада вот эдак", а типа писать глюкодром, глюкодром, кождый может, а помочь нет.