Вопрос:

Есть ли способ включить определенные переменные из одного файла php и получить их в другом файле?

php variables

29 просмотра

2 ответа

54 Репутация автора

Есть ли способ включить определенные переменные из одного файла php и получить их в другом файле? Я знаю, что вы можете включить целый файл, но в моем случае программа не будет работать, потому что программа попытается перенаправить на user_details.php внутри этого файла. Вместо этого я попытался сделать это include 'process.php.$username';в файле user_details.php, но это не сработало.

Любая помощь будет оценена спасибо.

Вот мой код:

process.php

    $username = $_POST["user"];
    $password = $_POST["pass"];

    $username = stripcslashes($username);
    $password = stripcslashes($password);
    $username = mysql_real_escape_string($username);
    $password = mysql_real_escape_string($password);

    mysql_connect("localhost", "root", "");
    mysql_select_db("message_board");

    $result = mysql_query("select * from users where username = '$username' and password = '$password'") or die("Failed to query database ".mysql_error());

    $row = mysql_fetch_array($result);

    if ($row["username"] == $username and $row["password"] == $password) {
        echo "Login success! Welcome ".$row["username"], " and ".$row["user_permissions"];
        header('location: user_details.php');
    } else {
        echo "Failed to login! \n";
        echo '<a href="login.php">Back to Login</a>';
    }

user_details.php

<html>
<head>
    <title>user_details</title>
</head>
<body>
    <div id="main">
        <?php
            include 'process.php.$username';
            include 'process.php.$password';

            mysql_connect("localhost", "root", "");
            mysql_select_db("message_board");

            $result = mysql_query("select * from users where username = '$username' and password = '$password'") or die("Failed to query database ".mysql_error());

            $row = mysql_fetch_array($result);

            echo "user permissions: ".$row["username"].$row["user_permissions"];
        ?>
        </div>
</body>
</html>
Автор: daniel mcgregor Источник Размещён: 14.07.2017 08:59

Ответы (2)


1 плюс

328 Репутация автора

Взгляните на сессии, которые позволят вам передавать переменные между запросами (а это значит и между «файлами»).

Например:

process.php:

<?php
session_start(); // very important - you need to start session!

// do something on database

// assign something to session variable
$_SESSION['data'] = $something;

header('Location: user_details.php');
?>

user_details.php:

<?php
session_start(); // like before

// get variable from session
$data = $_SESSION['data'];

// do something with $data
?>

Здесь вы можете найти больше об этом.

Автор: Tajgeer Размещён: 14.07.2017 09:02

1 плюс

31 Репутация автора

Сохраните переменную в текущем сеансе с помощью, $_SESSTION['data'] = $variableа затем вызовите ее из требуемого файла. Убедитесь, что уверены, session_start()прежде чем создавать или вызывать его. Чтобы получить переменную, вы просто используете $variable = $_SESSTION['data']в другом файле.

Автор: F0rg3r Размещён: 11.08.2019 08:01
Вопросы из категории :
32x32