Вероятно, простой - PHP / CodeIgniter 'Undefined Variable' - PullRequest
1 голос
/ 19 апреля 2010

Доброе утро

Это, вероятно, легко, но я едва выспался прошлой ночью и изо всех сил пытаюсь что-то понять.

У меня есть библиотека CodeIgniter, которую я создал, которая называется Points.php. Вот содержимое очков:

<?php if (!defined('BASEPATH')) exit('No direct script access allowed');

class Points
{

    function __construct()
    {
        $this->ci =& get_instance();
        $this->ci->load->database();
    }

    function getpoints($params)
    {
        echo $userid;
    }

}

/* End of file Points.php */
/* Location: ./application/libraries/Points.php */ ?>

Как вы видите, я создаю это медленно, и оно остается простым.

В одном из моих представлений я хочу, чтобы он отображал количество «точек» (которое в настоящее время является просто третьим сегментом URI). Я называю это так:

<p>Points: <?php $params['user_id']=$this->uri->segment(3,1); echo $this->points->getpoints($params); ?></p>

Предупреждение, которое я получаю в этом виде:

Произошла ошибка PHP

Серьезность: Уведомление

Сообщение: неопределенная переменная: идентификатор пользователя

Имя файла: library / Points.php

Да, я знаю, что это такая простая проблема, но я пробовал много вещей. Некоторые варианты включают отображение в Points.php $ params ['userid']; и т.д. Но я не понимаю, что я делаю не так?

Это мой первый класс CodeIgniter, и я упал на первом шаге, хаха ...

Ответы [ 2 ]

4 голосов
/ 19 апреля 2010

Если это не

function getpoints($params)
{
    return $params['user_id']; // since you're passing the whole array
}

Используйте return вместо echo, вы уже используете эхо на другой стороне

0 голосов
/ 19 апреля 2010

Дерьмо неправильно прочитал ваш исходный код, вам нужно обращаться к нему как к массиву, а не к одной переменной.

$params['userid']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...