我的目标是检查 cookie 中存储的“令牌”的值是否与数据库中的 loginTable 表中的值相同。我可以将 cookie 的值保存在变量 $token 中。我遇到的问题在这里 --> if ($row["token"] == $token)。例如$token的值为bm0h8sdigs,行中的值为bm0h8sdigs,但不进入if。我也尝试了 strcmp 函数,但它不起作用。if(strcmp($row["token"], $token) == 0) 我还尝试了 $sqlToken = "select * from loginTable where token='" 。$令牌。“'”;但它不起作用。回显$令牌;打印我的 cookie 中的内容 - bm0h8sdigs<!-- https://github.com/js-cookie/js-cookie This is a library to make handling cookies easier --><script> var token = Cookies.get('token');</script><?php $token = "<script>document.write(token)</script>"; $var = 0; include "connectDB.php"; $sqlToken = "SELECT * FROM loginTable"; $resultToken = $mysqli->query($sqlToken); while($row = $resultToken->fetch_assoc()){ if ($row["token"] == $token){ $var = 1; } } $mysqli->close(); if ($var == 1){ //Token found in db } else{ //Token not found in db }?>连接数据库.php<?php $host = "localhost"; $username = "root"; $password = "usbw"; $database = "test"; $mysqli = new mysqli($host, $username, $password, $database); $mysqli -> set_charset("utf8"); if ($mysqli->connect_errno) { echo "Failed to connect to MySQL: (" . $mysqli->connect_errno . ") " . $mysqli->connect_error; }?>登录表 - prnt.sc/u7nidnCreate table loginTable( loginID int AUTO_INCREMENT, userID int not null, token varchar(20) not null, Constraint PK_loginTable Primary Key(loginID), Constraint FK_loginTable_userID Foreign Key (userID) References usersTable (userID))
1 回答
白猪掌柜的
TA贡献1893条经验 获得超10个赞
您提供的示例显示$token
保留该值<script>document.write(token)</script>;
当然比较将失败。
您将 javascript 变量传递给 php 的方法将不起作用。php 无法访问 javascript 范围。尝试通过提交传递变量form
或尝试直接在 php 中访问 cookie 值,通过$_COOKIE
- 1 回答
- 0 关注
- 109 浏览
添加回答
举报
0/150
提交
取消