代码之家  ›  专栏  ›  技术社区  ›  Bashir Abdelwahed

将php中的ID和用户名返回到网站[关闭]

  •  -1
  • Bashir Abdelwahed  · 技术社区  · 8 年前

    (稍后我将添加加密)

    以下是表格:

    <div class="sign-in-up">
    
            <div id="sign-in-modal" class="modal">
    
              <form method="post" class="modal-content animate" action="php/validation-sign-in.php">
                <div class="imgcontainer">
                  <span onclick="document.getElementById('sign-in-modal').style.display='none'" class="close" title="Close Modal">&times;</span>
                  <img src="images/avatar.png" alt="Avatar" class="avatar" style="width:100px;height:100px">
                </div>
    
                <div class="container-sign-in-up">
                  <label><b>Username</b></label>
                  <input type="text" placeholder="Enter Username" name="UserName" required>
    
                  <label><b>Password</b></label>
                  <input type="password" placeholder="Enter Password" name="Password" required>
    
                  <button type="submit">Sign In</button>
                  <input
                  type="button"
                  id="sign-up-btn"
                  onclick="document.getElementById('sign-up-modal').style.display='block';
                  document.getElementById('sign-in-modal').style.display='none'"
                  value="Sign Up">
                  <input type="checkbox" checked="checked"> Remember me
                </div>
    
                <div class="container-sign-in-up" style="background-color:#f1f1f1">
                  <button type="button" onclick="document.getElementById('sign-in-modal').style.display='none'" class="cancelbtn">Cancel</button>
                  <span class="psw">Forgot <a href="#">password?</a></span>
                </div>
              </form>
            </div>
        </div>
    

    <?php
    if(empty($_POST)){
        header('location:../index.php');
    }
    $con=mysqli_connect("localhost","root","","typing_club");
    $user = $_POST['UserName'];
    $pass = $_POST['Password'];
    
    
    
        $query = "SELECT * FROM Users WHERE " . "UserName = '".$user."' AND Password='". $pass."'" ;
        echo "$query";
        $result = mysqli_query($con,$query);
    
        if (mysqli_num_rows($result) == 1) {
          echo "query successfull wrote to DB";
          header('location:../index.php?validation=true');
        } else {
          echo"unscccessful login";
          header('location:../index.php?validation=false');
        }
    ?>
    

    一切都很顺利。

    3 回复  |  直到 8 年前
        1
  •  3
  •   Script47    8 年前

    停止

    here .

    下一个

    你错误地认为如果 $_POST

    什么。。。?

    echo "$query";
    

    向数据库写入了什么?

    echo "query successfull wrote to DB";
    


    现在,回到你的问题。。。

    您正在查找全局变量 $_SESSION $_COOKIES

    包含可用于当前脚本的会话变量的关联数组。有关如何使用的更多信息,请参阅会话功能文档。

    <?php
    // page1.php
    
    session_start();
    
    echo 'Welcome to page #1';
    
    $_SESSION['favcolor'] = 'green';
    $_SESSION['animal']   = 'cat';
    $_SESSION['time']     = time();
    
    // Works if session cookie was accepted
    echo '<br /><a href="page2.php">page 2</a>';
    
    // Or maybe pass along the session id, if needed
    echo '<br /><a href="page2.php?' . SID . '">page 2</a>';
    ?>
    

    第2页

    <?php
    // page2.php
    
    session_start();
    
    echo 'Welcome to page #2<br />';
    
    echo $_SESSION['favcolor']; // green
    echo $_SESSION['animal'];   // cat
    echo date('Y m d H:i:s', $_SESSION['time']);
    
    // You may want to use SID here, like we did in page1.php
    echo '<br /><a href="page1.php">page 1</a>';
    ?>
    
        2
  •  0
  •   user2182102 user2182102    8 年前

    验证用户凭据后,您可以在会话中存储他的详细信息“usetname”、“id”。

        3
  •  0
  •   S4NDM4N    8 年前

    要跟踪您的用户,您可以使用 $_SESSIONS . 但请记住,当用户关闭浏览器会话时,会话将保留在浏览器内存中,并且他或她已再次登录。

    要将代码转换为set session,请执行以下操作。

    <?php
    if(empty($_POST)){
        header('location:../index.php');
    }
    $con=mysqli_connect("localhost","root","","typing_club");
    $user = $_POST['UserName'];
    $pass = $_POST['Password'];
    
    
    
        $query = "SELECT * FROM Users WHERE " . "UserName = '".$user."' AND Password='". $pass."'" ;
        echo "$query";
        $result = mysqli_query($con,$query);
    
        if ($row = $result->fetch_assoc()) {
          $_SESSION["id"] = $row["id"];
          $_SESSION["UserName"] = $row["UserName"];
          echo "query successfull wrote to DB";
          header('location:../index.php?validation=true');
        } else {
          echo"unscccessful login";
          header('location:../index.php?validation=false');
        }
    ?>