2015-05-16 3 views
1

Мне не удалось выяснить, как это сделать, но я думаю, что это можно сделать.вызов isset из функции внутри класса

Я хочу получать информацию о названии ($ime) и отображать drugiDio() после получения. Я использую isset, так как я также не хочу отображать prviDio() после ввода имени, но я думаю, что эту часть я могу найти в покое.

Вот код, который я попробовал:

<?php 
class igra { 
    function prviDio() { 
     global $lang; 
     $kreni = $lang['kreni']; 
     echo "<h1>".$lang['naslov']."</h1><p>".$lang['opis']."</p>"; 
     echo '<form metod="post">' 
      .$lang['unesite-ime']. 
      '<input name="ime" type="text" id="ime" size="40" maxlength="40" /><br /><br /> 
      <input type="submit" name="kreni" value="'.$kreni.'" /></form>'; 
    } 
    function drugiDio() { 
     global $lang; 
     $ime=$_GET['ime']; 
     echo $lang['vase-ime']. $ime; 
    } 
} 

$igra = new igra; 
echo $igra->prviDio(); 
if(isset($igra->$_GET['kreni'])) { 
    echo $igra->drugiDio(); 
} 
?> 

Что я могу сделать с этим для того, чтобы работать ?:

if(isset($igra->$_GET['kreni'])) { 
    echo $igra->drugiDio(); 
} 

Я также попытался

if(isset($igra->_GET['kreni'])) { 
    echo $igra->drugiDio(); 
} 

и многие другие но ни один из них не работает ...

Текст из переменных находится в языковых файлах. Это всего лишь часть PHP. На странице все видно, и он отлично работает, когда я эхо-имя без isset(), как echo $igra->drugiDio();.

+1

Что такое $ _GET ['kreni']? $ _GET является суперглобальным, вам не нужно обращаться к нему как к классу. – Devon

+0

@ Devon Я этого не знал, спасибо. – Ikerepc

ответ

3

ли это:

if(isset($_GET['kreni'])) { 
echo $igra->drugiDio(); 
} 

Примечание: $ _GET и $ _POST являются superglobal переменные, так что вы можете получить доступ к ним непосредственно, при условии, что они установлены. Для получения дополнительной информации, пожалуйста, прочтите manual here.

+0

Я считаю, что он пытается проверить, имеет ли класс $ igra член, чье имя передается в $ _GET ['kreni']. т.е. если вы перешли в «foo», он хочет увидеть, задано ли $ igra-> foo перед вызовом $ igra-> drugiDio() – fbas

+0

@fbas, насколько я понимаю, @lkerepc пытается определить, является ли пользователь ввел его имя. Посмотрите на код: $ _GET ['kreni'] - это что-то вроде «submit». Итак, если форма из метода 'prviDio' отправлена, он хочет повторить имя пользователя (возможно), которое равно $ _GET ['ime']. – DWand

+0

Вы, вероятно, правы. Я, вероятно, слишком много смотрел на него. – fbas

Смежные вопросы