2012-07-13 33 views
0

我有一个基于Web的门户,我们有两种类型的登录页面,具体取决于最终用户,管理员和员工。任何想要登录网络门户的人都必须先输入他的类型(即最终用户,管理员,助理),然后他必须在下一页提供他的ID和密码。使用PHP和JSP在另一个网页中获取cookie值

现在有几个用户和同事。我希望任何用户或员工都不应该能够更改其他用户或同事的数据库值。所以我尝试使用setcookie函数将用户标识存储在登录页面中。我想在其他页面访问该值,用户可以在其中查看分配给其名称的文件。

我想在另一个网页中使用MySQL查询从数据库中显示这些文件。

$result = mysql_query("select file_name from File where 
    user_name = '$user_name';"); 

但我没有得到在 '$ user_ID的'

Cookie值我用这个代码:

<?php 
//$mycookie = $_COOKIE["cookie_user_name"]; 
if (isset($mycookie)) 
    print "<p>The value in cookie - $mycookie</p>"; 
else 
    print "<p>There is no value in cookie.</p>"; 
?> 

请帮助我。谢谢。

+0

你能告诉我们你如何使用'setcookie'吗? – Leri 2012-07-13 08:57:40

+0

将登录信息存储在cookie中不是一个好主意。用户将能够将其改变为任何他想要的东西。你可以(应该)使用会话。 – germi 2012-07-13 09:04:20

+0

也许你正在不同的域名上提供页面?这种方式cookies不起作用。 – 2012-07-13 09:05:29

回答

0

您正在做isset($mycookie) - 但$mycookie将始终设置,因为您先前只设置了一行。

您需要检查是否设置了$_COOKIE["cookie_user_name"]。 (我建议使用empty()函数代替isset()。)

有关更完整的答案,请附上代码setcookie

只是一个温柔的建议:你没有资格编写安全代码,你仍然是一个新手。等到你有更多的经验,然后再尝试编写安全代码。

+0

谢谢@ariel现在我已经纠正它。我已删除该行...现在它只在这里登录页面$ result2 = mysql_query(“select user_name from associate where user_id ='$ user_id';”); setcookie(“cookie_user_name”,$ result2); – 2012-07-13 12:10:48

+0

它仍然显示cookie中没有值 – 2012-07-13 12:11:56

+0

感谢您的建议......但是如果我不尝试写这个安全代码,我将如何获得经验...... – 2012-07-13 12:13:20

相关问题