首页 > 解决方案 > 如何将 PHP 与 HTML 表单结合起来制作一个工作页面?

问题描述

我坚持创建一个可以工作的表单,即接受用户输入并插入数据库。我有一个代码,我知道它可以独立工作。PHP 代码在使用硬编码值运行时可以正常工作。没有 PHP 的 FORM 可以工作。

当我把它们放在一起时,不。我真的很感激任何意见!

PS我知道有些名字可能很奇怪,而且总体上很简单,但我不想花时间在一些甚至可能不起作用的东西上,我真的必须让它工作,最好是昨天。

HTML:

 <?php require 'insert.php';?>
<html>

   <head>
      <style>
         .error {color: #FF0000;}
      </style>
   </head>

   <body>


      <h2>Absolute classes registration</h2>

      <p><span class = "error">* required field.</span></p>

      <form method = "post" action = "<?php 
         echo htmlspecialchars($_SERVER["PHP_SELF"]);?>">
         <table>
            <tr>
               <td>Username:</td>
               <td><input type = "text" name = "username">
                  <span class = "error">* <?php echo $usernameErr;?></span>
               </td>
            </tr>

            <tr>
               <td>E-mail: </td>
               <td><input type = "text" name = "email">
                  <span class = "error">* <?php echo $emailErr;?></span>
               </td>
            </tr>

            <tr>
               <td>Password:</td>
               <td> <input type = "text" name = "password">
                  <span class = "error"><?php echo $passwordErr;?></span>
               </td>
            </tr>

            <td>
               <input type = "submit" name = "submit" value = "Submit"> 
            </td>

         </table>

      </form>


   </body>
</html>

PHP:

<?php
       require 'dbconn.php';
         // define variables and set to empty values
         $usernameErr = $emailErr = $passwordErr = "";
         $username = $email = $password = "";

         if ($_SERVER["REQUEST_METHOD"] == "POST") {
            if (empty($_POST["username"])) {
               $usernameErr = "Name is required";
            }else {
               $username = test_input($_POST["username"]);
            }

            if (empty($_POST["password"])) {
               $passwordErr = "Password required";
            }else {
               $password = test_input($_POST["password"]);
            }

            if (empty($_POST["email"])) {
               $emailErr = "Email is required";
            }else {
               $email = test_input($_POST["email"]);

               // check if e-mail address is well-formed
               if (!filter_var($email, FILTER_VALIDATE_EMAIL)) {
                  $emailErr = "Invalid email format"; 
               }
            }



         }

         function test_input($data) {
            $data = trim($data);
            $data = stripslashes($data);
            $data = htmlspecialchars($data);
            return $data;
         }  




            $sql = "INSERT INTO User_tbl (username, password, email) VALUES (:username, :password, :email)";
            $stmt = $pdo->prepare($sql);

            //$stmt->bindParam(':token',$token,PDO::PARAM_STR);
            $stmt->bindParam(':username',$username,PDO::PARAM_STR);
            $stmt->bindParam(':password',$password,PDO::PARAM_STR);
            //$stmt->bindParam(':fname',$user_fname,PDO::PARAM_STR);
            //$stmt->bindParam(':lname',$user_lname,PDO::PARAM_STR);
            //$stmt->bindParam(':telephone',$user_telephone,PDO::PARAM_STR);
            $stmt->bindParam(':email',$email,PDO::PARAM_STR);

            //$token = '436546brty546b45y'; // generate unique token
            $username = $_POST["username"];
            $password = $_POST["password"]; //encrypt password
            //$fname = $_POST['fname'];
            //$lname = $_POST['lname'];
            //$telephone = $_POST['telephone'];
            $email = $_POST["email"];

            $stmt->execute();
            $stmt->close();

            //header('location: welcome.php');



      ?>

康涅狄格:

<?php
$servername = 'redacted';
$login = 'redacted';
$password = 'redacted';
$DBname = 'redacted';

// Establish database connection.
$pdo = new PDO("mysql:host=$servername;dbname=$DBname", $login, $password);

//print error or success
if ($pdo->connect_error) {
        die("Connection failed."/* . $conn->connect_error*/);
    }

if ($pdo) {
        echo "Connected successfully";
    }
?>

标签: phphtmlsqldatabaseforms

解决方案


推荐阅读