- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
所以,我有一个简单的脚本,允许您在任何“团队名称”之间进行选择。当您选择并提交时,它应该使用选择的值(团队名称的哈希版本)执行 php setcookie。
相关代码如下:
<?php
include 'include/db.php';
if(isset($_POST['submitteam'])) {
$team_hash = $_POST['teams'];
setcookie('ver_aet', $team_hash, time()+2592000);
header('Location: index.php');
}
$email = $_COOKIE['ver_ame'];
//Find the User Id from the Email Hash
$sql_finduid = "SELECT * FROM users_sensitive WHERE email_hash = '$email'";
$sql_finduid_result = mysql_query($sql_finduid);
while ($row = mysql_fetch_array($sql_finduid_result)) {
$user_id = $row['user_id'];
} //End Find User Id
/*
$sql_finduid = mysql_query("SELECT user_id FROM users WHERE email = '$email'");
$user_id = mysql_result($sql_finduid) or die(mysql_error());
*/
//Find the Team Id from the User Id above
$sql_findteams = "SELECT * FROM team_members WHERE user_id = '$user_id'";
$sql_findteams_result = mysql_query($sql_findteams);
if(mysql_num_rows($sql_findteams_result) < 1){
header('Location: registerteam.php?ver_ame=' . $email);
} else {
while ($row = mysql_fetch_array($sql_findteams_result)) {
$team_id = $row['team_id'];
/*
$sql_finduid = mysql_query("SELECT user_id FROM users WHERE email = '$email'");
$user_id = mysql_result($sql_finduid) or die(mysql_error());
*/
if((mysql_num_rows($sql_findteams_result)) <= 1) {
$sql_findteamname = "SELECT * FROM teams WHERE team_id = '$team_id'";
$sql_findteamname_result = mysql_query($sql_findteamname);
while ($row = mysql_fetch_array($sql_findteamname_result)) {
$team_name = $row['team_name'];
$team_hash = $row['team_name_hash'];
}
setcookie('ver_aet', $team_hash, time()+2592000);
header('Location: index.php');
} else {
//setcookie('ver_ame', $teamname_hash, time()+2592000);
//setcookie('ver_aet', $email, time()+2592000);
//header('Location: index.php'); ?>
和 HTML
Select the team you would like to view: <br />
<form method="post" action="<?PHP echo $_SERVER['PHP_SELF']; ?>">
<select name="teams">
<?PHP
$sql_findteams = "SELECT * FROM team_members WHERE user_id = '$user_id'";
$sql_findteams_result = mysql_query($sql_findteams);
while ($row = mysql_fetch_array($sql_findteams_result)) {
$team_id = $row['team_id'];
/*
$sql_finduid = mysql_query("SELECT user_id FROM users WHERE email = '$email'");
$user_id = mysql_result($sql_finduid) or die(mysql_error());
*/
$sql_findteamname = "SELECT * FROM teams WHERE team_id = '$team_id'";
$sql_findteamname_result = mysql_query($sql_findteamname);
while ($row = mysql_fetch_array($sql_findteamname_result)) {
$team_name = $row['team_name'] . " ";
$team_hash = $row['team_name_hash'] . "<br />";
?>
<option value="<?= $team_hash; ?>"><?= $team_name . $team_hash; ?></option>
<?PHP
}
}
?>
</select>
<input type="submit" name="submitteam" value="Submit" />
</form>
</div>
</div>
</div>
基本上,“如果点击了提交按钮,则为团队名称设置cookie。如果没有点击,则继续。找到您的电子邮件的cookie,找出您属于多少个团队,如果有一个团队,将其设置为您的团队 cookie 并继续,如果没有,则显示所有可用团队并允许用户选择一个。循环”
我目前有 $team_hash 回显,只是为了表明它正在提取正确的哈希值(确实如此)。当我点击提交时,它循环到页面顶部并执行 setcookie 语句。它设置了一个 cookie,但设置后该 cookie 似乎最终会带有随机的百分号。
应该设置什么:d2fea5c982b6cb3f5bffc4998d96cbe5实际设置的是:d2fea5c982b6cb3f5bffc4998d96cbe5%3Cbr+%2F%3E
这些额外的东西从哪里来?
最佳答案
问题是您要添加 <br />
当你执行 $team_hash = $row['team_name_hash'] . "<br />";
时,在哈希的末尾当您设置选项的值时,您正在使用 $team_hash
其中包含 <br />
。当您执行 set cookie
时,<br />
获取 URL 编码,因此它位于 cookie 的末尾。
简单地将行更改为:
$team_hash = $row['team_name_hash'];
关于PHP setcookie 添加百分号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6530640/
我正在尝试如下设置 cookie。 CookieSyncManager.createInstance(context); CookieManager cookieManager = CookieMan
我看到很多人问过类似的问题,所以如果我重复了,但我在其他帖子中找不到答案,请见谅。 这只是一个测试页面,在本地主机上运行。我有一个 HTML 登录页面,将表单数据发送到 PHP 脚本,该脚本正在检查
我已经进行了登录,它设置了一个带有估算电子邮件地址值的 cookie,因此在 global.php 文件中,它使用以下方式存储用户数据的数组: $email = $_COOKIE["PeopleHub
您好,我正在尝试在我的网站上使用 cookie。在我的站点中实现它们之前,我创建了两个测试页面来试用它们,但它似乎效果不佳。 第一页有: 第二页有: 所以为了测试它,我先转到第一页,然后转到第二页
您好,我正在尝试在我的网站上使用 cookie。在我的站点中实现它们之前,我创建了两个测试页面来试用它们,但它似乎效果不佳。 第一页有: 第二页有: 所以为了测试它,我先转到第一页,然后转到第二页
我定期在 Twitter 应用程序的回调页面中设置 cookie。一切正常。 现在,我使用 jQuery 提交表单,回调函数激活 PHP 脚本。该脚本只需将一个 cookie 设置为 $_POST 的
所以,我有一个简单的脚本,允许您在任何“团队名称”之间进行选择。当您选择并提交时,它应该使用选择的值(团队名称的哈希版本)执行 php setcookie。 相关代码如下: 和 HTML Selec
quys,我的 PHP 应用程序有问题。 我有 2 个页面用于登录和注册。两个页面都使用通用的 cookies 类。一切正常,除了一件事:setcookie() 仅适用于 /signin 页面(coo
我想做的是设置 cookie至 Response经过一些Validation在后端。 这是我的代码: Controller public class MyController : Controller
我有一个 php 文件: 0){ $cookie_name = "auth"; $cookie_value = "ok"; $cookie_expire = "0";
我有一个设置 cookie 的页面,如果您选中一个复选框,它会回显一个字符串。字符串打印正确,但 cookie 从未设置,我不知道为什么。 " method="post"> Option 1:
在一页上我有这样的东西 setcookie('user', 'value' ,6000, '/', 'mydomain.co.uk'); 在我的后续页面上 var_dump($_COOKIE); 我可
有什么方法可以设置在子域上不可可读的 cookie?换句话说,让 cookie 在 domain.com 上可用,但不 www.domain.com 或 xyz.domain.com 。 //this
一些不是我编写的应用程序,也不是用 PHP 编写的,它为域 www.example.com 创建了一个 cookie。 我正在尝试替换该 cookie。所以在 PHP 中我做到了: setcookie
这个问题在这里已经有了答案: PHP - setcookie(); not working (6 个答案) 关闭 7 年前。 我正在使用这个代码 setcookie("we", 2, time()+
我的登录似乎没有创建 cookie。该表单一直到达脚本的 cookie 创建部分,甚至回显已创建 cookie,但实际上并未创建 cookie。 这是我的代码的 cookie 部分: if (!$er
在 example on php.net使用session_destroy(),它指定删除一个cookie: if (ini_get("session.use_cookies")) { $pa
我正在尝试将 PHP cookie 设置为自用户登录后 1 年后过期,我这样做是这样的: setcookie("myCookie",'exampleUserName',(365 * 24 * 60)
我希望有人可以帮助解决我在处理某些代码时遇到的这个小问题。请记住,这只是一个业余爱好网站,我知道存在安全漏洞。我编写了一个名为 set_remember_cookies 的函数,当用户选中“记住我”框
在 example on php.net使用session_destroy(),它指定删除一个cookie: if (ini_get("session.use_cookies")) { $pa
我是一名优秀的程序员,十分优秀!