我在服务器上的php配置显示,我可以发布最大大小为8MB的变量,这就足够了。。但是如何检查变量的数量,服务器正在运行ubuntu 4.4,php。
我有一个页面,它会给学生打分,并将他们发送到动作页面,但在动作页面上,对帖子变量进行回显时,没有显示任何内容,在那里进行回显"你好";这表明。。。
这是发送变量的页面
<form name="frm" action="marklistI.php" method="POST" class="" >
<?php $tb->displayTable() ?>
<div class="mainframe">
<input type="hidden" name="batch" value="<?php print $_GET['batch']; ?>"/>
<input type="hidden" name="sem" value="<?php print $_GET['sem']; ?>" />
<input type="hidden" name="chance" value="<?php print $_GET['chance']; ?>"/>
<input name="submit" type="submit" class="hide" value="Save"/>
<input type="hidden" name="url" value="<?php print $_SERVER['REQUEST_URI']; ?>"/>
</div>
</form>
这是即将进入行动页面的变量。。但在回波上,它们没有显示出任何值。
$dept =$_COOKIE['dept'];
$join=$_POST['batch'];
$type='e';
$sem=$_POST['sem'];
$chance=$_POST['chance'];
尝试将此代码放在您的操作页面上:
if (isset($_GET)) {
echo "<h3>GET METHOD</h3>";
var_dump($_GET);
}
if (isset($_POST)) {
echo "<h3>POST METHOD</h3>";
var_dump($_POST);
}
if (isset($_COOKIE)) {
echo "<h3>COOKIE METHOD</h3>";
var_dump($_COOKIE);
}
查看哪个方法返回您的变量并使用它,否则,您不会在表单上填写任何值。
这是您的代码:
<form name="frm" action="marklistI.php" method="POST" class="" >
<?php $tb->displayTable(); ?>
<div class="mainframe"> <input type="hidden" name="batch" value="<?php print $_GET['batch']; ?>"/>
<input type="hidden" name="sem" value="<?php print $_GET['sem']; ?>" />
<input type="hidden" name="chance" value="<?php print $_GET['chance']; ?>"/>
<input name="submit" type="submit" class="hide" value="Save"/>
<input type="hidden" name="url" value="<?php print $_SERVER['REQUEST_URI']; ?>"/>
</div>
</form>
问题的一个可能原因是:
此处使用"_GET[]"变量,但形式为POST。GET和POST是两种不同的发送数据的方法,GET在URL路径中(a=&b=&c=),而POST隐藏在HTML标头中
因此,请确保将这些结果读取为"$_POST['name']",而不是GET。
我建议在"接收脚本"中进行调试:
var_dump($_GET);
var_dump($_POST);
在浏览器中使用Chrome或Firefox+Firebug,然后按"f12"
在该调试器中,您可以在单击按钮时捕获POST,并查看发送了哪些变量
这将帮助您快速调试问题。
另一个建议是,我个人会把代码写得不那么"混杂"。它使它很难阅读,也很难修改。为什么不这样:
<?php
echo "
<form name='frm' action='marklistI.php' method='POST' class='' >".
$tb->displayTable().
"<div class='mainframe'>
<input type='hidden' name='batch' value='$_GET[batch]'/>
<input type='hidden' name='sem' value='$_GET[sem]' />
<input type='hidden' name='chance' value='$_GET[chance]'/>
<input name='submit' type='submit' class='hide' value='Save'/>
<input type='hidden' name='url' value='$_SERVER[REQUEST_URI]'/>
</div>
</form> ";
?>
我对你的问题的猜测是,公式中的那些值实际上是空的,这就是为什么你什么都没收到。