php - 无法在我的 php session 中显示数据

标签 php html session-variables

我的 session 表单有问题。这可能是一个简单的答案,但我似乎无法弄清楚。

我的 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
session_start();
echo 'Click the link below';

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

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

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

<?php
// page2.php
session_start();
echo 'Your favorite activity:<br />';

echo $_SESSION['name'];
echo $_SESSION['hobby'];

echo '<br /><a href="page1.php">page 1</a>';
?>

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

最佳答案

你的第一个 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>';
?>

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

关于php - 无法在我的 php session 中显示数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23649237/

相关文章:

php - Laravel 5.5 使用生产数据库整合迁移

php - 使用SQL检查数据库中是否存在用户

ruby-on-rails - 如何清空/销毁 Rails 中的 session ?

perl - Embperl 中 %mdat(与 %udat 相比)的目的是什么?

php - 创建 HTML(PHP 或 Jquery)的最佳实践?

php - 使用php上传后如何重命名文件名?

html - CSS 网格样式

javascript - javascript for 循环中的 DispatchEvent

javascript - 如何在发送表单上重新加载网站的一部分?

javascript - 如何在页面中存储 IBM Notes 数据库对象变量并稍后访问它