我正在尝试研究php,我已经在会话部分,我想在我的第一页上输入一些东西,然后是第二页的输出
1stpage.php
<?php session_start();?>
<form method="post">
Enter a number: <input type="number" name="num1" min="1" max="20" value="<?php echo $_SESSION["$num1"];?>">
<a href ="2ndpage.php">
<input type="button" name="select" value="select">
</a>
</form>
2ndpage.php
<?php
session_start();
echo $_SESSION[$num1];
?>
嗯,它不起作用,我得到了很多未定义的索引错误。任何修理人员?提前谢谢。
答案 0 :(得分:0)
看看表单处理:
http://www.w3schools.com/php/php_forms.asp
如果您仍想将值保存到会话中,请使用:
$_SESSION['num1'] = $_POST['num1'];
答案 1 :(得分:0)
我不认为你理解这一切是如何运作的。您正在让PHP将会话变量输出到文本框中,并期望该文本框以某种方式神奇地更新您的会话。在某些地方,您必须将该数据传递回PHP并进行更新。因此,让我们让您的代码成为一个过程
<?php session_start(); ?>
<form method="post" action="process.php">
Enter a number: <input type="number" name="num1" min="1" max="20" value="<?php echo $_SESSION["$num1"];?>">
<input type="submit" name="select" value="select">
</form>
我所做的就是让这个表格做一个基本的POST。如果你想避免这种情况,你可以使用AJAX(使用JS代替HTML的结果相同)
接下来,让我们制作一个基本的process.php
中间页
<?php
session_start();
$_SESSION['num1'] = (int)$_POST['num1'];
header('Location: 2ndpage.php');
现在我们有了数据的物流链。您接受HTML中的数据并将其发布到此页面。然后接受它,清理它(请注意我将其转换为(int)
,因此我们确定这是一个数字),然后向浏览器发出重定向,将您带到原始目标页面,现在应该可以工作。
这对教学过程来说过于简单。您可以将表单直接提交给2ndpage.php
并在那里处理。或者,正如我之前所说,您可以使用AJAX发送到process.php
,当它返回一些成功参数时,您可以使用JS重定向。你有很多选择。
答案 2 :(得分:0)
1stpage.php
<?php session_start();?>
<?php if(isset($_SESSION['num1'])) $num1 = $_SESSION['num1']; else $num1 = ''; ?>
<form method="post" action="2ndpage.php">
Enter a number: <input type="number" name="num1" min="1" max="20" value="<?php echo $num1;?>">
<input type="submit" name="select" value="select">
</form>
2ndpage.php
<?php
session_start();
$_SESSION['num1'] = $_POST['num1'];
echo $_SESSION['num1'];
?>
我在这里做的是,如果已将num1偏移量设置到会话中,我首先查看了会话。如果不是那么我将$ num作为空白,我将会话中的值设置为$ num。 现在,当我们输入内容并将其发布在第二页时,已发布的值将分配给会话中的变量并显示。因此,下次您在同一会话中访问1stpage.php时,您将看到上次发布的值。
如果它解决了你的问题,或者这不是你想要的,请告诉我们。
答案 3 :(得分:0)
我相信这就是你要做的事情:
第1页:
<?php
session_start();
if(isset($_POST['select'])){
$num1 = $_POST['num1'];
$_SESSION['num1'] = $num1;
}
?>
<form method="post">
Enter a number: <input type="number" name="num1" min="1" max="20" value="<?php echo $_SESSION['num1']; ?>">
<input type="submit" name="select" value="select">
<a href ="2ndpage.php">Click here to See the Value</a>
</form>
第2页:
<?php
session_start();
echo $_SESSION['num1'];
?>
首先,您按
select
输入内部值num1
然后点击Click here to See the Value
查看。
答案 4 :(得分:-1)
把它放在第一页:
$_SESSION['num1'] = $num1;
这是第二次
$num1 = $_SESSION['num1'];