我有一个带有复选框的表单,可以将数据发布到下一页的网址。我知道这不安全,不会在任何项目中使用。这仅用于学习目的。
我正在推送从我的数据库中提取的任务。
我的网址看起来像这样:
submitted.php?id=?12345
根据我检查的任务复选框的数量,我需要它将ID推送到下一页。
这是我的表格:
<form action="Billing.php?id=<?PHP echo $customerid;?>" method="post">
<?php $query = "SELECT * FROM Service";
$result = mysqli_query($con,$query);
while ($line = mysqli_fetch_array($result, MYSQL_ASSOC)) { ?>
<input type="checkbox" name="service" value="<?php echo $line['Service_ID']?>"><?php echo $line['Service_Type']?> <br> <?php } ?>
<input type="submit" name="next" value="Check Out" style="bottom:3%;Right:3%;position:absolute;background-color:#B2B2B2;font-weight:bold;border-style:double;border-color:black;float:right;" >
</form>
</div><!--serviclist-->
<div id="cust">
<h3>Customer Information</h3>
<table style="left: 7%;right: 5%;top: 20%;position: absolute;">
<tr>
<td>Name:<input class="rightText" name="customername" type="text" value="<?PHP echo $name; ?> "></td>
</tr>
<tr>
<td>Make: <input name="make" type="text" value="<?PHP echo $make; ?>"></td><td>Model: <input class="rightText" name="model" type="text" value="<?PHP echo $model; ?>"></td>
</tr>
<tr>
<td>Color: <input name="color" type="text" value="<?PHP echo $color; ?>" ></td><td>VIN: <br><input class="rightText" name="VIN" type="text" value="<?PHP echo $vin; ?>" ></td>
</tr>
</table>
基本上我试图让它发布我的客户ID和我检查到下一页的服务。
答案 0 :(得分:3)
我不知道你是如何设法以此查询字符串结尾的,但我们假设你有:
index.php?asd=1&asd=2&asd=3
你可以通过
抓住它var_dump($_SERVER['QUERY_STRING']);
输出
string 'asd=1&asd=2&asd=3' (length=17)
然后按&
分隔符
var_dump(explode('&', $_SERVER['QUERY_STRING']));
输出:
array (size=3)
0 => string 'asd=1' (length=5)
1 => string 'asd=2' (length=5)
2 => string 'asd=3' (length=5)
然后用=分割,找到key =&gt;值对。
然而,我发现这种方法非常缺乏吸引力且效率低下。
如果您可以控制复选框名称,则构建查询字符串,如:
index.php?asd[]=1&asd[]=2&asd[]=3
然后
var_dump($_GET['asd']);
将返回数组
array (size=3)
0 => string '1' (length=1)
1 => string '2' (length=1)
2 => string '3' (length=1)
答案 1 :(得分:1)
你写错了你的网址,它应该是这样的:
submitted.php?taskid[]=1&taskid[]=7
答案 2 :(得分:0)
将复选框作为ARRAY,
例如
input type =“checkbox”name =“taskid []”value =“你喜欢的任何值”
在服务器端php中,使用FOR-EACH LOOP来获取所有任务
<?php
$tasks = $_GET['taskid'];
foreach($tasks as $values)
{
// do your operations here
echo $values;
}