我有以下表格:
<!DOCTYPE html>
<html>
<head>
<title>Update Notifications</title>
</head>
<body>
<form enctype="multipart/form-data" action="update1.php" method="post">
<fieldset>
<legend>Enter Date and Notification, select the requisite categories</legend>
HOD<input type="checkbox" name="update[]" id="update" value="ihod"><br>
CR<input type="checkbox" name="update[]" id="update" value="icr"><br>
Non Teaching Staff<input type="checkbox" name="update[]" id="update" value="intstaff"><br>
Teaching Staff<input type="checkbox" name="update[]" id="update" value="itstaff"><br>
FE<input type="checkbox" name="update[]" id="update" value="ife"><br>
SE IT<input type="checkbox" name="update[]" id="update" value="iseit"><br>
SE EXTC<input type="checkbox" name="update[]" id="update" value="iseextc"><br>
SE COMPS<input type="checkbox" name="update[]" id="update" value="isecomp"><br>
TE IT<input type="checkbox" name="update[]" id="update" value="iteit"><br>
TE EXTC<input type="checkbox" name="update[]" id="update" value="iteextc"><br>
TE COMPS<input type="checkbox" name="update[]" id="update" value="itecomp"><br>
BE IT<input type="checkbox" name="update[]" id="update" value="ibeit"><br>
BE EXTC<input type="checkbox" name="update[]" id="update" value="ibeextc"><br>
BE COMPS<input type="checkbox" name="update[]" id="update" value="ibecomp"><br>
Notification: <input type="file" name="photo"><br>
Date: <input type="text" name="date"><br>
<input type="submit" name="Submit">
</fieldset>
</form>
</body>
</html>
我的update1.php包含以下代码:
<?php
if (isset($_POST['table']) && isset($_POST['date']) && isset($_POST['pic']) && isset($_POST['target'])){
$target = "notifications/"; //This is the directory where images will be saved
$target = $target . basename( $_FILES['photo']['name']);
$date=$_POST['date'];
$pic=($_FILES['photo']['name']);
mysql_connect("127.0.0.1", "root", "") or die(mysql_error()) ;
mysql_select_db("login") or die(mysql_error()) ;
foreach ($_POST[$name] as $update) {
if($update == $value){
$table = $_POST[$name];
mysql_query("INSERT INTO `$table` VALUES ('$date', '$pic')") ;
if(move_uploaded_file($_FILES['photo']['tmp_name'], $target)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']). " has been uploaded, and your information has been added to the directory";
}
else {
echo "Sorry, there was a problem uploading your file."; }
}
}
}
我想要做的是将数据存储到表中(这些表已经在&#34; login&#34;数据库中创建,其名称对应于复选框值)。勾选复选框后,我希望程序自动更新具有必要值(即日期和文件名)的相应表。我目前对foreach()语法以及它是如何工作的方式感到困惑。此外,可以为此目的使用内爆吗?
PS:是否可以使用表单中的标记接受值,并使用以下方法将其存储到数据库中?
答案 0 :(得分:0)
当您使用$_POST[$name]
时,看起来您在foreach中使用$update
,请参阅下文
if( isset( $_POST['update'] && !empty( $_POST['update'] ) ) {
foreach( $_POST['update'] as $update ) {
if( $update == $value ) {
$table = $update;
mysql_query( INSERT INTO '$table' VALUES( '$date', '$pic' );
}
}
}
请同时查看mysqli或PDO,因为mysql函数自PHP 5.5.0起已弃用
我还看到你没有在你的html中的任何地方张贴$_POST['table']
或$_POST['pic']
,所以你可能还需要看看这个。