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

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

隱藏用戶名 html + php

隱藏用戶名 html + php

PHP
寶慕林4294392 2023-04-23 17:42:47
我有 html 和 php 的問題,所以我創建了登錄頁面和所有登錄功能,但我想將用戶名放在標題中(像 facebook)并且有問題。添加 php 代碼時用戶名被隱藏。一切都很完美,這是我的 HTML 代碼。pocetna.html<?phpsession_start();?><html><head>    <title>        weekta RolePlay | Pocetna    </title>    <link rel="stylesheet" href="style/styless.css">    <link href="https://fonts.googleapis.com/css2?family=Jost&display=swap" rel="stylesheet"></head><body><header>            <a class="logo" href="/" style="text-decoration: none;color: #1260a8;font-size: 30px;font-family: 'Jost', sans-serif;"><p>weekta</p></a>            <nav>                <ul class="nav__links">                    <li><a href="#">Services</a></li>                    <li><a href="#">Projects</a></li>                    <li><a href="#">About</a></li>                    <li><a href="#"><span><?php echo( $_SESSION['korisnickoime'] );?></span></a></li>                </ul>            </nav>            <a class="cta" href="index.html">Login</a>            <p class="menu cta">Menu</p>        </header>        <div id="mobile__menu" class="overlay">            <a class="close">&times;</a>            <div class="overlay__content">                <a href="#">Services</a>                <a href="#">Projects</a>                <a href="#">About</a>            </div>        </div>        <script type="text/javascript" src="mobile.js"></script></body></html>這是 login_process.php<?php$mysql_host="localhost";$mysql_user="root";$mysql_password="";$mysql_db="weekta";$conn = mysqli_connect($mysql_host,$mysql_user,$mysql_password);mysqli_select_db($conn, 'weekta');session_start();if(isset($_POST['korisnickoime'])){    $username=$_POST['korisnickoime'];    $password=$_POST['sifrajedan'];    $sql="SELECT * FROM loginform where korisnickoime='".$username."'AND sifrajedan='".$password."' limit 1";    $result = mysqli_query($conn,$sql);有人可以幫我嗎?謝謝。
查看完整描述

2 回答

?
翻過高山走不出你

TA貢獻1875條經驗 獲得超3個贊

在數據庫中找到您的用戶后,您沒有設置 $_SESSION['username'] 。

我不是 PHP 專家,但我認為您需要執行類似 $_SESSION['username'] = 'xyz' 的操作。除此之外,您的選擇查詢很容易受到 sql 注入的影響。


查看完整回答
反對 回復 2023-04-23
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

在你的腳本中有一個錯誤

$sql="SELECT * FROM loginform where korisnickoime='".$username."'AND sifrajedan='".$password."' limit 1";

在用戶名附近的查詢中,和where korisnickoime='".$username."'AND sifrajedan='".$password."'之間沒有空格 。$usernameAND

附加用戶名和密碼后此查詢的最終結果將類似于

SELECT * FROM loginform where korisnickoime='user1'AND sifrajedan='xyz' limit 1";

此查詢將中斷,因此請在兩者之間添加一點空格,用此替換您的查詢字符串。

 $sql="SELECT * FROM loginform where korisnickoime='".$username."' AND sifrajedan='".$password."' limit 1";

你的 PHP 腳本可能是這樣的


索引.php

<form method="post" name="login">

        <label for="username">Username:</label><br>

        <input type="text" name="username"><br>

        <label for="password">Password:</label><br>

        <input type="password" name="password"><br>

        <button type="submit" name="login">Log in</button>

</form>

<?php

    session_start();

    if(isset($_POST['username']) and isset($_POST['password']))

    {

        $username = $_POST['username'];

        $pass = $_POST['password'];

        $query = "SELECT * FROM `person` WHERE name='$username' and pass='$pass'";

        $result = mysql_query($query) or die(mysql_error());

        $count = mysql_num_rows($result);

        if ($count == 1){

            $_SESSION['username'] = $username;

            header('Location: homepage.php');

        }

        else

        {

            $msg = "Wrong credentials";

        }

    }


    if(isset($msg) & !empty($msg)){

        echo $msg;

    }

 ?>

然后在 homepage.php


<nav>

<ul class="nav__links">

    <li><a href="#">Services</a></li>

    <li><a href="#">Projects</a></li>

    <li><a href="#">About</a></li>

    <li><a href="#">

    <span>

    <?php

            session_start();

            if(!isset($_SESSION['username']))

            {

                die("You are not logged in!");

            }

            $username = $_SESSION['username'];

            echo "Hai " . $username;

        ?>

    </span></a></li>

</ul>

</nav>

PS:為了使您的查詢安全使用這樣的參數化查詢


<?php

$servername = "localhost";

$username = "username";

$password = "password";

$dbname = "myDB";


// Create connection

$conn = new mysqli($servername, $username, $password, $dbname);


// Check connection

if ($conn->connect_error) {

  die("Connection failed: " . $conn->connect_error);

}


$stmt = $conn->prepare(SELECT * FROM loginform where korisnickoime='?' AND sifrajedan='?' limit 1");

$stmt->bind_param("ss", $username, $password);


// set parameters and execute

$username = "John";

$password = "Doe";

$result = $stmt->execute();


?>


查看完整回答
反對 回復 2023-04-23
  • 2 回答
  • 0 關注
  • 218 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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