PHP - 通知 : Undefined variable happening twice

标签 php mysql

我在加载页面时遇到以下两个错误:

Notice: Undefined variable: realtor in C:\Program Files\EasyPHP-5.3.9\www\cglst\images\addform.php on line 255

Notice: Undefined variable: phone in C:\Program Files\EasyPHP-5.3.9\www\cglst\images\addform.php on line 256

不过,我确实定义了这两个变量,所以我不明白为什么会出现这些错误。这是我的代码:

function addListing() {//if data was provided, insert it into database and confirm
    //this will allow everything to be sanitized properly
    require_once "sanitize.php";
    $submitted = false;

    //Checking if values were passed
    if (isset($_POST['area']) &&
        isset($_POST['price']) &&
        isset($_POST['address']) &&
        isset($_POST['bedrooms']) &&
        isset($_POST['fullbath']) &&
        isset($_POST['halfbath']) &&
        isset($_POST['sqft']))
        //if passed, sanitize and set variables accordingly
        {
            $area = sanitizeOne(get_post('area'), 'plain');
            $price = sanitizeOne(get_post('price'), 'int');
            $address = sanitizeOne(get_post('address'), 'plain');
            $bedrooms = sanitizeOne(get_post('bedrooms'), 'int');
            $fullbath = sanitizeOne(get_post('fullbath'), 'int');
            $halfbath = sanitizeOne(get_post('halfbath'), 'int');
            $sqft = sanitizeOne(get_post('sqft'), 'int');
            $submitted = true;
        }

    //optional fields
    if (isset($_POST['remarks']))
        {
            $remarks = sanitizeOne(get_post('remarks'), 'plain');
        }
    else
        {$remarks = ' ';}

    if (isset($_POST['realtor']))
        {
            $remarks = sanitizeOne(get_post('realtor'), 'plain');
        }
    else
        {$realtor = "Anne-Marie Pelletier";}

    if (isset($_POST['phone']))
        {
            $remarks = sanitizeOne(get_post('phone'), 'plain');
        }
    else
        {$phone = "201.710.5500";}

    if ($submitted) {
        $query = 'PREPARE statement FROM "INSERT INTO bix(area, price, address, bedrooms, 
                fullbath, halfbath, sqft, remarks, realtor, phone) VALUES(?,?,?,?,?,?,?,?,?,?)"';
        mysql_query($query);
        $query = 'SET 
                    @area = "' . $area . '"' .
                    '@price = "' . $price . '"' .
                    '@address = "' . $address . '"' .
                    '@bedrooms = "' . $bedrooms . '"' .
                    '@fullbath = "' . $fullbath . '"' .
                    '@halfbath = "' . $halfbath . '"' .
                    '@sqft = "' . $sqft . '"' .
                    '@remarks = "' . $remarks . '"' .
                    '@realtor = "' . $realtor . '"' . //line 255
                    '@phone = "' . $phone . '"'; //line 256
        mysql_query($query);
        $query = 'EXECUTE statement USING @area,@price,@address,@bedrooms,@fullbath,@halfbath,@sqft,@remarks,@realtor,@phone';
        mysql_query($query);
        $query = 'DEALLOCATE PREPARE statement';
        mysql_query($query);
        return true;
    }
}
function get_post($var)
{
    return mysql_real_escape_string($_POST[$var]);
}

这只是在提交时向数据库添加一个条目(页面向自己提交一个表单来执行此操作)

最佳答案

你的问题在这里,一个剪切'n'粘贴错误;

if (isset($_POST['realtor']))
{
    $remarks = sanitizeOne(get_post('realtor'), 'plain');
}
else
    {$realtor = "Anne-Marie Pelletier";}

如果将 realtor 设置为 post 参数,则将 post 变量的值分配给 $remarks 而不是 $realtor

$phone 有完全相同的问题。

关于PHP - 通知 : Undefined variable happening twice,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9762863/

相关文章:

javascript - 从数据库中获取嵌套 JSON 的最佳方法是什么?

php - 带有参数的 Symfony2 表单 query_builder

php - 如何在php中从 parent 那里获取孙子

mysql - 具有 Rails 多态关联的 N+1 查询

mysql 多个多对多连接

mysql 锁等待超时,尝试重启事务

php - 将一个表链接到第二个表并多次将数据从第一个表拉到第二个表

基于 PHP 的应用程序/Web 登录框架?

java - 用mysql和jdbc实现下拉列表

mysql - 需要帮助编写更新查询并替换 mysql 中的许多字符串值