我的目標(biāo)是檢查 cookie 中存儲的“令牌”的值是否與數(shù)據(jù)庫中的 loginTable 表中的值相同。我可以將 cookie 的值保存在變量 $token 中。我遇到的問題在這里 --> if ($row["token"] == $token)。例如$token的值為bm0h8sdigs,行中的值為bm0h8sdigs,但不進(jìn)入if。我也嘗試了 strcmp 函數(shù),但它不起作用。if(strcmp($row["token"], $token) == 0) 我還嘗試了 $sqlToken = "select * from loginTable where token='" 。$令牌?!?#39;”;但它不起作用?;仫@$令牌;打印我的 cookie 中的內(nèi)容 - 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 }?>連接數(shù)據(jù)庫.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貢獻(xiàn)1893條經(jīng)驗 獲得超10個贊
您提供的示例顯示$token
保留該值<script>document.write(token)</script>;
當(dāng)然比較將失敗。
您將 javascript 變量傳遞給 php 的方法將不起作用。php 無法訪問 javascript 范圍。嘗試通過提交傳遞變量form
或嘗試直接在 php 中訪問 cookie 值,通過$_COOKIE
- 1 回答
- 0 關(guān)注
- 153 瀏覽
添加回答
舉報
0/150
提交
取消