我的 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"/> <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/