如何使用函数

时间:2016-05-11 16:13:57

标签: php redirect

我尝试使用其他文件(redirect.php)中的函数访问包含主页的文件。 MyWebsite/main/main.html这是我要访问的文件的位置。我卡在这里redirect::toMain('main.html');不知道如何链接完整路径,所以我将指向主页。我试图将('main.html')值传递给函数toMain(),但它没有用。下面文件夹的位置。

Screenshot

所以MyWebsite是主文件夹,它包含下面列出的子文件夹。

  • function(文件夹)包含重定向功能
  • main(文件夹)包含一个html。 main.html设置为我的主页。这是用户重定向的地方。

类: redirect.php 位置:MyWebsite / function / redirect.php

<?php

class redirect
{
public static function toMain($location = null)
{
    if($location)
    {
        header('Location: ' . $location);
        exit();
    }
}
}
$a = new redirect();
?>

loginProcess.php

<?php

session_start();

require_once('../connection/connection.php');
require_once('../connection/loginCRUD.php');
require_once('../function/redirect.php');

if(isset($_POST['submit']))
{
$dbusername = $_POST['loginUsername']; //Store value of textfield in array
$dbpassword = $_POST['loginPassword'];

if(!empty($dbusername) && !empty($dbpassword))
{
    if((new loginCRUD)->readLogin($dbusername,$dbpassword)) //If true
    {
       // echo "You are logged in!";
        $_SESSION['loginUsername'] = $dbusername;//Session are stored in array.

        // redirect the user to the home page
        redirect::toMain('main.html');
    }
    else
    {
        echo "Incorrect username and/or password";
    }
}

}//end of isset
?>

1 个答案:

答案 0 :(得分:0)

这是我要这样做的一种方式:

class redirect
{
    private static $baseUrl = 'http://localhost/MyWebsite/main/';
    public static function toMain($location = null)
    {
        if($location)
        {
            header('Location: ' . self::$baseUrl . $location);
            exit();
        }
    }
}

$ baseUrl也可以是:

private static $baseUrl = '/MyWebsite/main/';

确保MyWebsite以http://开头,否则它将重定向到相对网址。由于您正在静态访问这些方法,因此您不需要$a = new redirect();

现在你可以这样做:

redirect::toMain('main.html');