我想回显一个数组'name'的一部分,然后在它旁边有一个提交按钮,它会重定向到一个新的页面,它会回显数组的其余部分,例如。地址,电话号码等。但重定向时信息会丢失。有什么方法可以解决这个问题。这段代码应该解释我的目标。
第1页:
<?php
$info = mysql_query ("SELECT * FROM table WHERE name= 'something'");
$info = mysql_fetch_assoc($info));
?>
<html>
<form action='page2.php' method='POST'>
<?php echo $info['name']; ?>
<input type='submit' value='see other details'>
</form>
</html>
第2页:
<?php
echo $info['address'].$info['address'].$info['address'];
?>
答案 0 :(得分:0)
重定向时信息丢失。有什么方法围绕这个
是的,使用PHP会话。将您的数组存储为$_SESSION['info']
,它将在下一页上提供。不要忘记在两个页面上session_start()
。
第1页:
<?php
session_start();
$info = mysql_query ("SELECT * FROM table WHERE name= 'something'");
$info = mysql_fetch_assoc($info));
$_SESSION['info'] = $info;
?>
第2页:
<?php
session_start();
$info = $_SESSION['info'];
echo $info['address'].$info['address'].$info['address'];
?>
答案 1 :(得分:0)
除非这是你想要做的大大简化的版本,否则没有理由在这里使用表格。您没有将任何数据发布到表单,只是使用它来访问另一个页面,这在技术上就是链接的目的。这不是一个明显不正确的形式使用,但它并不是真的 - 还是 - 也是。
只需通过指向下一页的链接回显该值即可。您可以使用类似jQuery按钮的方式设置a:链接样式,如果需要,甚至可以使用图像模仿按钮。
所以,例如:
<?php
$info = mysql_query ("SELECT * FROM table WHERE name= 'something'");
$info = mysql_fetch_assoc($info));
?>
<html>
<?php echo $info['name']; ?>
<a href="page2.php">Submit</a>
</html>
另一种选择是做两个叠加的div并在点击按钮时显示/隐藏它们。它需要一些jQuery或javascript,但可以消除对服务器的影响,从而提供更流畅的用户体验。如果没有你想要做的更多细节,很难说什么是最好的。
最后,请记住,虽然会话确实有效,但可能存在问题。例如,一些公司和人员关闭会议(或完全阻止会议),因此他们不能100%依赖。特别是IE(在某些版本中)解释了用户选择阻止cookie以阻止会话。如果他们的应用程序在两个选项卡中打开,则可能会使值混淆并导致不良后果。至少,它可能会导致您的应用程序抛出各种吓唬用户的对话框,即使它们真的没那么重要。