如何在MySQL的两个不同表中存储不同信息?

时间:2019-07-19 00:09:49

标签: php session

我在MySQL中有两个不同的表,一个存储帐户信息(用户名,电子邮件,密码),另一个存储它们在字段框中键入的类的名称。因此,基本上,一旦用户单击“注册”,就会将他们带到页面“ class_creation.php”,在其中键入他们的类-用户单击“提交”后,该信息应该存储在MySQL的“类”表中按钮。然后,将用户定向到一个名为“ signup.php”的页面,在该页面中,他们输入其帐户信息(用户名,电子邮件,密码),并且来自signup.php的信息存储在MySQL表“ users”中。第二页,signup.php成功将其数据存储在“用户”表中-但是“ class_creation.php”未在其表中存储任何数据,并且所有内容均为空。我不确定是否与phpmyadmin建立连接问题?我尝试编辑连接文件,但似乎没有任何效果。

//这是连接文件-我正在使用它将signup.php页面和class_creation.php页面都连接到MySQL数据库。名为:“ dbh.inc.php”

<?php

    $servername = "localhost";
    $dBUsername = "root";
    $dBPassword = "";
    $dBName = "loginsystem";
    $class1 = $_POST['class1'];
    $sql = "INSERT INTO user_classes (class1) VALUES ('class1')";

    enter code here

    $conn = mysqli_connect($servername, $dBUsername, $dBPassword, $dBName);
    if (!$conn) {
    die("Connection failed: ".mysqli_connect_error());
    }
?>

///这是我用于类创建页面的后端文件,其名称为:“ class.inc.php”

<?php
      if (isset($_POST['submit'])) {
    require 'dbh.inc.php';
    require 'login.inc.php';


    $class1 = $_POST['class1'];


    $stmt = mysqli_stmt_init($conn);    

    mysqli_stmt_bind_param($stmt, "s", $class1);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_store_result($stmt);

    header("Location../signup.php");


    mysqli_stmt_close($stmt);
    mysqli_close($conn);
?>

//最后是“ class_creation.php”代码,用作文本字段的布局文件

<!DOCTYPE html>
<html>
    <head>
        <title/>
    </head>
    <body>
        <form action="signup.php" method="POST">

            <input type="text" name="class1" placeholder="" />
            <input type="text" name="class2" placeholder="" />
            <input type="text" name="class3" placeholder="" /> 
            <input type="text" name="class4" placeholder="" />

            <input type="text" name="class5" placeholder="" />
            <input type="text" name="class6" placeholder="" />
            <input type="text" name="class7" placeholder="" />
            <input type="text" name="class8" placeholder="" />

            <button type="submit" name="submit">Submit</button>
        </form> 
    </body>
</html>

用户在class_creation.php页面内输入的信息应显示在MySQL数据库中-但显然我一定做错了。有任何想法吗? signup.php文件似乎可以在“用户”表中很好地存储自己的数据-如果您也需要查看这些文件,请告诉我,但我认为这些文件中的某些错误。

1 个答案:

答案 0 :(得分:0)

在您的class.inc.php中,您可以执行以下操作:

<?php
  if (isset($_POST['submit'])) {
    require 'dbh.inc.php';
    require 'login.inc.php';

    $class1 = $_POST['class1'];

    $stmt = mysqli_stmt_init($conn);    

    mysqli_stmt_prepare($stmt, $sql);

    mysqli_stmt_bind_param($stmt, "s", $class1);
    mysqli_stmt_execute($stmt);
    mysqli_stmt_store_result($stmt);

    mysqli_stmt_close($stmt);
    mysqli_close($conn);

    header("Location../signup.php");

  }