我怎样才能将 php 代码与 html 代码分开,使它们既干净又分开在不同的文件中?

How can i separate php code with html to have them both clean and separate in different files?

我想做的是这样的

<div id="login">
            <h6> Log in </h6>
            <form method="POST">
                <p> Usuario: <input type="text" name="user"/></p>
                <p> Password: <input type="text" name="pass"/></p>
                <input name="accion" value="login" type="hidden"/>
                <input type="submit" value="Send" />
            </form>
        </div>

我想用 php 代码分开,如果你有特定用户,我可以登录,我所做的是:

<?php
session_start();
if($_POST["accion"] == "login"){
    if($_POST["user"]=="root" && $_POST["pass"]=="123"){
        $_SESSION["usuario"]= $_POST["user"];
        $_SESSION["time"]=time() - $_SESSION;   
        echo $_SESSION["usuario"];
    }else{  
        $error= "Usuario y/o contraseña incorrecto";
        echo $error;
    }
}
$logeado = isset($_SESSION["usuario"]);
?>

那么,我如何 link 这个函数,以便在客户端点击提交时执行这个函数?之后,我想知道如果他成功使用他的用户名并告诉他他已像消息一样登录,我将如何更改我的视图,如果你能帮助我,我将不胜感激!谢谢

将表单操作添加到您的表单中。

    <div id="login">
        <h6> Log in </h6>
        <form method="POST" action="path-to-your-file.php">
            <p> Usuario: <input type="text" name="user"/></p>
            <p> Password: <input type="text" name="pass"/></p>
            <input name="accion" value="login" type="hidden"/>
            <input type="submit" value="Send" />
        </form>
    </div>

header('Location: redirect-location.php'); 添加到您的登录成功函数以重定向用户。

<?php
session_start();
if($_POST["accion"] == "login"){
    if($_POST["user"]=="root" && $_POST["pass"]=="123"){
        $_SESSION["usuario"]= $_POST["user"];
        $_SESSION["time"]=time() - $_SESSION;   
        echo $_SESSION["usuario"];
        header('Location: redirect-location.php');
    }else{  
        $error= "Usuario y/o contraseña incorrecto";
        echo $error;
    }
}
$logeado = isset($_SESSION["usuario"]);
?>

你想做的是所谓的 MVC 模式,或模型视图控制器模式。它将 Web 应用程序的不同组件的职责分开。

回答您的问题的唯一最佳做法是使用 PHP 框架。任何框架。我个人会推荐你使用 Laravel,但它们有很多:Zend、CakePHP、Symfony、Yii。