我想在编写php代码将其插入数据库之前,先使用Var_dump或print_r来调试我的代码。当我使用这些方法时,我只得到我的表格的最后一个值,我已经搜索了为什么,并且找不到答案,我更改名称="某些内容"命名="某事[]",这似乎是最常见的错误,但这似乎并没有改变任何东西。
所以我在我的表单页面上有这个HTML代码:
<form method="post" action="phptestpage.php">
<table>
<tr>
<th>Job Number</th>
<th>Timesheet #</th>
<th>Work Date</th>
<th>Shift</th>
</tr>
<tr>
<td><input type="text" name="job_number"></td>
<td><input type="text" name="timesheet"></td>
<td><input type="date" name="work_date"></td>
<td><select>
<option value="days">Days</option>
<option value="nights">Nights</option>
</select></td>
</tr>
</table>
<table>
<tr>
<th id="work_done">Work Done</th>
<th id="equipment_used">Equipment Used</th>
</tr>
<tr>
<td><textarea type="text" name="work_done" id="work_done_input"></textarea></td>
<td><textarea type="text" name="equipment_used" id="equipment_used_input"></textarea></td>
</tr>
</table>
<table id="time_table">
<tr>
<th>Last Name</th>
<th>First Name</th>
<th>Rate</th>
<th class="time">ST</th>
<th class="time">TH</th>
<th class="time">DT</th>
<th class="time">EX-ST</th>
<th class="time">EX-TH</th>
<th class="time">EX-DT</th>
</tr>
<tr class="blank_row">
<td><input type="text" name="last_name[]" class="last_name"></td>
<td><input type="text" name="first_name"></td>
<td><input type="text" name="rate"></td>
<td><input type="number" name="st" class="time_input" value="0"></td>
<td><input type="number" name="th" class="time_input" value="0"></td>
<td><input type="number" name="dt" class="time_input" value="0"></td>
<td><input type="number" name="ex_st" class="time_input" value="0"></td>
<td><input type="number" name="ex_th" class="time_input" value="0"></td>
<td><input type="number" name="ex_dt" class="time_input" value="0"></td>
</tr>
<tr>
<td><input type="text" name="last_name[]" class="last_name"></td>
<td><input type="text" name="first_name"></td>
<td><input type="text" name="rate"></td>
<td><input type="number" name="st" class="time_input" value="0"></td>
<td><input type="number" name="th" class="time_input" value="0"></td>
<td><input type="number" name="dt" class="time_input" value="0"></td>
<td><input type="number" name="ex_st" class="time_input" value="0"></td>
<td><input type="number" name="ex_th" class="time_input" value="0"></td>
<td><input type="number" name="ex_dt" class="time_input" value="0"></td>
</tr>
</table>
<input type="submit" value="Submit" name="submit">
</form>
&#13;
我正在使用此代码尝试查看它输出的值:
<?php
$names = $_POST['last_name'];
var_dump($names);
?>
我尝试了一些不知道我在做什么的变化,包括将[]放在名称变量值中,如$ _POST [&#39; last_name []&#39;]试试为了匹配变量,我之前犯过这样的错误。
答案 0 :(得分:1)
您需要使用正确的<form>
和action
在method
元素中包含输入。
<form action="/path/to/file.php" method="POST">
<input type="text" name="last_name[]" class="last_name">
</form>
通过这样做,您应该能够使用array
$_POST['last_name']
修改强>
我已在本地使用表单的简化版本对其进行了测试,以下内容将起作用:
<form method="POST">
<input type="text" name="last_name[]">
<input type="text" name="last_name[]">
</form>
这将返回$_POST['last_name'] = array(0 => 'test1', 1 =>'test2')
。我认为你的问题不是你的变量命名,而是你的脚本中的其他东西。我建议你去看部分和调试。