2012-03-14 7 views
1

Я получаю эту ошибку, а просто введя страницу регистраUndefined индекс «приглашение» ошибку на странице регистрации

Undefined index: invite 

Но когда я вхожу ту же страницу с

url?invite=2000 this error is not shown... 

Вторая линия ниже код показывает ошибку.

$mySess = JFactory::getSession();  
    $_SESSION['fromid'] = $_GET['invite']; 
    $fromid = $_SESSION['fromid']; 

Как я могу инициализировать «пригласить», если его не использовать в URL ...

+0

[$ _GET переменной PHP] (http://www.google.hu/search?sclient=psy-ab&hl=hu&site=&source=hp&q=PHP+%24_GET + Variable & btnG = Keres% C3% A9s) – Filkor

ответ

4

Используйте функцию isset, например, так:

$mySess = JFactory::getSession();  
$_SESSION['fromid'] = isset($_GET['invite']) ? $_GET['invite'] : ''; 
$fromid = $_SESSION['fromid']; 
1

Это в основном решение Мэтта, но без комплекс if-then-else -что.

$mySess = JFactory::getSession();  

// this value will be used if you did not pass the parameter invite to your script 
$inviteDefaultValue = -1; 

// isset checks if the variable exists. 
// you can also use array_key_exists("invite", $_GET) 
if (isset($_GET['invite'])) 
{ 
    // $_GET['invite'] is set, so we can use it 
    $_SESSION['fromid'] = $_GET['invite']); 
} 
else 
{ 
    // $_GET['invite'] is not set, so use your default value here 
    $_SESSION['fromid'] = $inviteDefaultValue; 
} 

$fromid = $_SESSION['fromid']; 

http://php.net/manual/en/function.isset.php

http://php.net/manual/en/function.array-key-exists.php

+1

Трудно, возможно, но я бы не сказал сложный. :) Хорошее дополнение к возможным решениям тем не менее. –

+1

Я просто понял, что пользователь, который не знает о 'isset', также не знает о сокращении условий. Не помешает быть уверенным! :-п – Basti