好的,所以这是交易:
<form enctype="multipart/form-data" class="pdfsub" id="pdfsub" action="" method="post">
<td>
<p>Agent Name:<input type="text" name="agentname" id="agentname" /></p>
<p>Description: <textarea cols="75" rows="10" draggable="false" name="desc" value="desc">
</textarea></p>
</td>
<td>
<p>Current Date: <input type="date" name="date" value="date" /></p>
<p> Document Name: <select name="pdf" id="pdf" class="pdf" value="pdf">
<option></option>
<?php
$x=0;
if ($handle = opendir('Users/'.$_SESSION['username'].'/uploaded/')) {
while (false !== ($entry = readdir($handle))) {
if ($entry != "." && $entry != "..") {
echo "<option value=".$entry.">$entry'n</option>";
}
}
closedir($handle);
}
?>
</select></p>
<p>Processed: <input type="checkbox" name="options[]" onclick="checkSubmit(this, 'mySubmit')" value="y" /> Incomplete: <input type="checkbox" name="options[]" onclick="checkSubmit(this, 'mySubmit')" value="y" /></p>
<input type="submit" name="submit" value="submit" id="mySubmit" disabled="disabled" />
</td>
</form>
</table>
<script type="text/javascript">
function checkSubmit(ele, id) {
x = document.getElementById(id);
if (ele.checked == true) x.disabled = false;
else x.disabled = true;
}
</script>
<?php
error_reporting(0);
if (isset($_post['submit']['processed']))
{
$checked = $_GET['options'];
for($i=0; $i < count($checked); $i++){
echo "Selected " . $checked[$i] . "<br/>";
}
$host = "host";
$user3 = "user";
$db_name= "dbname";
$pass= "pass";
$con = mysql_connect($host, $user3, $pass);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con);
$agent=($_POST['agentname']);
$desc=($_POST['description']);
$date=($_POST['date']);
$pdf=($_POST['filename']);
$sql ="INSERT INTO `documets` (`agentname`, `description`, `date`, `filename`, `numb`) VALUES ('$agent', '$desc', '$date', '$pdf', '1')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
mysql_close($con);
$srcfile= ('Users/'.$_SESSION['username'].'/uploaded/'.$pdf);
$dstfile= ('Users/'.$_SESSION['username'].'/processed/'.$pdf);
copy($srcfile, $dstfile);
unlink($srcfile);
}
?>
<?php
error_reporting(0);
if (isset($_post['submit']['incomplete']))
{
$host = "host";
$user3 = "user";
$db_name= "dbname";
$pass= "pass";
$con = mysql_connect($host, $user3, $pass);
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("dbname", $con);
$agent=($_POST['agentname']);
$desc=($_POST['description']);
$date=($_POST['date']);
$pdf=($_POST['filename']);
$sql ="INSERT INTO `documets` (`agentname`, `description`, `date`, `filename`, `numb`) VALUES ('$agent', '$desc', '$date', '$pdf', '1')";
if (!mysql_query($sql,$con)) {
die('Error: ' . mysql_error());
}
mysql_close($con);
$srcfile= ('Users/'.$_SESSION['username'].'/uploaded/'.$pdf);
$dstfile= ('Users/'.$_SESSION['username'].'/incomplete/'.$pdf);
copy($srcfile, $dstfile);
unlink($srcfile);
}
?>
我需要以某种方式组合所有这些,以便根据选中的复选框是文件的位置,但数据仍会提交到数据库。 截至目前,它也没有这样做,但这是一个简单的解决方案,我只需要正确的结构。
你的问题不是很清楚,但据我所知,你问的是如何根据选中的复选框做不同的事情,对吧?我不确定你指的是如何在 JavaScript 或 PHP 中做到这一点,所以我将同时添加两者。
在 JavaScript 中
也许给两个复选框一个不同的id可以解决你的问题。然后,您可以找出选中的复选框,例如使用:
getElementById("checkboxId").checked //either true or false
如果您只想知道单击了哪个复选框,则可以检查其 id:
checkboxObj.id
其中 checkObj 是您在复选框的 onclick 属性中传递的对象。
在 PHP 中
在 PHP 中,选中复选框时,将提交其名称-值对。如果未选中,则不会出现在提交给服务器的数据中。通过检查某个复选框的值是否出现在提交到服务器的数据中,您可以检查它是否已被选中。在您的情况下,您可以检查它的值是否出现在"选项"数组中。
但是,您对两个复选框使用相同的值 ("y"),因此您无法看到它们之间的差异。通过给它们不同的值(如"x"和"y"),您将能够看到选中了哪个复选框。
$_GET 数组将如下所示,例如,选中两个复选框时:
$_GET["option"][0] === "x";
$_GET["option"][1] === "y";
您还可以像在代码中所做的那样循环访问它们。
另一种方式
不需要在一个数组中提交所有复选框。您还可以选择对它们使用不同的名称。在这种情况下,您将能够使用 $_GET 数组中的相应索引找到它们。
假设复选框的名称是"check1"和"check2",那么您可以使用以下代码来检查它们是否被选中:
isset($_GET['check1']) //True if "check1" is checked
isset($_GET['check2']) //True if "check2" is checked