PHP / HTML-需要form_1输入用户名,然后在提交用户名后转到form_2,它将记住该名称并向他打招呼

问题描述

现在我想这听起来很混乱,所以我会尽力解释一下。我正在寻找的是一种要求用户输入文本的表格。输入并提交文本后,页面将转到第二种形式(如果未输入任何内容站点将要求用户再次输入),它将向用户提供他使用的名称/文本,例如“ 问候,(名称)!”。第二种形式已经可以使用登录代码,但是我需要第一种形式而不会崩溃的第二种形式。

This is a very rough sketch of what I expect of form one, and this is a very rough sketch of what form 2 already does,except the name thing

我将在此处提供登录代码,因此它可以与第一种形式一起使用(如果这样还行。.

<?PHP
session_start();

$name = $_GET['name'] ?? "";
$username = $_POST['username'] ?? "";
$pass = $_POST['pass'] ?? "";

$isLogged = false;
if(!empty($username) && !empty($pass)) {
    if($username === 'x' && $pass === 'y') {
        $_SESSION['isLogged'] = true;
        $_SESSION['username'] = $username;
        $_SESSION['pass'] = $pass;
    }
    else {
        $errLog= true;
    }
}
?>

<!DOCTYPE html>
<html lang="en">
<head>
    <Meta charset="UTF-8">
    <Meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Forms</title>
</head>
<body>
    <h1>Greetings <?= $name ?></h1>

    <?PHP if(isSet($errLog) && $errLog=== true): ?>
        <h2>Wrong login!</h2>
    <?PHP endif; ?>

    <?PHP if(!isSet($_SESSION['isLogged']) || $_SESSION['isLogged'] === false): ?>
    <form method="post">
        <input type="text" name="username">
        <input type="password" name="pass">
        <button type="submit">Send</button>
    </form>

    <?PHP else: ?>
    <p>Given login:</p>
    <ul>
        <li>Login: <?= $_SESSION['username']  ?> </li>
        <li>Password: <?= $_SESSION['pass'] ?> </li>
        <li><a href="http://localhost/logout.PHP">logout</a></li>
    </ul>

    <?PHP endif; ?>
</body>
</html>

同样,这只是一个测试站点,不应被认为是安全的。我是一个初学者,这就是我们要做的项目。

现在,对于第一种形式,我已经尝试了!empty!isSet命令,但是根本不起作用。我无法提供任何代码,因为到目前为止我没有尝试过给出预期的结果。

还有一个logout.PHP文件,该文件是将您重定向登录站点(表2)的代码,因此并不那么重要。

总结一下,很抱歉,发表了这么长时间的文章,我只是被困住了,到目前为止我尝试过的所有方法都没有用。我也是这里的新手,所以希望我能有所了解。干杯。

解决方法

如果这是您想要的,那么据我的理解,请添加另一个页面,该页面会将名称发布到您的登录页面,如以下代码/页面:

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1.0">
    <title>Forms 1</title>
</head>
<body>
    <h1>What is your name </h1>

    <form method="post" action="test4.php">
        <input type="text" name="name" required="true">
        
        <button type="submit">Send</button>
    </form>

   
</body>
</html>

在这里,在由test4.php插入的表单动作中,添加form_2.php