我想在两个PHP文件中多次传递相同的布尔值“isProvena”。我第一次使用以下代码将值从utilitizer.php传递给hraprint.php:
if ($_POST['type'] == 'printphys' || $_POST['type'] == 'printprovenahpa')
{
echo "<form action='/content/822' method=post>";
echo "<input type=hidden name=filename value='$filename'>";
if($_POST['type'] == 'printprovenahpa') {echo "<input type=hidden name=isProvena value='1'>";}
echo "<input type=hidden name=content value='";
if ($_POST['type'] == 'printphys') echo 751;
else if ($_POST['type'] == 'printprovenahpa') echo 520;
echo "'>";
echo "<input type=submit value='Start Job'></form>";
}
然后我从hraprint.php获取值“isProvena”并再次发布(获取):
$isProvena = false;
extract($_REQUEST, EXTR_IF_EXISTS);
$isProvena = (boolean)$isProvena;
<form action="/content/822" method="GET">
<input type="hidden" name="isProvena" value="<?php echo ($isProvena) ? '1' : '0' ?>" />
<tr>
<td><label for="showOnlyScreening">Print Only Screenings:</label></td>
<td><input id="showOnlyScreening" type="checkbox" name="showOnlyScreening" value="1" <?php echo ($isProvena) ? 'checked="checked"' : ''?>/></td>
</tr>
<tr>
</table>
</form>
再次发布:
<form action="/content/822" method="POST">
<input type="hidden" name="isProvena" value="<?php echo ($isProvena) ? '1' : '0' ?>" />
</table>
我在这里做出判断:
if($isProvena){
.........
}
我需要多次发布(获取)的原因是在同一个PHP文件(hraprint.php)中发生了多个页面重定向操作。当我试图从if($ isProvena){}获取应该为'true'的值并执行该函数时,我失败了。
任何人都可以帮我看看并告诉我出了什么问题?
答案 0 :(得分:1)
如果您只是为此使用会话会更容易。会话专门用于此目的 - 将变量轻松地从一个页面传递到另一个页面。
在答案的最后一个代码块中尚未确定$isProvena
已存在,因为我在那里看不到任何extract()
。
P.S。使用$_POST
和$_GET
变量,而不是提取$_REQUEST
。代码容易受到register_globals