Can';t在我的php会话中显示数据

Can';t在我的php会话中显示数据,php,html,session-variables,Php,Html,Session Variables,我的会话表单有问题。这可能是一个简单的答案,但我似乎不明白 我的html: <body> <h1>Hobby Selection Page<br /></h1> <form method="post" action="page1.php" id="hobbies" > <p> <label for="Name">Name: </label> <input type="text" id

我的会话表单有问题。这可能是一个简单的答案,但我似乎不明白

我的html:

<body>
<h1>Hobby Selection Page<br /></h1>
<form method="post" action="page1.php" id="hobbies" >
<p>
   <label for="Name">Name: </label>
   <input type="text" id="name" name="name"/>
</p>
<p>What is your favorite thing to do?<br/>
<select name="hobby">
   <option value="movies">Movies</option>
   <option value="read">Reading</option>
   <option value="music">Music</option>
   <option value="other">My hobby is not listed here</option>
 </select>
 <br/><br/>
<input type="submit" value="Submit Form"/>&nbsp;<input type="reset" value="Clear Form"
/>
  </p>
  </form>
</body>

爱好选择页面
姓名:

你最喜欢做什么?
影视 阅读 音乐 这里没有列出我的爱好

第一个php页面(page1.php):


第二个php页面(page2.php):


我的目标是从第一个html页面输入数据,然后将其发送到第一个php页面(接收会话变量),然后将其定向到第二个php页面,在该页面上检索会话变量并显示我输入/选择的输入数据。我能够显示html和php页面,并从一个页面链接到下一个页面,但我无法显示(在第一个php页面)我从html页面输入的数据。

在page1.php

替换

$_SESSION['name'] = " . name . ";
$_SESSION['hobby'] = " . hobby . ";

在page1.php中

替换

$_SESSION['name'] = " . name . ";
$_SESSION['hobby'] = " . hobby . ";


您的第一个page1.php应该是这样的

<?php
session_start();
echo 'Click the link below';

$_SESSION['name'] = $_POST['name'];
$_SESSION['hobby'] = $_POST['hobby'];;

// Second page
echo '<br /><a href="page2.php">page 2</a>';
?>


您没有获得数据,因为您在
$\u会话中存储的是字符串,而不是在字段中输入的文本。

您的第一个页面1.php应该是这样的

<?php
session_start();
echo 'Click the link below';

$_SESSION['name'] = $_POST['name'];
$_SESSION['hobby'] = $_POST['hobby'];;

// Second page
echo '<br /><a href="page2.php">page 2</a>';
?>


您没有获取数据,因为您正在
$\u会话中存储字符串,而不是在字段中输入的文本。

您缺少一些内容。首先,为“提交”按钮指定一个名称,如下所示:

<input type="submit" value="Submit Form" name="my_submit" />
// Check if form was submitted. If so, get inputs.
if (isset($_POST['my_submit'])) {
   $_SESSION['name'] = $_POST['name'];
   $_SESSION['hobby'] = $_POST['hobby']; 
}
对这样的事情:

<input type="submit" value="Submit Form" name="my_submit" />
// Check if form was submitted. If so, get inputs.
if (isset($_POST['my_submit'])) {
   $_SESSION['name'] = $_POST['name'];
   $_SESSION['hobby'] = $_POST['hobby']; 
}

这会让你朝着正确的方向开始。稍后,您可以添加一些验证,以确保在将
$\u POST['name']
$\u POST['hobby']]
分配给
$\u会话之前正确填写它们

。首先,为“提交”按钮指定一个名称,如下所示:

<input type="submit" value="Submit Form" name="my_submit" />
// Check if form was submitted. If so, get inputs.
if (isset($_POST['my_submit'])) {
   $_SESSION['name'] = $_POST['name'];
   $_SESSION['hobby'] = $_POST['hobby']; 
}
对这样的事情:

<input type="submit" value="Submit Form" name="my_submit" />
// Check if form was submitted. If so, get inputs.
if (isset($_POST['my_submit'])) {
   $_SESSION['name'] = $_POST['name'];
   $_SESSION['hobby'] = $_POST['hobby']; 
}

这会让你朝着正确的方向开始。稍后,您可以添加一些验证,以确保在将
$\u POST['name']
$\u POST['hobby']
分配给
$\u会话之前正确填写它们。name。“?它应该是这样的
$\u SESSION['name']=$\u POST['name']
,另一个也是这样。如果您想在SESSION中保存数据,然后显示它,为什么要使用page1.php?将代码直接放在page2.php中。这是什么
“.name.”?它应该是这样的
$\u SESSION['name']=$\u POST['name']
,另一个也是这样。如果您想在SESSION中保存数据,然后显示它,为什么要使用page1.php?将该代码直接放在page2.php中。不要命名提交按钮
submit
,以防您将Javascript添加到页面并希望执行
form.submit()
。不要命名提交按钮
submit
,以防您将Javascript添加到页面并希望执行
form.submit()