i'm trying to do a multi page form, and i'm having problems keeping the the $_POST content over the forms(i don't want to use sessions on this)
i have this:
Code: Select all
<?php
if(!$action) $action = "page1";
else $action = $_POSTї'action'];
function unhtmlspecialchars( $string )
{
$string = str_replace ( '&', '&', $string );
$string = str_replace ( ''', '''', $string );
$string = str_replace ( '"', '"', $string );
$string = str_replace ( '<', '<', $string );
$string = str_replace ( '>', '>', $string );
return $string;
}
if($action == "page1")
{
//Form page 1
?>
<table cellspacing="2" cellpadding="2" align="center">
<th colspan="3" align="center">Form Page 1</th>
<form action="<?=$_PHP_SERVERї'PHP_SELF'];?>" method="post">
<tr><td>Elem 1</td><td>*</td><td><input type="text" name="elem1" size="50"></td></tr>
<tr><td>Elem 1</td><td>*</td><td><input type="text" name="elem2" size="50"></td></tr>
<tr><td>Elem 1</td><td> </td><td><input type="text" name="elem3" size="50"></td></tr>
<tr><td>Elem 1</td><td> </td><td><input type="text" name="elem4" size="50"></td></tr>
<tr><td colspan="3"><input type="submit" name="submit" value="enviar informação"></td></tr>
<input type="hidden" name="action" value="page2">
</form>
</table>
<?
}
if($action == "page2")
{
if(empty($_POSTї'passed'])) $arr = array();
$_POST=array_merge_recursive($arr,$_POST);
$_passed=htmlspecialchars(serialize($_POST));
//Form page 2
?>
<table cellspacing="2" cellpadding="2" align="center">
<th colspan="3" align="center">Form Page 2</th>
<form action="<?=$_PHP_SERVERї'PHP_SELF'];?>" method="post">
<tr><td>Elem 5</td><td>*</td><td><input type="text" name="elem5" size="50"></td></tr>
<tr><td>Elem 6</td><td>*</td><td><input type="text" name="elem6" size="50"></td></tr>
<tr><td>Elem 7</td><td> </td><td><input type="text" name="elem7" size="50"></td></tr>
<tr><td>Elem 8</td><td> </td><td><input type="text" name="elem8" size="50"></td></tr>
<tr><td colspan="3"><input type="submit" name="submit" value="enviar informação"></td></tr>
<input type="hidden" name="action" value="page3">
<input type="hidden" name="_passed" value="<?=$_passed;?>">
</form>
</table>
<?
}
if($action == "page3")
{
$_POST=array_merge_recursive(unserialize($_POSTї'_passed']),$_POST);
$_passed=htmlspecialchars(serialize($_POST));
//Form page 3
?>
<table cellspacing="2" cellpadding="2" align="center">
<th colspan="3" align="center">Form Page 3</th>
<form action="<?=$_PHP_SERVERї'PHP_SELF'];?>" method="post">
<tr><td>Elem 9</td><td>*</td><td><input type="text" name="elem9" size="50"></td></tr>
<tr><td>Elem 10</td><td>*</td><td><input type="text" name="elem10" size="50"></td></tr>
<tr><td>Elem 11</td><td> </td><td><input type="text" name="elem11" size="50"></td></tr>
<tr><td>Elem 12</td><td> </td><td><input type="text" name="elem12" size="50"></td></tr>
<tr><td colspan="3"><input type="submit" name="submit" value="enviar informação"></td></tr>
<input type="hidden" name="action" value="page4">
<input type="hidden" name="_passed" value="<?=$_passed;?>">
</form>
</table>
<?
}
if($action == "page4")
{
$_POST=array_merge_recursive(unserialize($_POSTї'_passed']),$_POST);
$_passed=htmlspecialchars(serialize($_POST));
//Form page 4
?>
<table cellspacing="2" cellpadding="2" align="center">
<th colspan="3" align="center">Form Page 4</th>
<form action="<?=$_PHP_SERVERї'PHP_SELF'];?>" method="post">
<tr><td>Elem 13</td><td>*</td><td><input type="text" name="elem13" size="50"></td></tr>
<tr><td>Elem 14</td><td>*</td><td><input type="text" name="elem14" size="50"></td></tr>
<tr><td>Elem 15</td><td> </td><td><input type="text" name="elem15" size="50"></td></tr>
<tr><td>Elem 16</td><td> </td><td><input type="text" name="elem16" size="50"></td></tr>
<tr><td colspan="3"><input type="submit" name="submit" value="enviar informação"></td></tr>
<input type="hidden" name="action" value="final">
<input type="hidden" name="_passed" value="<?=$_passed;?>">
</form>
</table>
<?
}
if($action == "final")
{
$_POST=array_merge_recursive(unserialize($_POSTї'_passed']),$_POST);
foreach($_POST as $key => $value)
echo $key.' -----> '.$value.'<br>';
}
?>can someone take a look?
thanks.