nr1
Here to stay
|
Hallo, suche eine Möglichkeit ein Array wieder an die Herkunftsseite zu übergeben. Sprich einfach in einem Formular mehr als nur eine einfache Variable weitergeben.
Tipps?
|
kleinerChemiker
Here to stay
|
|
nr1
Here to stay
|
<?php
$board=$_POST['board'];
print_r($board);
$board = array(array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"));
?>
<form action="array.php" method="POST">
<input name="board" size="100" value="<?php echo $board ?>">
<input type="submit" value="Schuss">
</form>
Das hatte ich bis jetzt so in der Art schon, mal schauen wie das mit der Funktion geht.. //edit: Ok jetzt hab ichs so mit dem serialize gemacht. Das einzige Problem: Wenn ich die Variable mit echo ausgebe, kommt ein viel längerer (vollständiger) Text, wenn ich sie allerdings in das hidden field schreibe, fehlt der Großteil ![:confused:](/images/smilies/confused.gif) <?php
if (isset($board))
{
$board=$_POST['board'];
$board=unserialize($board);
}
else
{
$board = array(array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"));
echo "<br><br>";
echo $board=serialize($board);
echo "<br><br>";
}
?>
<form action="array.php" method="POST">
<input name="board" value="<?php echo $board ?>">
<input type="submit" value="Schuss">
</form>
Bearbeitet von nr1 am 11.03.2006, 18:51
|
nr1
Here to stay
|
Inzwischen habe ich es schon einmal geschafft, dass ich das Array als String übergeben kann, und diesen String dann auf der neuen Seite wieder herausbekomme. Allerdings fehlt/funktioniert die Rückumwandlung in ein Array nicht.. <?php
if (isset($board))
{
$board=$_POST['board'];
$board=html_entity_decode(unserialize($board));
echo $board;
print_r($board);
}
else
{
$board = array(array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"));
print_r($board);
echo "<br><br>";
echo $board=(htmlentities(serialize($board)));
echo "<br><br>";
}
?>
<form action="array.php" method="POST">
<input name="board" value="<?php echo $board ?>">
<input type="submit" value="Schuss">
</form>
|
kleinerChemiker
Here to stay
|
$board=html_entity_decode(unserialize($board)); müßte $board=unserialize(html_entity_decode($board)); sein.
hth
MIK
|
nr1
Here to stay
|
$board=html_entity_decode(unserialize($board)); müßte $board=unserialize(html_entity_decode($board)); sein. Das kann nicht stimmen, und funzt auch nicht, da ich ja zuerst serialisiere, und dann Sonderzeichen umwandle. Umgekehrt muss ich dann eben zuerst Sonderzeichen wegtun, und dann deserialisieren..
|
kleinerChemiker
Here to stay
|
mit html_entity_decode(unserialize($board)); tust du aber zuerst deserialisieren und dann sonderzeichen wegtun.
|
mat
AdministratorLegends never die
|
ich versteh echt nicht was ihr da macht..
|
Maehmann
OC Addicted
|
ich versteh echt nicht was ihr da macht.. ![:confused:](/images/smilies/confused.gif) ich auch nur so halbert ... Wenn du in einem Formular mehr als eine Variable weitergeben willst, warum machst du dann nicht pro Variable ein Hidden Field?
|
Luzandro
Here to stay
|
Das kann nicht stimmen, und funzt auch nicht, da ich ja zuerst serialisiere, und dann Sonderzeichen umwandle. Umgekehrt muss ich dann eben zuerst Sonderzeichen wegtun, und dann deserialisieren.. funktioniert einwandfrei... <?php
if (!empty($_POST)) {
echo "postback...<p>";
$board=$_POST['board'];
echo "serialized (from form): ". $board ."<p>";
$board = unserialize(html_entity_decode($board));
echo "unserialized: <p>";
print_r($board);
$board = htmlentities(serialize($board));
}
else {
echo "init...<p>";
$board = array(array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"),
array("X", "X", "X", "X"));
print_r($board);
echo "<br><br>";
echo $board=(htmlentities(serialize($board)));
echo "<br><br>";
}
?>
<form action="array.php" method="POST">
<input name="board" value="<?php echo $board ?>">
<input type="submit" value="Schuss">
</form>
|