Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.57/14: Рейтинг темы: голосов - 14, средняя оценка - 4.57
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
1

Определить переменную

08.08.2013, 22:36. Показов 2877. Ответов 21
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здрасте, подскажите пожалуйста, как можно определить переменную такого вида..

PHP
1
$glb->input['test']
Ругается постоянно...

Undefined index: test in /var/www/test-site.ru/source/sources/index.php

пробовал так:

PHP
1
2
if(isset($glb->input['test']))
{ .... etc...
Но она не определяется...
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
08.08.2013, 22:36
Ответы с готовыми решениями:

Определить переменную
</td><td width="150" style=" background:'.$background.' color: #ffffff;" class="td...

как определить переменную?
зада следующая: при загрузки фотографии переменная $aid не определяется $aid =...

Как определить стринг переменную перед switch case чтобы происходило
Как определить стринг переменную перед switch case чтобы происходила ее обработка в одном из case...

Как определить стринг переменную перед switch case чтобы происходило
Как определить стринг переменную перед switch case чтобы происходила ее обработка в одном из case ,...

21
296 / 284 / 84
Регистрация: 10.05.2013
Сообщений: 920
08.08.2013, 22:39 2
это массив...

Добавлено через 2 минуты
А она не private?
0
901 / 833 / 198
Регистрация: 28.06.2012
Сообщений: 1,607
Записей в блоге: 4
08.08.2013, 22:43 3
PHP
1
$glb->input='test';
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.08.2013, 22:45 4
Цитата Сообщение от Dealiss Посмотреть сообщение
А она не private?
если бы она была закрытой, то и ошибку бы получили не нотайс
Цитата Сообщение от noobasik Посмотреть сообщение
как можно определить переменную такого вида
определить переменную такого вида, или же определить ее наличие?

Добавлено через 1 минуту

Не по теме:

Soldado, не, это совсем не то.

0
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
08.08.2013, 22:47  [ТС] 5
Определить так что-бы этой ошибки не было))))

А она не private?
Вроде public
0
296 / 284 / 84
Регистрация: 10.05.2013
Сообщений: 920
08.08.2013, 22:49 6
Но, Undefined index - это неопределенный элемент...
Я понял. Получается что такой массив существует, но ключа такого нету?
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
08.08.2013, 22:55 7
PHP
1
$glb->input = array('test' => 'tratata');
Добавлено через 4 минуты
Цитата Сообщение от Dealiss Посмотреть сообщение
Получается что такой массив существует, но ключа такого нету?
получается
PHP
1
2
class A { public $input; }
$glb = new A;
, ну или
PHP
1
$glb = new stdClass;
в любом случае, чтобы $input был массивом, его нужно проинициализировать. как минимум, так:
PHP
1
class A { public $input = array(); }
но по индексу test все равно не получится обратиться до тех пор, пока его туда не запишите. один из вариантов:
PHP
1
2
$glb = new A;
$glb->input['test'] = 'value';
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
08.08.2013, 22:56 8
даже проверил на всякий случай..
PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
error_reporting(-1);
class A
{
    public $foo = array('foo'=>'foo','bar'=>'bar');
}
$a = new A();
if(isset($a->foo['lol']))
    echo $a->foo['lol'];
else
    echo 'NULL';
echo '<br>';
echo $a->foo['lol'];
 
/*Вывод:
NULL
 
Notice: Undefined index: lol on line 12
*/
вы где-то намудрили..
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
08.08.2013, 23:06 9

Не по теме:

ну или можно сделать поле $input объектом класса, реализующего ArrayAccess, или метод __get, тогда можно обойтись и без инициализации... если предусмотреть такое поведение в реализации



Добавлено через 8 минут

Не по теме:

ой, не, про __get это я загнул, это не то

0
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
10.08.2013, 02:24  [ТС] 10
блин, форумчане ну подскажите запарился... не выходит и всё....

Если страница такого вида...

PHP
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
<?php
new test_main;
 
class test_main
{   var $search = 0;
    var $id = 0;
    var $total;
    
    function test_main()
    {   global $DB, $glb;
    
    $glb->load_lg(.....);
    ....
    
    .
    ....
    
    ....
    
    .
    }
    
    function create_rows($row)
    {
    global $glb;
    
    $data['test'] = $row['test'];
    
    if ($row['test'] ="")
    {   $data['test_print'] = "";}
    else
    { $data['test_print'] = $glb->input['test'];}
    
    .....
    
    
    .....
    ....
    
    ......
    
?>

$data['test_print'] это на отображение в темплейт...

Если делаю как вы объяснили белая страница без ошибок... или 500 ошибка... даже понять не могу, что делаю не так...

Объясните чуток проще, если Вам не сложно...

Повторю, как избавиться от ошибки:

Undefined index: test in /var/www/test-site.ru/source/sources/index.php

Или как правильно прописать isset, если он тут нужен?
Пробывал так:
PHP
1
2
if(isset($glb->input['test']) AND ($row['test'] =""))
{ .... etc
,но не выходит....
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.08.2013, 10:02 11
так оно ругается не на это
PHP
1
if( isset($glb->input['test'], $row['test']) && ($row['test'] ="") )
0
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
10.08.2013, 21:43  [ТС] 12
оно ругается вот на это:

PHP
1
2
3
.....
    else
    { $data['test_print'] = [B]$glb->input['test'][/B];}
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
10.08.2013, 21:44 13
покажите полностью условие, начиная с if
0
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
11.08.2013, 01:33  [ТС] 14
PHP
1
2
3
4
    if( isset($glb->input['test'], $row['test']) && ($row['test'] =""))
    {   $data['test_print'] = "";}
    else
    { $data['test_print'] = $glb->input['test'];}
0
296 / 284 / 84
Регистрация: 10.05.2013
Сообщений: 920
11.08.2013, 01:51 15
Не по теме...
PHP
1
{ $data['test_print'] = [B]$glb->input['test'][/B];}
Разве можно ББ теги в PHP скрипт писать?
0
Почетный модератор
Эксперт HTML/CSSЭксперт PHP
16844 / 6723 / 880
Регистрация: 12.06.2012
Сообщений: 19,967
11.08.2013, 07:52 16

Не по теме:

Dealiss, это он, скорее всего, здесь попытался выделить



Добавлено через 1 минуту
noobasik, ну вот о чем вы думаете при составлении такого условия?
Читаем условие по русски:
Если "существует" переменная, то ничего с ней не делаем. Иначе пытаемся ее вызвать.
Если яблоки дома есть, то ничего не делаем. А если их нет - мы пытаемся съесть яблоко
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
11.08.2013, 08:50 17
замечу также, что условие всегда будет false, т.к.
Цитата Сообщение от noobasik Посмотреть сообщение
PHP
1
&& ($row['test'] ="")
это false, а A && false === false
0
4 / 4 / 3
Регистрация: 28.07.2010
Сообщений: 186
11.08.2013, 17:06  [ТС] 18
А если в $row['test'] есть данные и они не пустые?


KOPOJI
А как правильно?
0
601 / 468 / 73
Регистрация: 22.01.2009
Сообщений: 1,180
Записей в блоге: 1
11.08.2013, 18:14 19
Цитата Сообщение от noobasik Посмотреть сообщение
А если в $row['test'] есть данные и они не пустые?
тогда вы им присваиваете пустое значение. "=" -- оператор присваивания, а не сравнения
0
KOPOJI
11.08.2013, 19:48     Определить переменную
  #20

Не по теме:

Цитата Сообщение от noobasik Посмотреть сообщение
KOPOJI
А как правильно?
Правильно так:
KOPOJI,

0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.08.2013, 19:48

Как вставить переменную java скрипт в php переменную
Здравия, форумчане! Извиняюсь за некорректность заголовка... Подскажите новичку, есть ли...

Как вставить в переменную текст и переменную вместе?
Вопрос для бывалых программистов наверное простой, но не где пока не нашел ответа. Подскажите...

Как сохранить в переменную другую переменную + текст?
Нужно сохранить в одной переменной несколько переменных + текст, что бы потом все это дело вывести...

Переменную из цикла в js записать в переменную php
Есть цикл на JS for (glavnoe = 0;glavnoe&lt;=3;glavnoe++){ код js код php } нужно,в переменную $n...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru