将php与html分开?

时间:2018-04-14 09:24:25

标签: php html

我有PHP内联的PHP代码,但我需要它们在两个页面上分开。一个带有表单和PHP表单的HTML页面,上面有进程。

我在PHP页面上需要PHP表格验证的部分以及我需要在HTML表格上的表格,网站的其余部分将在

<!DOCTYPE HTML>
<html>
    <head>
        <style>
            .error {color: #FF0000;}
        </style>
    </head>
    <body>
        <?php // define variables and set to empty values
            $nameErr = $emailErr = "";
            $name = $email = "";
            if ($_SERVER["REQUEST_METHOD"] == "POST") {
                if(empty($_POST["name"])) {$nameErr = "Name is required";}
                else{$name = test_input($_POST["name"]);}
                if(empty($_POST["email"])) {$emailErr = "Email is required";}
                else{$email = test_input($_POST["email"]);}
            }
            function test_input($data) {
                $data = trim($data);
                $data = stripslashes($data);
                $data = htmlspecialchars($data);
                return $data;
            }
        ?>
        <h2>PHP Form Validation Example</h2>
        <p><span class="error">* required field</span></p>
        <form method="post" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
            Name: <input type="text" name="name" value="<?php echo $name;?>">
            <span class="error">* <?php echo $nameErr;?></span>
            <br><br>
            E-mail: <input type="text" name="email" value="<?php echo $email;?>">
            <span class="error">* <?php echo $emailErr;?></span>
            <br><br>
            <input type="submit" name="submit" value="Submit">  
        </form>
        <?php
            echo "<h2>Your Input:</h2>";
            echo $name;
            echo "<br>";
            echo $email;
        ?>
    </body>
</html>

更新了HTML代码:

<!DOCTYPE HTML>  
<html>
<head>
<style>
.error {color: #FF0000;}
</style>
</head>
<body>  

<h2>PHP Form Validation Example</h2>
<p><span class="error">* required field</span></p>
<form method="post" action="<?php require 'php.php'; echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">  
  Name: <input type="text" name="name" value="<?php require 'php.php'; echo $name;?>">
  <span class="error">* <?php echo $nameErr;?></span>
  <br><br>
  E-mail: <input type="text" name="email" value="<?php require 'php.php'; echo $email;?>">
  <span class="error">* <?php echo $emailErr;?></span>
  <br><br>
  <input type="submit" name="submit" value="Submit">  
</form>
</body>
</html>

3 个答案:

答案 0 :(得分:0)

您需要将您的php代码放在其他文件中(例如form.php)。在你的html文件中,你需要包含你的PHP脚本。如果您的php文件与html文件位于同一目录中,则include语句可能如下所示。

<?php include 'form.php';?>

我想转介您W3schools php include,他们详细解释了如何链接您的php文件。

答案 1 :(得分:0)

我只是给你一个基本的例子来分离表单文件和php文件。
创建一个index.php文件并在那里编写那些代码

    <form action="post.php" method="post">
       <input type="text" name="txtName"/>
       <input type="submit" name="btnSubmit"/>

    </form>

然后创建一个post.php文件并在其下面放置代码

      <?php

          if(isset($_POST['btnSubmit'])){
            $val = $_POST['txtName'];
            echo $val;
          }

       ?>

希望它会有所帮助。

答案 2 :(得分:0)

所以这里有你文件中html表单的所有代码。现在创建一个新文件来处理“ process.php ”等表单,并在该文件上发布表单。将此新文件放在放置HTML文件的同一目录中,并将此文件的路径提供给表单action =“”like

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

并且在process.php页面中,您可以按照自己的方式处理表单。

 if ($_SERVER["REQUEST_METHOD"] == "POST") {

            $name  = $_POST["name"];         
            $email = $_POST["email"];
        }