我喜欢所谓的会话ID的想法,它被发送到浏览器并返回以进行身份验证.但是我可以在服务器端会话变量中存储更多数据,以便后续会话访问吗?我正在使用PHP.
关于使用会话变量的最佳做法是什么?
最好只将它们称为会话变量,还是在脚本开头将它们转移到同名的局部变量时更好?
我对我的应用程序的最佳文件夹/文件结构有点困惑,如果有人有一个有用的链接,那将是非常有用的..谢谢.
在以下错误报告的最后一行
https://github.com/grails/grails-core/issues/5296
据说;
In an ideal world, it would be possible to turn off HttpSession creation for a whole Controller (all actions) and also turn them off for a particular set of actions.
然而,这是一个非常古老的bug报告,所以我的问题是:
这可能是即将发布的或今天的版本(1.3.7)的grails吗?如果不是,不应该吗?
我寻求这种行为的原因是由于在Grails中开发RESTful API,其中REST的本质是无状态的.
我正在尝试创建一个菜单,根据数据库中的用户访问级别,用户将显示两个不同菜单之一.
现在我的代码如下:
if($_SESSION['acl'] == "Administrator"){
echo $_SESSION['acl'];
echo "You are an administrator";
}
{
echo $_SESSION['acl'];
echo "You are a basic user";
}
Run Code Online (Sandbox Code Playgroud)
我的问题是if语句的测试总是失败并直接进入else部分.任何帮助,将不胜感激.
我有一个名为`index.php'的登陆页面,其格式如下:
<form action="auto_mail.php" method="post">
<input id="signup" class="span8" type="text" placeholder="Your email" name="signup">
<input type="submit">
<?php
if (isset($_SESSION['got_it']))
{echo "<b>You're all signed up!</b>}
?></form>
Run Code Online (Sandbox Code Playgroud)
在auto_mail.php我有的文件中:
// code scrubbing user input...
$user_email = $_POST['signup'];
session_start();
$_SESSION['got_it'] = '1';
// code sending me an email when someone signs up.
echo <<<EOD
</b>
<meta http-equiv="refresh" content="0, url=index.php">
</div>
</body>
</html>
EOD;
?>
Run Code Online (Sandbox Code Playgroud)
我已经查看了其他一些SO问题(使用$ _SESSION来传输数据),但这不是我想要的.
我想要的只是让用户在输入有效的电子邮件时看到"你们都已注册"; 电子邮件确认电子邮件在后台发送.这段代码感觉笨拙和尴尬.它还会auto_mail.php短暂闪烁页面.
我试图设置<form action="index.php"...,但它不起作用,因为我设置了auto_mail.php你不能直接访问它.
如何使用代码auto_mail.php,这将检查一个有效的电子邮件地址,并发送电子邮件确认,没有既处理$_POST和$_SESSION,或至少使用它们更好?
我正在创建一个购物车应用程序.我有将每个项添加到会话数组中的逻辑,但我不知道如何将值添加到会话数组中.有人能帮助我吗?
In the below code I have Session variable in which I want to check whether it is null or not. Please help me to do this.
(SearchDoc) is class.
var SearchDoc = (SearchDoc)Session["Documentname"];
var oDocumentID = SearchDoc.ClientID;
var Documentid = SearchDoc.DocumentID;
if (SearchDoc == null)
{
}
Run Code Online (Sandbox Code Playgroud)
我有一个字段太多的表单.其中一个领域如下:
<form action="go_to_preview.php" role="form" method="post" enctype="multipart/form-data">
<input type="file" name="equip_image" id="equip_image">
</form>
Run Code Online (Sandbox Code Playgroud)
现在文件的目的go_to_preview.php是以标签的形式显示用户填写的数据.所有填写的数据也包含在隐藏字段中.此表单上还有一个"提交"按钮.如果用户发现他/她填写的内容是完美的,则用户单击文件中的提交按钮go_to_preview.php.一旦用户点击提交按钮,我就会将收到的数据添加$_POST到数据库中.现在我的问题是我无法从包含文件控件的页面上传用户选择的文件.与$_POST(隐藏字段中存在的数据数组)一起,我将$_FILES在Session中发送数组,如下所示:
//go_to_preview.php
session_start();
$_SESSION['FILES'] = $_FILES;
//final.php
session_start();
$files_var = $_SESSION['FILES'];
//use $files_var
unset($_SESSION['FILES']);
Run Code Online (Sandbox Code Playgroud)
直到现在一切都很顺利.现在,当我提交表单时,我将所选文件上传到服务器.为此我在final.php文件中写了以下逻辑:
move_uploaded_file( $_SESSION['FILES']['equip_image'], $target);
unset($_SESSION['FILES']);
Run Code Online (Sandbox Code Playgroud)
该函数正确执行但文件未上传到服务器.有人可以帮我这方面吗?提前致谢.如果您不明白我的疑问,您也可以参考我的以下问题来清楚地了解我的问题: 如何在以下场景中提交表单后获取$ _FILES数组数据?
我听说我的朋友说我不必在PHP中session_start()使用$_SESSION?真的吗?如果是,我该如何使它工作?如果我session_start()从我的代码中删除,我将无法$_SESSION继续工作.
我已经定义了一个静态类.在那个静态类中,我有以下方法.
public static int GetUserId()
{
if(IsUserLoggedIn())
{
return Convert.ToInt16(HttpContext.Current.Session["user"]);
}
return 0;
}
Run Code Online (Sandbox Code Playgroud)
我的问题是:当每个用户运行该功能时,每个用户是否会获得不同的值?(考虑到每个用户会话为Session ["user"]获得不同的userId.
我不知道静态类是否对此有用或可能导致冲突问题.我在C#/ ASP.NET中开发.