Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/248.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用PHP表单将数据输入MySQL数据库_Php_Mysql_Pdo - Fatal编程技术网

使用PHP表单将数据输入MySQL数据库

使用PHP表单将数据输入MySQL数据库,php,mysql,pdo,Php,Mysql,Pdo,我有一个表单,当用户做出选择并输入一些个人详细信息时,比如姓名和电子邮件,这些数据就应该插入MySQL数据库表中。然后,通过显示最近输入的表格记录作为确认,将输入的数据显示回用户 我遇到的问题是,显示的数据库表是空的,当我检查数据库时,只输入了空条目 (表单位于两个单独的页面上,因此我可以在以后使下拉列表相互依赖,而无需JQuery等) form1.php <html> <head> <title>Library Sy

我有一个表单,当用户做出选择并输入一些个人详细信息时,比如姓名和电子邮件,这些数据就应该插入MySQL数据库表中。然后,通过显示最近输入的表格记录作为确认,将输入的数据显示回用户

我遇到的问题是,显示的数据库表是空的,当我检查数据库时,只输入了空条目

(表单位于两个单独的页面上,因此我可以在以后使下拉列表相互依赖,而无需JQuery等)

form1.php

    <html>
       <head>
          <title>Library System</title>
       </head>
    <body>
       <h1> <center> Library Book Reservation System </center></h1>
       <h2> <small><center>Use the form below to search for available books </center></small> </h2>
       <?php
       ?>
    <form class="submission-form"action="form2.php" method="post">
       <center>
          Select Book:
          <select name="books" id="books">
             <option value="catcher in the rye.">catcher in the rye.</option>
             <option value="to kill a mocking bird">to kill a mocking bird</option>
             <option value="1984">1984</option>
             <option value="Ulysses ">Ulysses</option>
             <option value="East of Eden">East of Eden</option>
             <option value="Animal Farm">Animal Farm </option>
             <option value="Of mice and men">Of mice and me.</option>
          </select>
          <p></p>
          <input type="submit" value="Next" id="sendBtn">
          <input type="reset" value="Reset" id="resetBtn">
          <input type="button" value="Help" id="helpBtn">
       </center>
    </form>
    </body>
    </html>
<?php session_start();?>
<?php if($_POST) {
   $_SESSION['books'] = $_POST['books'];
   echo 'the book selected is : '.$_SESSION['books'].'';
?>
<html>
   <head>
      <title>Library System</title>
   </head>
<body>
   <h1> <center> Library Book Reservation System </center></h1>
   <h2> <small><center>Use the form below to search for available books </center></small> </h2>
<form class="submission-form"action="booksphp.php" method="post">
   <center>
      Select Researcher:
      <select name="owner">
         <option value="Roger">Roger</option>
         <option value="Catherine">Catherine</option>
         <option value="Deborah">Deborah</option>
         <option value="Frank">Frank</option>
         <option value="Paul">Paul</option>
      </select>
      <p></p>
      Full name:<br>
      <input type="text" name="fullname" size="45"><br>
      Email:<br>
      <input type="email" name="email" size="45"><br><br>
      <input type="submit" value="Submit" id="sendBtn">
      <input type="reset" value="Reset" id="resetBtn">
      <input type="button" value="Help" id="helpBtn">
   </center>
</form>
<?php 
} 
?>
<?php session_start(); ?>

 <!DOCTYPE html>
  <html>
    <head>
    <title> PHP + MySQL</title>
  </head>
  <body>
  <h1> <center> Library Book Reservation System </center></h1>
   <?php

    $name =  $_POST['fullname'];
    $email =  $_POST['email'];
    $book =   $_POST['books'];
    $owner = $_POST['owner'];

    if (!empty($name)){
    if (!empty($email)){

    }
    else{
      echo "Email field cannot be left blank";
      die();
    }

    }
    else{
      echo "Name field cannot be left blank";
      die();
    }



  $db_hostname = "mysql";
    $db_database = "****";
    $db_username = "******";
    $db_password = "**********";
    $db_charset  = "utf8mb4";

    $dsn = "mysql:host=$db_hostname;dbname=$db_database;charset=$db_charset";
    $opt = array(
       PDO::ATTR_ERRMODE         =>PDO::ERRMODE_EXCEPTION,
       PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
       PDO::ATTR_EMULATE_PREPARES => false
    );

    try{
        $pdo = new PDO($dsn,$db_username,$db_password,$opt);

        $stmt = $pdo->prepare(
                      "INSERT INTO  Borrowtest 
 (Book_Description,Owner,Fullname,Email) VALUES(?,?,?,?)");
         $success = $stmt->execute(





  array($_REQUEST['Book_Description'],
   $_REQUEST['Owner'],$_REQUEST['Fullname'],$_REQUEST['Email']));



       echo '<table width="70%" border="1" cellpadding="5" 
        cellspacing="5">
             <tr>
                <th>ID</th>
                <th>Book Title</th>
                <th>Owner</th>
                <th>Fullname</th>
                <th>Email</th>
                </tr>';

        echo "<h2><center>Data in table</center></h2>\n";
        $stmt = $pdo->query("SELECT MAX(Id) FROM Borrowtest");
        echo "Rows retrieved: ".$stmt->rowcount()."<br><br>\n";
        while ($row = $stmt->fetch()) {
            echo '<tr>
                  <td>'.$row["Id"].'</td>
                  <td>'.$row["Book_Description"].'</td>
                  <td>'.$row["Owner"].'</td>
                  <td>'.$row["Fullname"].'</td>
                  <td>'.$row["Email"].'</td>
                  </tr>';
        }

     // Prints the users input
     //  must change to print most recent table entry
       echo "Name: $name <br /> Email: $email <br /> Book: $book <br /> 
    Owner: $owner <br />";

    $pdo = NULL;
    } catch (PDOException $e) {
        exit("PDO Error: ".$e->getMessage()."<br>");
    }
     ?>
    </body>
    </html>

图书馆系统
图书馆图书预订系统
使用下表搜索可用的书籍
选择书籍:
麦田里的守望者。
杀死一只知更鸟
1984
尤利西斯
伊甸园之东
畜牧场
老鼠和我。

form2.php

    <html>
       <head>
          <title>Library System</title>
       </head>
    <body>
       <h1> <center> Library Book Reservation System </center></h1>
       <h2> <small><center>Use the form below to search for available books </center></small> </h2>
       <?php
       ?>
    <form class="submission-form"action="form2.php" method="post">
       <center>
          Select Book:
          <select name="books" id="books">
             <option value="catcher in the rye.">catcher in the rye.</option>
             <option value="to kill a mocking bird">to kill a mocking bird</option>
             <option value="1984">1984</option>
             <option value="Ulysses ">Ulysses</option>
             <option value="East of Eden">East of Eden</option>
             <option value="Animal Farm">Animal Farm </option>
             <option value="Of mice and men">Of mice and me.</option>
          </select>
          <p></p>
          <input type="submit" value="Next" id="sendBtn">
          <input type="reset" value="Reset" id="resetBtn">
          <input type="button" value="Help" id="helpBtn">
       </center>
    </form>
    </body>
    </html>
<?php session_start();?>
<?php if($_POST) {
   $_SESSION['books'] = $_POST['books'];
   echo 'the book selected is : '.$_SESSION['books'].'';
?>
<html>
   <head>
      <title>Library System</title>
   </head>
<body>
   <h1> <center> Library Book Reservation System </center></h1>
   <h2> <small><center>Use the form below to search for available books </center></small> </h2>
<form class="submission-form"action="booksphp.php" method="post">
   <center>
      Select Researcher:
      <select name="owner">
         <option value="Roger">Roger</option>
         <option value="Catherine">Catherine</option>
         <option value="Deborah">Deborah</option>
         <option value="Frank">Frank</option>
         <option value="Paul">Paul</option>
      </select>
      <p></p>
      Full name:<br>
      <input type="text" name="fullname" size="45"><br>
      Email:<br>
      <input type="email" name="email" size="45"><br><br>
      <input type="submit" value="Submit" id="sendBtn">
      <input type="reset" value="Reset" id="resetBtn">
      <input type="button" value="Help" id="helpBtn">
   </center>
</form>
<?php 
} 
?>
<?php session_start(); ?>

 <!DOCTYPE html>
  <html>
    <head>
    <title> PHP + MySQL</title>
  </head>
  <body>
  <h1> <center> Library Book Reservation System </center></h1>
   <?php

    $name =  $_POST['fullname'];
    $email =  $_POST['email'];
    $book =   $_POST['books'];
    $owner = $_POST['owner'];

    if (!empty($name)){
    if (!empty($email)){

    }
    else{
      echo "Email field cannot be left blank";
      die();
    }

    }
    else{
      echo "Name field cannot be left blank";
      die();
    }



  $db_hostname = "mysql";
    $db_database = "****";
    $db_username = "******";
    $db_password = "**********";
    $db_charset  = "utf8mb4";

    $dsn = "mysql:host=$db_hostname;dbname=$db_database;charset=$db_charset";
    $opt = array(
       PDO::ATTR_ERRMODE         =>PDO::ERRMODE_EXCEPTION,
       PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
       PDO::ATTR_EMULATE_PREPARES => false
    );

    try{
        $pdo = new PDO($dsn,$db_username,$db_password,$opt);

        $stmt = $pdo->prepare(
                      "INSERT INTO  Borrowtest 
 (Book_Description,Owner,Fullname,Email) VALUES(?,?,?,?)");
         $success = $stmt->execute(





  array($_REQUEST['Book_Description'],
   $_REQUEST['Owner'],$_REQUEST['Fullname'],$_REQUEST['Email']));



       echo '<table width="70%" border="1" cellpadding="5" 
        cellspacing="5">
             <tr>
                <th>ID</th>
                <th>Book Title</th>
                <th>Owner</th>
                <th>Fullname</th>
                <th>Email</th>
                </tr>';

        echo "<h2><center>Data in table</center></h2>\n";
        $stmt = $pdo->query("SELECT MAX(Id) FROM Borrowtest");
        echo "Rows retrieved: ".$stmt->rowcount()."<br><br>\n";
        while ($row = $stmt->fetch()) {
            echo '<tr>
                  <td>'.$row["Id"].'</td>
                  <td>'.$row["Book_Description"].'</td>
                  <td>'.$row["Owner"].'</td>
                  <td>'.$row["Fullname"].'</td>
                  <td>'.$row["Email"].'</td>
                  </tr>';
        }

     // Prints the users input
     //  must change to print most recent table entry
       echo "Name: $name <br /> Email: $email <br /> Book: $book <br /> 
    Owner: $owner <br />";

    $pdo = NULL;
    } catch (PDOException $e) {
        exit("PDO Error: ".$e->getMessage()."<br>");
    }
     ?>
    </body>
    </html>

图书馆系统
图书馆图书预订系统
使用下表搜索可用的书籍
选择研究员:
罗杰
凯瑟琳
黛博拉
直率的
保罗

全名:

电子邮件:


action\u form.php

    <html>
       <head>
          <title>Library System</title>
       </head>
    <body>
       <h1> <center> Library Book Reservation System </center></h1>
       <h2> <small><center>Use the form below to search for available books </center></small> </h2>
       <?php
       ?>
    <form class="submission-form"action="form2.php" method="post">
       <center>
          Select Book:
          <select name="books" id="books">
             <option value="catcher in the rye.">catcher in the rye.</option>
             <option value="to kill a mocking bird">to kill a mocking bird</option>
             <option value="1984">1984</option>
             <option value="Ulysses ">Ulysses</option>
             <option value="East of Eden">East of Eden</option>
             <option value="Animal Farm">Animal Farm </option>
             <option value="Of mice and men">Of mice and me.</option>
          </select>
          <p></p>
          <input type="submit" value="Next" id="sendBtn">
          <input type="reset" value="Reset" id="resetBtn">
          <input type="button" value="Help" id="helpBtn">
       </center>
    </form>
    </body>
    </html>
<?php session_start();?>
<?php if($_POST) {
   $_SESSION['books'] = $_POST['books'];
   echo 'the book selected is : '.$_SESSION['books'].'';
?>
<html>
   <head>
      <title>Library System</title>
   </head>
<body>
   <h1> <center> Library Book Reservation System </center></h1>
   <h2> <small><center>Use the form below to search for available books </center></small> </h2>
<form class="submission-form"action="booksphp.php" method="post">
   <center>
      Select Researcher:
      <select name="owner">
         <option value="Roger">Roger</option>
         <option value="Catherine">Catherine</option>
         <option value="Deborah">Deborah</option>
         <option value="Frank">Frank</option>
         <option value="Paul">Paul</option>
      </select>
      <p></p>
      Full name:<br>
      <input type="text" name="fullname" size="45"><br>
      Email:<br>
      <input type="email" name="email" size="45"><br><br>
      <input type="submit" value="Submit" id="sendBtn">
      <input type="reset" value="Reset" id="resetBtn">
      <input type="button" value="Help" id="helpBtn">
   </center>
</form>
<?php 
} 
?>
<?php session_start(); ?>

 <!DOCTYPE html>
  <html>
    <head>
    <title> PHP + MySQL</title>
  </head>
  <body>
  <h1> <center> Library Book Reservation System </center></h1>
   <?php

    $name =  $_POST['fullname'];
    $email =  $_POST['email'];
    $book =   $_POST['books'];
    $owner = $_POST['owner'];

    if (!empty($name)){
    if (!empty($email)){

    }
    else{
      echo "Email field cannot be left blank";
      die();
    }

    }
    else{
      echo "Name field cannot be left blank";
      die();
    }



  $db_hostname = "mysql";
    $db_database = "****";
    $db_username = "******";
    $db_password = "**********";
    $db_charset  = "utf8mb4";

    $dsn = "mysql:host=$db_hostname;dbname=$db_database;charset=$db_charset";
    $opt = array(
       PDO::ATTR_ERRMODE         =>PDO::ERRMODE_EXCEPTION,
       PDO::ATTR_DEFAULT_FETCH_MODE => PDO::FETCH_ASSOC,
       PDO::ATTR_EMULATE_PREPARES => false
    );

    try{
        $pdo = new PDO($dsn,$db_username,$db_password,$opt);

        $stmt = $pdo->prepare(
                      "INSERT INTO  Borrowtest 
 (Book_Description,Owner,Fullname,Email) VALUES(?,?,?,?)");
         $success = $stmt->execute(





  array($_REQUEST['Book_Description'],
   $_REQUEST['Owner'],$_REQUEST['Fullname'],$_REQUEST['Email']));



       echo '<table width="70%" border="1" cellpadding="5" 
        cellspacing="5">
             <tr>
                <th>ID</th>
                <th>Book Title</th>
                <th>Owner</th>
                <th>Fullname</th>
                <th>Email</th>
                </tr>';

        echo "<h2><center>Data in table</center></h2>\n";
        $stmt = $pdo->query("SELECT MAX(Id) FROM Borrowtest");
        echo "Rows retrieved: ".$stmt->rowcount()."<br><br>\n";
        while ($row = $stmt->fetch()) {
            echo '<tr>
                  <td>'.$row["Id"].'</td>
                  <td>'.$row["Book_Description"].'</td>
                  <td>'.$row["Owner"].'</td>
                  <td>'.$row["Fullname"].'</td>
                  <td>'.$row["Email"].'</td>
                  </tr>';
        }

     // Prints the users input
     //  must change to print most recent table entry
       echo "Name: $name <br /> Email: $email <br /> Book: $book <br /> 
    Owner: $owner <br />";

    $pdo = NULL;
    } catch (PDOException $e) {
        exit("PDO Error: ".$e->getMessage()."<br>");
    }
     ?>
    </body>
    </html>

PHP+MySQL
图书馆图书预订系统

发送form2.php时。。。 它被发送到booksphp.php(而不是action_form.php)

代码

$book =   $_POST['books'];
应替换为

$book =   $_SESSION['books'];

发送form2.php时。。。 它被发送到booksphp.php(而不是action_form.php)

代码

$book =   $_POST['books'];
应替换为

$book =   $_SESSION['books'];

您已经在action_form.php上初始化并填充了变量

$name =  $_POST['fullname'];
$email =  $_POST['email'];
$book =   $_POST['books'];
$owner = $_POST['owner'];
所以只要继续使用它们

更改此代码

array($_REQUEST['Book_Description'],
$_REQUEST['Owner'],$_REQUEST['Fullname'],$_REQUEST['Email']));
对此

array($book, $owner, $name, $email));
为什么要把事情弄得比必要的更复杂


快乐编码

您已经在action\u form.php上初始化并填充了变量

$name =  $_POST['fullname'];
$email =  $_POST['email'];
$book =   $_POST['books'];
$owner = $_POST['owner'];
所以只要继续使用它们

更改此代码

array($_REQUEST['Book_Description'],
$_REQUEST['Owner'],$_REQUEST['Fullname'],$_REQUEST['Email']));
对此

array($book, $owner, $name, $email));
为什么要把事情弄得比必要的更复杂


快乐编码

哪里是
booksphp.php
?发到
action\u form.php
的表单在哪里?@Phil我们隔1秒做了完全相同的编辑哈哈。我想问题是
$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。为什么要将
$\u REQUEST
中的值与大写键一起使用?您已经在使用小写键检查
$\u POST
中的值,因此我假设这些是您实际想要插入到数据库中的值。在任何情况下,在开发时,始终将PHP环境的错误报告设置为
E_ALL
,并显示错误以供快速反馈,即在
PHP.ini
文件中,设置
error\u reporting=E\u ALL
display\u errors=On
。然后,您将看到任何未定义数组索引的警告。投票以打字形式结束同样,下次你想问问题时,请重点看一下where is
booksphp.php
?发到
action\u form.php
的表单在哪里?@Phil我们隔1秒做了完全相同的编辑哈哈。我想问题是
$\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\。为什么要将
$\u REQUEST
中的值与大写键一起使用?您已经在使用小写键检查
$\u POST
中的值,因此我假设这些是您实际想要插入到数据库中的值。在任何情况下,在开发时,始终将PHP环境的错误报告设置为
E_ALL
,并显示错误以供快速反馈,即在
PHP.ini
文件中,设置
error\u reporting=E\u ALL
display\u errors=On
。然后,您将看到任何未定义数组索引的警告。投票结束作为一个打字错误。同样,下次你想问一个问题时,请关注最小的问题