0
我想讓用戶在mysql數據庫中選擇一個表名,然後我可以通過字段中的表單的文本框添加數據。 我使用PHP $ _POST []將表名添加到添加表單中。但是以添加形式;當我提交添加按鈕;表名已丟失。 我搜索了很多,並測試會話和常量來保存表名值;但 沒有得到期望的結果。在提交表格中使用php的表名
任何幫助將不勝感激。
這裏是選擇表名的頁面代碼:
<form action="change_products.php" method="post" name="select_table">
<select name="edit_products" >
<option <?php if($_POST['edit_products'] == "cabin") echo "selected='selected'"; ?> value="cabin">Cabin case</option>
<option <?php if($_POST['edit_products'] == "cabin_door") echo "selected='selected'"; ?> value="cabin_door">Cabin door</option>
</select>
<input type="submit" value="OK">
</form>
,這是在「change_products.php」頁面中添加表單的代碼。
<?
include('functions.php'); //the database info
define('selected_table', $_POST['edit_products']);
?>
<form method="post">
<table>
<tr>
<td>Mark:</td>
<td><input type="text" name="mark" /></td>
</tr>
<tr>
<td><input type="submit" name="add" value="New" /></td>
</tr>
</table>
<?
if (isset($_POST['add']))
{
$mark=$_POST['mark'];
mysql_query("INSERT INTO ".selected_table." (mark) VALUES ('$mark')");
}
?>
</form>
*旁註:*停止使用已棄用的'mysql_ *'函數。改用MySQLi或PDO。 – Raptor
*旁註:*您的代碼受到SQL注入攻擊,因爲您直接允許將POST值插入到查詢中。 – Raptor
這是非常糟糕的代碼。從來沒有**,直接在查詢中直接輸入「$ _GET」或「$ _POST」數據。 – tadman