0

我正在构建一个迷你图书馆管理系统,但遇到了一些问题,希望能得到一些提示和建议。

目前我有两页:一页insert.phpHTML一页。

当我成功地将一本书或交易插入数据库时​​,会打开一个新页面,并且我会收到一条成功状态消息。

  1. 是否可以将这两个页面合并为一个并在提交按钮下方返回成功消息?

  2. 我尝试使用以下方法直接从数据库中提取 lms_status_types_status_id 但失败了:

    <select  name="lms_status_types_status_id" id="individual" multiple="multiple">
    <option value="0" SELECTED>Select User</option> 
    <?php foreach($RET as $userdata){ ?>
    <option value="<?php echo $userdata['lms_status_types_status_id']; ?>"></option>
    <?php } ?>
    </select> 
    

知道我在这里做错了什么吗?

我曾尝试向 Google 寻求帮助,但发现很难实现浮动的内容。我对php完全陌生,所以请原谅!

insert.php

<?php

$con = mysql_connect("localhost","username","password");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}

$RET = DBGet(DBQuery("SELECT * FROM lms_transactions")); 

mysql_select_db("my_db", $con);

$sql="INSERT INTO lms_books (book_id, tag, title, author, year)
  VALUES
('$_POST[book_id]','$_POST[tag]','$_POST[title]' ,'$_POST[author]' ,'$_POST[year]')";


$sql="INSERT INTO lms_transactions (student_id, lms_books_tag, lms_books_book_id, lms_status_types_status_id)
VALUES
('$_POST[student_id]','$_POST[lms_books_tag]','$_POST[lms_books_book_id]','$_POST[lms_status_types_status_id]')";


if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";

mysql_close($con);
?>

HTML File

<h2> Library Management System</h2>

<h3>Check-In/Check-Out Book:</h3>
<form action="/insert.php" method="post">
Student ID: <input type="text" name="student_id">
Book Tag: <input type="text" name="lms_books_tag">
Book ISBN: <input type="text" name="lms_books_book_id">
Status: <select name="lms_status_types_status_id">
    <option value="Checked-In">Checked-In</option>
    <option value="Checked-Out">Checked-Out</option>
    </select>
<input type="submit">
</form>


<h3>Insert Book:</h3>
<form action="/insert.php" method="post">
Book ISBN: <input type="text" name="book_id">
Tag: <input type="text" name="tag"> 
Title: <input type="text" name="title">
Author: <input type="text" name="author">
Year: <input type="text" name="year">
<input type="submit">
</form>
4

1 回答 1

1

您声明了变量 $sql 两次,这意味着当涉及到 mysql_query() 函数时,只会使用第二个查询字符串。

是的,可以在同一页面上组合 HTML 和 PHP。您可以将 PHP 放在 HTML 之上并将其包装在 if($_POST){}(或 if(!$_POST){} 中,具体取决于您要执行的操作)。然后,您将表单提交到其自己的页面。

此外,您应该在将 POST 输入插入数据库之前清理它们,否则您将面临 datasage 提到的安全风险。

于 2013-01-20T04:17:50.363 回答