亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 2235 | 回復: 9
打印 上一主題 下一主題

百思不得其解,一個用戶驗證的問題. [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2012-04-12 16:27 |只看該作者 |倒序瀏覽
本帖最后由 frank533 于 2012-04-12 16:31 編輯

一段驗證用戶登錄的代碼如下:

  1. <?php
  2. if (empty($_POST["username"]) && empty($_POST["password"])) {
  3.   echo '<script>alert(" ' . $username_pass_empty_error . ' "); history.go(-1); ' . '</script>';
  4.          } else {
  5.          $username = $_POST["username"];
  6.          $password = $_POST["password"];
  7.          $sqltest = "select count(*) from sc_admin where username = ' ".$username." ' ";
  8.          $testrst = $conn->query($sqltest);
  9.          if ($testrst > 0) {
  10.                  $sqlstr = "select * from sc_admin where username = ' ".$username." ' and password = ' ".$password." ' ";
  11.                  $rst = $conn->query($sqlstr);
  12.                  if (!$rst -> EOF) {
  13.                          if ($rst -> fields[5] == 0) {
  14.                          $_SESSION["id"] = $rst -> fields[0];
  15.                          $_SESSION["name"] = $rst -> fields[1];
  16.                          $_SESSION["roles"] = $rst -> fields[5];
  17.                          $_SESSION["lasttime"] = $rst -> fields[3];
  18.                          $logindate = date("Y-m-d") . date("G:i");
  19.                          $logincount = $rst -> fields[4];
  20.                          $logincount++;
  21.                          $sqlstrud = "update sc_admin set logincount=' ".$logincount." ' , lastlogindate=' ".$logindate." ' where id=' ".$_SESSION['id']." ' ";
  22.                          $conn->query($sqlstrud);
  23.                          echo "<meta http-equiv=\"refresh\" content=\"2; url=index.php \" />";
  24.                 } else if ($rst -> fields[5] == 1) {
  25.                          echo '<script>alert("用戶被凍結"); history.go(-1); ' . '</script>';       
  26.                  } else {
  27.                          echo '<script>alert("密碼錯誤"); history.go(-1); ' . '</script>';
  28.                          }
  29.                 }
  30.         } echo '<script>alert("用戶不存在"); history.go(-1); ' . '</script>';
  31. }
  32. ?>
復制代碼
mysql數(shù)據(jù)庫中是有數(shù)據(jù)的,在mysql里面都能執(zhí)行上面代碼中的sql語句,返回數(shù)據(jù)也正常,可是現(xiàn)在的問題是這段php始終無法從mysql數(shù)據(jù)庫中取出數(shù)據(jù),點擊提交后總是返回用戶不存在的錯誤。
登陸表單提交的內容已經(jīng)驗證過,沒有問題。
請各位指點一下問題在哪里?php與mysql的連接也是對的。連接代碼如下:
  1. <?php
  2. $host = "localhost";
  3. $database = "test";
  4. $dbname = "test";
  5. $dbpass = "12345678";
  6. $conn = @mysqli_connect($host, $dbname, $dbpass);
  7. if (!$conn)         {
  8.         echo "$connectdb_error";
  9.         exit;
  10.         }
  11. $selectdb = mysqli_select_db($conn, $database);
  12. if (!$selectdb) {
  13.         echo "$selectdb_error" ;
  14.         exit;
  15.         }
  16. ?>
復制代碼

論壇徽章:
0
2 [報告]
發(fā)表于 2012-04-12 16:35 |只看該作者
感覺是在執(zhí)行
  1. $sqltest = "select count(*) from sc_admin where username = ' ".$username." ' ";
復制代碼
時,返回的值是0,而實際上應該返回1。
不知是什么原因導致這個結果的

論壇徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:55:28
3 [報告]
發(fā)表于 2012-04-12 19:22 |只看該作者
回復 2# frank533


    ' ".$username." '   這個,單引號和雙引號之間有空格,等于查的是兩邊各有一個空格的用戶名。

論壇徽章:
0
4 [報告]
發(fā)表于 2012-04-12 20:13 |只看該作者
不是這個原因,去掉空格問題依舊。而且即使直接指定用戶名取代變量,還是一樣的結果。

論壇徽章:
0
5 [報告]
發(fā)表于 2012-04-12 20:41 |只看該作者
google無果,baidu無果,翻書無果。
繼續(xù)等高手出現(xiàn)。
難道就我一個人遇見這個問題嗎?換了幾個數(shù)據(jù)庫服務器,問題依舊。看來原因還是在php代碼上,繼續(xù)研究……

論壇徽章:
0
6 [報告]
發(fā)表于 2012-04-13 11:11 |只看該作者
求高手出現(xiàn)啊.
重寫了幾次都是這樣,都快瘋掉了

論壇徽章:
0
7 [報告]
發(fā)表于 2012-04-13 16:13 |只看該作者
$sqltest = "select count(*) from sc_admin where username = ' ".$username." ' ";
echo $sqltest;
看看打印出的sql語句是啥? $username是不是正確傳入進來~
這么貼代碼 誰能看出來~

論壇徽章:
0
8 [報告]
發(fā)表于 2012-04-15 12:25 |只看該作者
代碼邏輯的問題,當然,也可能是筆誤

$sqltest = "select count(*) from sc_admin where username = ' ".$username." ' ";
$testrst = $conn->query($sqltest);
if ($testrst > 0)
{
}
echo '<script>alert("用戶不存在"); history.go(-1); ' . '</script>';

看到了嗎?無論if里面怎么執(zhí)行,最后都要執(zhí)行echo "用戶不存在"。

要么加個else,要么在if里面跳出來

論壇徽章:
1
榮譽版主
日期:2011-11-23 16:44:17
9 [報告]
發(fā)表于 2012-04-16 08:59 |只看該作者
同意

論壇徽章:
0
10 [報告]
發(fā)表于 2012-04-26 11:30 |只看該作者
syfool 發(fā)表于 2012-04-15 12:25
代碼邏輯的問題,當然,也可能是筆誤

$sqltest = "select count(*) from sc_admin where username = ' " ...


就是這個問題,唉,看了那么多次,愣沒看出來。不專心的后果啊
謝謝了
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP