1

我有一个创建服务器会话变量的脚本。

我需要使用隐藏的表单字段将其中 2 个变量插入一个简单的表单(在 php 页面上)。

<?php
session_start();
?><pre><?php
print_r($_SESSION);
?> 

我用上面的代码创建了一个简单的 php 页面。我可以在页面上轻松看到会话变量,正如您在我从页面复制的这部分代码中看到的那样:

[login] => andrew8855
[pass] => $P$BIsPUTQ/e4mJSlaDsRLA48mB20xxIC1
[email] => andrew@mysiteaddress.com
[name_f] => Andrew
[name_l] => 
[street] => 
[street2] => 
[city] =>

在自定义表单中,我需要将上面的变量获取/打印到表单中,如下所示:

<input type="hidden" name="login_email" id="login_email" value="[email]" />
<input type="hidden" name="login_user" id="login_user" value="[login]" />

所以当提交表单时,会话中存在的变量会被提交到隐藏的表单域中。

搜索了几个小时后,我发现我可以用 session_start();.... 以某种方式做到这一点,但我不清楚如何做到这一点。感谢您的任何建议。

4

3 回答 3

2

更改您的 html 模板,如下所示:

<input type="hidden" name="login_email" id="login_email" value="<?php echo $_SESSION['email'];?>" />
<input type="hidden" name="login_user" id="login_user" value="<?php echo $_SESSION['login'];?>" />

请注意,如果您已short_open_tags启用,您可以执行以下操作:

<?=$_SESSION['email']?>

代替 :

<?php echo $_SESSION['email'];?>
于 2014-11-20T20:28:31.997 回答
1

使用 session_start() 函数启动会话。

会话变量使用 PHP 全局变量设置:$_SESSION。

如果您没有使用任何自动会话处理框架...如果您使用自己的脚本,那么您必须在使用之前启动会话。您可以尝试

<?php
// Start the session<br/>
session_start();
?>

这是设置脚本的开头。之后您可以使用会话变量。

更改您的 html 模板,如下所示:

<input type="hidden" name="login_email" id="login_email" value="<?php echo $_SESSION['email'];?>" />
<input type="hidden" name="login_user" id="login_user" value="<?php echo $_SESSION['login'];?>" />

自 PHP 5.4 起,无论 short_open_tag (php.ini) 设置如何,始终启用内联 echo 短标签。

如果未启用,请设置

short_open_tag=在 php.ini 中打开

之后重新启动您的 Apache 服务器,然后您可以使用

<?=$_SESSION['email']?>

代替 :

<?php echo $_SESSION['email'];?>

您可以尝试http://www.w3schools.com/php/php_sessions.asp进行会话。我认为这对您有帮助。

以及如何启用 PHP 短标签?用于启用 php 短标签。

于 2014-11-20T21:44:36.263 回答
0
<?php
 // I suppose (and I can tell by the code you wrote that it is so) that you already have some values 
 // in the $_SESSION array

 session_start();

 echo "<input type=\"hidden\" name=\"login_email\" id=\"login_email\" value=\"" . $_SESSION['email'] . "\"";

?>

也许“”和反斜杠有问题,但想法是你必须把价值 $_SESSION['mail'] (或登录)

于 2014-11-20T20:37:28.877 回答