[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Не могу определить переменную $_GET в условии
bur
Может быть кто знает... почему не работает такая конструкция?:


--index.php--
if(defined('$_GET['mail']') === false )
{
$_GET['mail']=0;
};
---------------



Спустя 42 минуты, 14 секунд (20.02.2009 - 18:47) modobaks написал(а):
сложны вопрос, а что ты хотел проверить этим? - существование константы.

Спустя 23 минуты, 25 секунд (20.02.2009 - 19:10) Viking написал(а):
видимо тс имел ввиду if(isset('$_GET['mail']') == false )

Спустя 3 минуты, 58 секунд (20.02.2009 - 19:14) kirik написал(а):
А зачем переменная в одинарных кавычках?

Спустя 14 минут, 52 секунды (20.02.2009 - 19:29) Viking написал(а):
почему у афтара - не знаю, а у меня в честь праздника smile.gif

Спустя 15 минут, 28 секунд (20.02.2009 - 19:44) bur написал(а):
Этим я хотел проверить существование переменной, и если ее нет, то определить. Но к сожалению постоянно вываливает синтас. ошибка. sad.gif Т.е. пробывал что-то типа:

if(defined("$_GET["mail"]") === false) {define("$_GET["mail"]",0);};

Спустя 5 минут, 1 секунда (20.02.2009 - 19:50) sergeiss написал(а):
Дык... Тебе же сказали уже - убери лишние кавычки!!!
И плюс к этому проверку надо делать через isset, потому что defined проверяет константу, а isset - переменную.
PHP
if( isset( $_GET['mail'] ) ) .... // тут делаем действия

И не назначай ничего в $_GET['mail'], а используй для этого отдельную переменную!
Например,
PHP
$mail=isset ( $_GET['mail'] )  ? $_GET['mail'] : false;

Спустя 1 минута, 48 секунд (20.02.2009 - 19:51) bur написал(а):
Цитата (Viking @ 20.02.2009 - 16:10)
видимо тс имел ввиду if(isset('$_GET['mail']') == false )

При такой конструкции:

Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING, expecting T_STRING or T_VARIABLE or '$' in var.php on line 4

sad.gif sad.gif

Спустя 39 секунд (20.02.2009 - 19:52) jetistyum написал(а):
а еще переменная определяется совсем не функцией define ()
и проверяется не is_defined()
ты спутал с константами...
Кури доки!

Спустя 17 минут, 50 секунд (20.02.2009 - 20:10) bur написал(а):
Цитата (sergeiss @ 20.02.2009 - 16:50)
Дык... Тебе же сказали уже - убери лишние кавычки!!!
И плюс к этому проверку надо делать через isset, потому что defined проверяет константу, а isset - переменную.
PHP
if( isset( $_GET['mail'] ) ) .... // тут делаем действия

И не назначай ничего в $_GET['mail'], а используй для этого отдельную переменную!
Например,
PHP
$mail=isset ( $_GET['mail'] )  ? $_GET['mail'] : false;

Если не трудно, почему не желательно назначать в $_GET['XXXX']? Т.е. у меня такая ситуация:

html:\\www...ru\index.php?mail=1

--index.php--
require_once('var.php');

if ($_GET['mail'] == 1) {echo("Удачно");};

--var.php--

И вот тут эта конструкция.

Просто при сравнении в index.php вылазит ошибка Undefined... sad.gif

Кавычки убрал, спасибо!!! Помогло!!!! rolleyes.gif

Спустя 1 час, 23 минуты, 30 секунд (20.02.2009 - 21:33) modobaks написал(а):
Рано спасибо сказал. smile.gif я думаю это еще не конец ... biggrin.gif

Спустя 37 минут, 59 секунд (20.02.2009 - 22:11) bur написал(а):
Да я только шесть часов назад начал изучать пхп под конкретный проект. Думаю вопросов будет много. biggrin.gif

Спустя 20 минут, 22 секунды (20.02.2009 - 22:32) sergeiss написал(а):
Цитата (bur @ 20.02.2009 - 20:10)
Если не трудно, почему не желательно назначать в $_GET['XXXX']

Потому что этот массив формируется системой и является "суперглобальным". Чем меньше его трогаешь, тем лучше (надежнее) работает твой скрипт.

Цитата (bur @ 20.02.2009 - 22:11)
Да я только шесть часов назад начал изучать пхп под конкретный проект. Думаю вопросов будет много.  biggrin.gif

Я бы порекомендовал почитать этот форум. Потрать хоть день или два, но зато ты сразу получишь ответы на множество вопросов smile.gif Послушай этот умный совет...
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.