【问题标题】:PHP link to page.php from another filePHP 从另一个文件链接到 page.php
【发布时间】:2020-11-10 01:21:58
【问题描述】:

我正在使用登录表单在 PHP 中创建我的第一个页面。 这是我的问题, 我有这种结构:

MAINFILE:
 -index.php
 -asstes(file)
 -config(file)
 -includes(file) (with header.php)
 -user(file) with user.php

index.php 登录后,我想将用户引导至user.php,但在使用header("Location: user/user.php"); 后,我得到ERROR 404

有人知道如何重定向到另一个文件中的页面吗?

谢谢!

<?php

$error = "Email or password was incorrect<br>";

if(isset($_POST['login_button'])) {

    $login = $_POST['log_login']; //sanitize email

    $_SESSION['username'] = $login; //Store email into session variable 
    $password = md5($_POST['log_password']); //Get password

    $check_database_query = mysqli_query($con, "SELECT * FROM users WHERE login='$login' AND password='$password'");
    $check_login_query = mysqli_num_rows($check_database_query);

    if($check_login_query == 1) {
        $row = mysqli_fetch_array($check_database_query);
        $username = $row['login'];
        $role =$row['role'];
        $_SESSION['username'] = $username;


        
        if(role == "admin"){
            header("Location: admin.php");
          $_SESSION['role'] = true;
        }
        else {
            header("Location: /user/user.php");
            $_SESSION['role'] = false;
         
        }
           exit(0);
    }
    else {
        echo $error;
    }

    $_SESSION['log_login'] = "";
    $_SESSION['log_password'] = "";


}

【问题讨论】:

  • 你的代码在哪里?

标签: php file hyperlink


【解决方案1】:

实际上,如果在您的 index.php 中有一个发送 POST 请求的登录表单,那么在成功登录后,您可以使用以下命令重定向用户:

header('Location: /user.php');
exit(0);

location 中传递的路径是相对于用户当前位置的,因此如果您的文件 user.php 在根文件夹中,则使用 /user.php;如果在user 中文件名为user/user.php,则使用:

header('Location: /user/user.php'); 
exit(0);

然而,其中很多可能是由您实际登录用户的方式以及管理会话创建的方式造成的,因此如果您共享了代码,将会非常有用。

【讨论】:

  • 你有一个错字if(role == "admin"){ 缺少$ 但这实际上不应该影响用户被重定向的位置。假设您拥有所有字段 login_button log_login log_password 用户实际上应该被重定向。但是您确定它发生在上述行之后吗?尝试将die("test"); 放在header("Location: /user/user.php"); 之后(如果不使用xdebug)并检查它是否会被命中;如果是这样,那么它实际上一定是丢失的文件(可能是权限?)或 .htaccess 配置。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多