Получение переменной с другой страницы в php - PullRequest
0 голосов
/ 17 мая 2018

Я хотел показать переменную username на другой странице. Это коды, которые я использовал. Это первая страница, где вводится имя пользователя.

<?php
    include('login.php'); // Includes Login Script
    if(isset($_SESSION['login_user'])){
    }
?> 

<html>
    <head>
        <title>Login</title>
    </head>
    <body>
        <div id="login" align="center">
            <h2>Welcome!</h2>
            <form action="" method="post">
                <label>Username :</label>
                <input id="name" name="username" placeholder="username" type="text"><br>
                <label>Password :</label>
                <input id="password" name="password" placeholder="**********" 
                type="password">                
                <br><br>
                <input name="submit" type="submit" value=" Login ">
                <span><?php echo $error; ?></span>
            </form>
        </div>
    </body>
</html>

Тогда на этой странице я хотел показать имя пользователя, которое было вставлено

<?php include 'database.php'; ?>
<?php session_start(); ?>
<?php
function visualizza($file) {
$f = fopen($file, "r"); // apro il file in lettura
return fread($f, filesize($file));
fclose($f);
}
?>
<html>
<main>
<div class="container">
<h2> Quiz Completato!</h2>
<p> Congratulations <?php 
$username = $_POST['username']; 
echo $username;
?>

! You completed the test</p>
<p>Final Score:<?php echo $_SESSION['score']; ?> </p>
</div>
</main>

Я не могу поместить форму action = "final.php", потому что это последняя страница теста, в то время как кнопка отправки должна отправить меня на другую страницу

Вы знаете, как это сделать, пожалуйста?

Здесь обрабатываются пользователь и пароль (login.php)

<?php


session_start(); // Starting Session
$error = ''; // Variable To Store Error Message

if (isset($_POST['submit'])) {
if (empty($_POST['username']) || empty($_POST['password'])) {
$error = "Username or Password is invalid";
}
else
{
// Define $username and $password
$username = $_POST['username'];
$password = $_POST['password'];

// mysqli_connect() function opens a new connection to the MySQL server.
$conn = mysqli_connect("localhost", "root", "", "quizzer");

// SQL query to fetch information of registerd users and finds user match.
$query = "SELECT username, password from login where username=? AND 
password=? LIMIT 1";

// To protect MySQL injection for Security purpose
$stmt = $conn->prepare($query);
$stmt->bind_param("ss", $username, $password);
$stmt->execute();
$stmt->bind_result($username, $password);
$stmt->store_result();

if($stmt->fetch()) //fetching the contents of the row
    {
      $_SESSION['login_user'] = $username; // Initializing Session
      header("location: quizzer.php"); // Redirecting To Profile Page
    }
else {
   $error = "Username o Password sbagliate";
 }
mysqli_close($conn); // Closing Connection
}
}
?>

Ответы [ 2 ]

0 голосов
/ 17 мая 2018

Как только вы войдете в систему, вы можете сохранить имя пользователя в сессии следующим образом

$_SESSION['username'] = $_POST['username'];

И отобразить его на любой странице, начав сеанс

echo $_SESSION['username'];
0 голосов
/ 17 мая 2018

В вашем элементе формы атрибут action должен перейти на другую страницу, отправив все запросы $ _POST [].

<form action="page2.php" method="post">

Теперь $ _POST ['username'] теперь можно увидеть ввторая страница.

...