我是php新手,我试图通过会话传递提交按钮的值。
到目前为止我的代码看起来像这样:main_page.php
session_start();
echo '<form method="post" action="details_page.php">';
echo '<li><a href="ifconfig.php> <input type="submit" name=submit value='."$ip_address".' /></a></li>';
echo '</form>';
$value_to_pass = $_POST[submit];
echo $value_to_pass;
$_SESSION['value'] = $value_to_pass;
}
details_page.php
session_start();
echo $value_to_pass = $_SESSION['value'];
echo $value_to_pass;
我需要它在details_page.php中打印$ value_to_pass
答案 0 :(得分:0)
这非常令人困惑
session_start();
echo '<form method="post" action="details_page.php">';
echo '<li><a href="ifconfig.php> <input type="submit" name=submit value='."$ip_address".' /></a></li>';
echo '</form>';
$value_to_pass = $_POST[submit];
echo $value_to_pass;
$_SESSION['value'] = $value_to_pass;
考虑将其更改为此,以便仅在实际提交表单时执行POST代码。如果没有这个检查,如果没有提交表单,你的会话将被分配一个空白值,这可能会给你带来奇怪的结果。
session_start();
echo '<form method="post" action="details_page.php">';
echo '<li><a href="ifconfig.php> <input type="submit" name=submit value='."$ip_address".' /></a></li>';
echo '</form>';
// Note also you need single quotes in the $_POST array around 'submit'
if(isset($_POST['submit']))
{
$value_to_pass = $_POST[submit];
echo $value_to_pass;
$_SESSION['value'] = $value_to_pass;
}
将details_page.php更改为
session_start();
// Do not echo this line, as you are echoing the assignment operation.
$value_to_pass = $_SESSION['value'];
var_dump($value_to_pass);
答案 1 :(得分:0)
首先您更改以下代码
echo '<form method="post" action="details_page.php">';
echo '<li><a href="ifconfig.php> <input type="submit" name=submit value='."$ip_address".' /></a></li>';
echo '</form>';
以下
echo '<form method="post" action="details_page.php">';
echo '<input type="hidden" name="ip_address" id="ip_address" value="'.$ip_address.'">';
echo '<li><a href="ifconfig.php> <input type="submit" name=submit /></a></li>';
echo '</form>';
这实际上是最好的做法。我也跟着这个。因此,请尽量避免在“提交”按钮中传递值。将它传递给“隐藏”字段。
然后得到如下值: -
$value_to_pass = $_POST["ip_address"];
我认为它会对你有所帮助。感谢。