Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/253.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么我会得到一个;未定义变量";在PHP中注意到了吗?_Php - Fatal编程技术网

为什么我会得到一个;未定义变量";在PHP中注意到了吗?

为什么我会得到一个;未定义变量";在PHP中注意到了吗?,php,Php,因此,我有以下几点: <?php show_form(); ?> <form id="add" method="post" action="addIssue.php"> Name: <?php input_text('name','str_name', $defaults , '1'); ?> <input class="submit" type="submit" value="Begin download" />

因此,我有以下几点:

<?php
    show_form();
?>


<form id="add" method="post" action="addIssue.php">
    Name:
    <?php input_text('name','str_name', $defaults , '1'); ?>
    <input class="submit" type="submit" value="Begin download" />
    <input type="hidden" name="_submitCheck" value="1"/> 
</form>


<?php
function show_form($errors = '') 
{ 
    // If form is submitted, get the defaults from submitted parameters
    if(empty($_POST['_submitCheck']) OR !$_POST['_submitCheck'] ){
        // set our own defaults
        $defaults = array('str_name' => '');

    } else {
        $defaults = $_POST;
    }
} 

// Echo text box
function input_text($elem_id, $element_name, $values, $tab='') {
    echo '<input id="'.$elem_id.'" name="'.$element_name.'"';
    echo ' tabindex="'.$tab.'" class="text" value="';
    echo htmlentities($values[$element_name]) . '" />';
}
?>

姓名:
为什么我会收到以下通知


注意:未定义变量:默认值

$defaults
显示表单
函数范围内的局部变量。您需要从函数返回它,并将第一行代码更改为:

$defaults = show_form();

您需要将变量设置为全局变量,才能使其工作

在show_form方法的开头,添加以下代码:

global $defaults;

或者,正如前面指出的,更好的解决方案是返回变量并使用$defaults=show_form()。。。你是对的。变量范围。我怎么没看见。