Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Почему не работает переменная??

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (2): [1] 2 »   

> Без описания
Extazy
Отправлено: 02 Июня, 2015 - 18:57:13
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Ув. гуру!!!!!
Прошу помогите в решение!!

Вот кусок кода:

PHP:
скопировать код в буфер обмена
  1.      print $cpa;
  2.         if (@$GLOBALS['utm_check'])
  3.         {
  4.       print $cpa;
  5.       print 1;
  6.         }
  7.         else
  8.                 print @$GLOBALS['utm'];


Первый print $cpa; работает.
print 1 тоже работает.

А второй print $cpa; ничего не выдаёт! ПОЧЕМУ??? (я ща повешусь!!! Не понял Не понял )
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Июня, 2015 - 19:01:30
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Extazy пишет:
Отправлено: 02 Июня, 2015

Extazy пишет:
2015

Extazy пишет:
$GLOBALS


Нажмите для увеличения
 
 Top
Extazy
Отправлено: 02 Июня, 2015 - 19:02:33
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Код не мой - подругому вообще не работает. Помогите, пожалуйста - почему не работает?
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Июня, 2015 - 19:04:33
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Extazy пишет:
Код не мой
Если ты в него залез -- он уже твой.
И руки теперь не отмоешь пока дрисьню там не ототрёшь.
Пили.
 
 Top
Extazy
Отправлено: 02 Июня, 2015 - 19:07:12
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Эти глобальные переменные мне прописал здесь опытный прогер и всё работает. Но мне надо переписать код.. и я ничо не понимаю почему теряетя переменная. Ну помогите! Моя смерть будет на вашей совести!
У меня рабочий день подходит к концу Огорчение


Отредактировано модератором: DeepVarvar, 02 Июня, 2015 - 19:11:58
почти матюки, не надо так.
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Июня, 2015 - 19:13:45
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Extazy пишет:
глобальные переменные мне прописал здесь опытный прогер
Опытный по прописыванию глобальных переменных и собак? Радость

Выставляй вывод ошибок на максимум, убирай собаки и ставь проверки на isset() и/или array_key_exists()
 
 Top
Extazy
Отправлено: 02 Июня, 2015 - 19:17:30
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




вот такой код:
PHP:
скопировать код в буфер обмена
  1.     print $cpa;
  2.         if (@$GLOBALS['utm_check'])
  3.         {
  4.                 print $GLOBALS['utm_check'];
  5.         print 2;
  6.         print $cpa;
  7.         }
  8.         else
  9.                 print @$GLOBALS['utm'];


выводит:


То есть все переменные существуют. Я не понимаю чего ещё проверять..
$cpa вначале имеет значение..
$GLOBALS['utm_check'] равен 1 - выполняются условия далее
и тут же $ccpa теряет значение Огорчение Огорчение Огорчение Огорчение
 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Июня, 2015 - 19:18:07
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Extazy пишет:
Моя смерть будет на вашей совести
Т.е. ты такой зашел на форум и все, кто отпишется в твоей теме, тебе сразу должны и виноваты. Повторить Тома Круза?
 
 Top
Extazy
Отправлено: 02 Июня, 2015 - 19:18:43
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Огорчение Огорчение
щас соберусь с мыслями..

(Отредактировано автором: 02 Июня, 2015 - 19:20:07)

 
 Top
DeepVarvar Супермодератор
Отправлено: 02 Июня, 2015 - 19:20:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Ну дебаж его, что ты как маленький, это ж не женщина.
Репортинги на максимум выкрутил?
Собак убрал?
 
 Top
Extazy
Отправлено: 02 Июня, 2015 - 19:34:10
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




index.php содержит:
PHP:
скопировать код в буфер обмена
  1. $utm_check = 1;
  2. include ENGINE_DIR.'/modules/my-utm.php';
  3. unset($utm_check);


my-utm.php содержит:
PHP:
скопировать код в буфер обмена
  1.         if (!function_exists('filter_utm')) {
  2.         function filter_utm( $s )
  3.         {
  4.                 $s = str_replace(chr(0), "", $s);
  5.                 $s = strip_tags($s);
  6.                 $s = str_replace('<', '', $s);
  7.                 $s = str_replace('>', '', $s);
  8.                 $s = str_replace("\r", "", $s);
  9.                 $s = str_replace("\t", "", $s);
  10.                 $s = str_replace("\n", "", $s);
  11.                 return trim($s);
  12.         }
  13.         }
  14.         //print $cpa;
  15.         if (@$GLOBALS['utm_check'])
  16.         {
  17.                 $GLOBALS['utm'] = @$_COOKIE['utm'];
  18.                 if (isset($_GET['utm_source']))
  19.                 {
  20.                         $utm_source = filter_utm(@$_GET['utm_source']);
  21.                         $utm_content = filter_utm(@$_GET['utm_content']);
  22.                         $utm_term = filter_utm(@$_GET['utm_term']);
  23.                         $utm_medium = filter_utm(@$_GET['utm_medium']);
  24.                         $utm_campaign = filter_utm(@$_GET['utm_campaign']);
  25.  
  26.                         $GLOBALS['utm'] = sprintf("sa=%s&sa2=%s&sa3=%s&sa4=%s&sa5=%s",
  27.                                 $utm_source,
  28.                                 $utm_content,
  29.                                 $utm_term,
  30.                                 $utm_medium,
  31.                                 $utm_campaign
  32.                         );
  33.                         setcookie("utm", $GLOBALS['utm'], 0, '/');
  34.                 }
  35.         }
  36.         else
  37.                 print @$GLOBALS['utm'];


После чего движок Datalife выводит на странице значение $GLOBALS['utm'] ...
Стоит мне заменить $utm_source на $cpa, как код перестаёт что-либо выводить.
При этом закоменченная строка //print $cpa; выводит "test"

не понимаю...
(Добавление)
Пишет:
PHP:
скопировать код в буфер обмена
  1. Notice: Undefined variable: cpa in /engine/modules/my-utm.php on line 48

(Добавление)
Ещё пишет:
PHP:
скопировать код в буфер обмена
  1. Notice: Undefined index:  utm_check in /modules/my-utm.php on line 36

(Добавление)
Я в отчаянии.. так несложно псих расстройство заработать Ниндзя
 
 Top
Viper
Отправлено: 02 Июня, 2015 - 20:28:49
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Extazy 21-ый век на дворе, а вы все GLOBALS из средних веков используете.

Написание @ перед чем либо, кроме крайних случаев где это действительно необходимо - дурной тон и признак говнокода.

Extazy пишет:
При этом закоменченная строка //print $cpa; выводит "test"
закоменченая строка ничего не выводит. Если вы так решили значит выводится это в другом месте либо паранойя.

По поводу ошибок:
1. Переменная нигде не обозначена.
2. В массиве нет ключа с именем utm_check.

В первом вашем посте ничего не выводится т.к. у вас ошибка в if. И скорее всего register_globals = off в настройках php.


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Extazy
Отправлено: 02 Июня, 2015 - 21:27:10
Post Id


Посетитель


Покинул форум
Сообщений всего: 490
Дата рег-ции: Янв. 2010  


Помог: 0 раз(а)




Viper, спасибо за попытку помочь!

Цитата:
закоменченая строка ничего не выводит.

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

Я разобрался в причине.
Данный код вызывался на моей страницие несколько раз (равен кол-ву статей на главной).
А переменная $cpa имела разные значения.
Таким образом в одну куку я пытался запихнуть несколько значений. Огорчение
Не точное описание проблемы.. я до конца не понял.. но корень зла в выводе нескольких статей..

Вы не могли мне помочь, потому что я не предоставил всю информацию.. понятия не имел в какую сторону искать Огорчение

Спасибо всем за участие, Вы лучшие!

(Отредактировано автором: 02 Июня, 2015 - 21:29:53)

 
 Top
Panoptik
Отправлено: 02 Июня, 2015 - 22:24:15
Post Id



Постоянный участник


Покинул форум
Сообщений всего: 2493
Дата рег-ции: Нояб. 2011  
Откуда: Одесса, Украина


Помог: 131 раз(а)




та незачто. обращайся если что


-----
Just do it
 
 Top
Viper
Отправлено: 02 Июня, 2015 - 22:27:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 4555
Дата рег-ции: Февр. 2007  
Откуда: Симферополь


Помог: 98 раз(а)




Тут на форуме клуб экпертов-экстрасенсов, так что даже если вы не смогли описать свою проблему, мы можем приблизительно угадать в каком направлении вам копать Улыбка


-----
Список фильмов с описанием, блекджеком и... для Joomla? -> https://киноархив[dot]com
Демо нового движка для сайта php.su -> php[dot]su, проект на гитхабе
 
 Top
Страниц (2): [1] 2 »
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB