我试图回显以前建立的表格(没有通过php回显)。 现在,我正在尝试回显此表单
echo "<form action=\"timeschedulingphp.php\" method=\"POST\" enctype=\"multipart/form-data\">";
while($row = mysqli_fetch_array($result)) {
echo "<input type=\"hidden\" id=\"FName\" name=\"FName\" value=\"" . $row['FName'] . "\">
<input type=\"hidden\" id=\"FName\" name=\"FName\" value=\"" . $row['LName'] . "\">" ;
}
echo "<input id=\"date\" type=\"text\" size=8 class=\"form-control mb-2\" name=\"Date\"> </input>
<script type=\"text/javascript\" src=\"js/jquery.js\"></script>
<script type=\"text/javascript\" src=\"js/jquery-ui.js\"></script>
<script type=\"text/javascript\" src=\"js/ui.js\"></script>
<input id=\"appt-time\" type=\"time\" name=\"FromTime\"
min=\"00:00\" max=\"24:00\" required
pattern=\"[0-9]{2}:[0-9]{2}\" class=\"form-control mb-2\"></input>
<input id=\"appt-time\" type=\"time\" name=\"ToTime\"
min=\"00:00\" max=\"24:00\" required
pattern=\"[0-9]{2}:[0-9]{2}\" class=\"form-control mb-2\"></input>
<select name=\"Class\" class=\"form-control mb-2\">
<option value=\"null\"></option>
<option value=\"Piano Class\">Piano Class</option>
<option value=\"Sing Class\">Sing Class</option>
</select>
<select name=\"Present\" class=\"form-control mb-2\">
<option value=\"WasPresent?\">WasPresent?</option>
<option value=\"Present\">Present</option>
<option value=\"Absent\">Absent</option>
<option value=\"Justified\">Justified</option>
</select>
<input type=\"text\" placeholder=\" Notes \" name=\"Notes\" class=\"form-control mb-3\">
<button class=\"btn btn-success\" name=\"register\">Register</button>
<input class=\"btn btn-primary\" type=\"reset\" value=\"Reset\">
</form>";
当我转到timeschedulingphp.php并控制
if(isset($_POST['register']))
它不是isset ..为什么?
感谢您的回复,如果是菜鸟问题,我感到很抱歉
路卡
答案 0 :(得分:1)
尝试将其设置为提交类型
<button class=\"btn btn-success\" name=\"register\" value=\"Register\" type=\"submit\">Register</button>
答案 1 :(得分:0)
根据您的问题确定
为什么未设置if(isset($_POST['register']))
或认为没有空值
因为您没有设置按钮的值
试试这个
<button class=\"btn btn-success\" value="save" name=\"register\">Register</button>
此代码将为$ _POST ['register']提供一个保存值或与$_POST['register'] = 'save'
相同
希望这个答案有帮助
答案 2 :(得分:0)
首先,您需要一些有关可以使用的差异的信息。
isset()
isset —确定是否设置了一个变量,并且该变量不是NULL
换句话说,仅当变量为true
时,它才返回not null
。
文档:
空()
empty —确定变量是否为空
换句话说,如果变量为空的true
,string
,false
(或array()
),{{1 }},[]
和一个未设置的变量。
文档:
与您的代码和问题有关,似乎未设置NULL
,因此您将获得0
。
您可以做几件事来检查$_POST
内的内容以及该内容是否为空。
尽管调试时总是检查数据内部内容。因此,您可以使用:
false
文档:
希望您会收到类似以下的数组:
$_POST
结果:
echo '<pre>';
var_dump($_POST);
echo '</pre>';
与$array = [
1 => 'one',
2 => 'two',
3 => 'three',
4 => 'four',
5 => 'five',
];
echo '<pre>';
var_dump($array);
echo '</pre>';
die;
有关,要防万一数组/字符串为空,可以执行以下操作:“
array(5) {
[1]=>
string(3) "one"
[2]=>
string(3) "two"
[3]=>
string(5) "three"
[4]=>
string(4) "four"
[5]=>
string(4) "five"
}
在isset()
以上的代码中将始终被设置。像这样阅读:
$register = (isset($_POST['register']) ? 1 : 0);
='如果设置了$ _POST ['register']'$register
='THEN DO THIS'(在我们的示例中,它将变为(int)1)。(isset($_POST['register']))
='如果不做'(如果未设置$ _POST ['register'],
$ register变为(int)0)如果?
保持空白,请重新加载页面。通过填写格式并在:
中发送实际数据。如果您按F5,则$register
数据可能会消失,这意味着该数据为空。
请告诉我这是否有用。我宁愿给您提供信息,以便您可以边做边练习,而不是获得清晰的代码并复制粘贴。如果您有任何疑问,请告诉我。