试图解决这个问题:未定义的变量

时间:2014-06-01 19:11:03

标签: php

我试图动态更新我的桌面新闻。

它的工作正常,但我想在我的表单中显示我的新闻所具有的当前值,所以我在我的值中使用我的值= <?php echo $read['title'] ; ?>

但是有了约会,我得到两个错误:

我在输入中收到此错误: 注意:未定义的变量:西班牙语和未定义的变量:英语

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

你知道如何使用$ 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>

2 个答案:

答案 0 :(得分:1)

<?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();         
    }

    }

答案 1 :(得分:1)

通知您可以通过php.ini文件关闭或只使用error_reporting(0);,但请确保此处不会显示任何其他错误。 您可以在网站上线后启用此功能。 这可以帮到你!