形式没有设置变量时回显-PHP

时间:2018-08-16 07:13:11

标签: php

我试图回显以前建立的表格(没有通过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 ..为什么?

感谢您的回复,如果是菜鸟问题,我感到很抱歉

路卡

3 个答案:

答案 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 —确定变量是否为空

换句话说,如果变量为空的truestringfalse(或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数据可能会消失,这意味着该数据为空。


请告诉我这是否有用。我宁愿给您提供信息,以便您可以边做边练习,而不是获得清晰的代码并复制粘贴。如果您有任何疑问,请告诉我。