亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

無法訪問或分配登錄用戶名變量 - mysql - php

無法訪問或分配登錄用戶名變量 - mysql - php

PHP
收到一只叮咚 2021-07-03 05:49:02
我找不到一種方法來訪問我用來在我的 php 網絡表單上登錄的用戶名。我看過這些帖子,但我認為我的情況略有不同,因為它們都在頂部聲明了用戶名變量。我只是使用 sql 查詢登錄。這是登錄腳本<?php$uname=$_POST['uname'];$password=$_POST['password']; session_start();$con=mysqli_connect("localhost","root","g7trj98o6fyr5","login");//mysqli("localhost","username of database","password of database","database name")$result=mysqli_query($con,"SELECT * FROM `login_info` WHERE `uname`='$uname' && `password`='$password'");$count=mysqli_num_rows($result);if($count==1){    echo "Login success";    $_SESSION['log']=1;    header("refresh:2;url=welcome.php");}else{    echo "please fill proper details";    header("refresh:2;url=index.php");}?>我希望能夠使用當前登錄的用戶進行 if 檢查,以將他們與所有其他在線用戶區分開來。我有這個 if 檢查哪個應該只將編輯按鈕放在登錄的用戶旁邊。while($row = mysqli_fetch_array($result)){echo "<tr>";echo "<td>" . $row['uname'] . "</td>";echo "<td>" . $row['clickrate'] . "</td>";if($logedInUsername == $row['uname'])    echo "<td>" . $row['yourword'] . "<a href='edityourword.php?edit=$row[yourword]'> edit</a></td>";else    echo "<td>" . $row['yourword'] . "</td>";echo "</tr>";}echo "</table>";?>Welcome.php(if 語句所在的位置)<?phpfunction add_ant(&$connection){    mysqli_query($connection, "UPDATE `login_info` SET `clickrate`=`clickrate`+'1' WHERE `uname`='rvbvakama' && `password`='pass'");}session_start();if(isset($_SESSION['log'])){$_SESSION['uname'] = $_POST['uname'];echo "<script type='text/javascript'>alert('$logedInUsername');</script>";$con=mysqli_connect("localhost","root","pass","login"); //mysqli("localhost","username of database","password of database","database name")if(array_key_exists('add',$_POST)){   add_ant($con);}$result = mysqli_query($con,"SELECT * FROM login_info");if (!$result) {    printf("Error: %s\n", mysqli_error($con));    exit();}echo "<table border='1'><tr><th>username</th><th>clickrate</th><th>yourword</th></tr>";
查看完整描述

2 回答

?
ABOUTYOU

TA貢獻1812條經驗 獲得超5個贊

不安全,但把:


<?php

$uname=$_POST['uname'];

$password=$_POST['password']; 

session_start();


$con=mysqli_connect("localhost","root","g7trj98o6fyr5","login");//mysqli("localhost","username of database","password of database","database name")

$result=mysqli_query($con,"SELECT * FROM `login_info` WHERE `uname`='$uname' && `password`='$password'");

$count=mysqli_num_rows($result);

if($count==1)

{

    echo "Login success";

    $_SESSION['log']=1;

    $_SESSION['uname'] = $_POST['uname'];

    header("refresh:2;url=welcome.php");


}

else

{

    echo "please fill proper details";

    header("refresh:2;url=index.php");

}

?>

然后檢查:


if($logedInUsername == $_SESSION['uname'])

...

您還需要在welcome.php 中將$logedInUsername 設置為$row['uname'] 或檢查


if($row['uname'] == $_SESSION['uname'])


查看完整回答
反對 回復 2021-07-09
?
PIPIONE

TA貢獻1829條經驗 獲得超9個贊

登錄成功后在 login.php 中執行這個 $_SESSION['uname'] = $_POST['uname'];


在welcome.php 中執行這個 $logedInUsername = $_SESSION['uname'];


現在當前登錄的用戶名存儲在$logedInUsernamewelcome.php中以供使用,這是因為SESSION是php中的全局變量,可以從任何地方訪問。


while 循環和其中的 if 語句現在應如下所示:


while($row = mysqli_fetch_array($result))

{

echo "<tr>";

echo "<td>" . $row['uname'] . "</td>";

echo "<td>" . $row['clickrate'] . "</td>";

if($row['uname'] == $logedInUsername)

    echo "<td>" . $row['yourword'] . "<a href='edityourword.php?edit=$row[yourword]'> edit</a></td>";

else

    echo "<td>" . $row['yourword'] . "</td>";

echo "</tr>";

}

echo "</table>";

?>


查看完整回答
反對 回復 2021-07-09
  • 2 回答
  • 0 關注
  • 139 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號