试图解决此通知:未定义变量


Trying to solve this Notice: Undefined variable

我想动态更新我的表新闻。

它工作得很好,但我想在我的表单中显示我的新闻的当前值,所以我使用inside my value = <?php echo $read['title'] ; ?>

但是对于date,我得到两个错误:

我得到这个错误在我的输入:注意:未定义变量:西班牙语和未定义变量:英语

我理解错误,但我想问你,如果你知道我如何解决这个问题,我知道如果我在我的日期值内重复我的变量"西班牙语和英语"的定义,它可以工作,但重复这个变量似乎不正确。

你知道我如何解决这个只用一个定义$english和$spanish变量??

<?php
if(isset($_POST['sendForm']))
{
    $f['title'] = $_POST['title'];
    $f['date'] = $_POST['date'];
    if(in_array('',$f))
    {
    echo 'Fill all fields';
    }

else
{
    $english = array(); //here I have some words
    $spanish = array();
    $result_date = str_ireplace ($english , $spanish, $f['date']);
    $date = DateTime::createFromFormat('l, j F, Y', $result_date);
    $date = $date->format('Y-m-d H:i:s'); 

    $update = $pdo->prepare("UPDATE news set title=:title, date=:date WHERE id = :id");
    $update->bindValue(':title', $f['title']);
    $update->bindValue(':date', $date); 
    $update->bindValue(':id', '20');
    $update->execute();         
}
}
?>
<form  action="" method="post" enctype="multipart/form-data">
    <label class="line">
    <span>Title:</span>
    <input type="text" name="title" value="<?php echo $read['title'] ; ?>" />
    </label>

    <label class="line">
    <span>Date:</span>
    <input type="text" name="date" value="
    <?php 
        $date = new DateTime($read['date']);
        $result_date = str_ireplace($spanish , $english, $date->format('l, j F, Y'));
        echo $result_date;
    ?>" />
    </label>
    <input type="submit" value="Submit" name="sendForm"/>
</form>
<?php
    $english = array(); //define at first because if you post the variables are unset
    $spanish = array();
    if(isset($_POST['sendForm']))
    {
        $f['title'] = $_POST['title'];
        $f['date'] = $_POST['date'];
        if(in_array('',$f))
        {
            echo 'Fill all fields';
        }
    else
    {
        $result_date = str_ireplace ($english , $spanish, $f['date']);
        $date = DateTime::createFromFormat('l, j F, Y', $result_date);
        $date = $date->format('Y-m-d H:i:s'); 
        $update = $pdo->prepare("UPDATE news set title=:title, date=:date WHERE id = :id");
        $update->bindValue(':title', $f['title']);
        $update->bindValue(':date', $date); 
        $update->bindValue(':id', '20');
        $update->execute();         
    }
    }

注意您可以通过php.ini文件关闭或仅使用error_reporting(0);,但要确保这里不会显示任何其他错误。您可以在网站上线后启用此功能。希望这对你有帮助!