2010-11-26 15 views
0

グローバルキーワードを使用すると、送信ボタンを押したときにグローバルキーワードを設定して、スクリプトの上部が動作するようにすることはできますか?PHPグローバル質問

スクリプトの上部にあります。

if(!isset($u)){ 
    echo 'the $u has no value'; 
} else if(isset($u)){ 
    echo 'the $u has a value of yes'; 
} 

スクリプトの下部にあります。

常に行$ UまでFALSEを返す($ U)ISSETよう

if(!isset($u)){ 
    echo 'the $u has no value'; 
} else if(isset($u)){ 
    echo 'the $u has a value of yes'; 
} 

PHPは、線でコード行を読み込む前に、あなたは

if (isset($_POST['submit'])){ 
    global $u; 
    $u = 'yes'; 
} 

を実行する必要が

if (isset($_POST['submit'])){ 
    global $u; 
    $u = 'yes'; 
} 

答えて

0

= 'はい';実行されます。

+0

ですが、私は他の方法の周りにそれを必要とそれがグローバル変数の目的を倒すのですか? – HELP

+0

なぜあなたはそれを逆にする必要がありますか、あなたは何を解決しようとしていますか? –

1

これは、グローバルな意味ではありません。グローバルとは、変数が関数などの内部でアクセスできることを意味します。セッションを使用したいと思うかもしれません。これには、

sesssion_start(); 

どこか(通常はスクリプトの先頭)が含まれます。 変数は、あなたがセッションにuの変数を格納し、提出した後、それを取得しますあなたの場合は

$_SESSION['name'] = $foo;//Store a variable into the session 
$bar = $_SESSION['bar'];//Retrieve a variable from the session 

を行うことによって格納し、検索することができます。

フォームからこの値を渡すだけの理由はありますか?彼らは同じスコープ内にあるため、グローバル

2

は、コードの両方の部分がグローバルである場合、つまりは、関数に含まれていない

実行順序しない、スコープに関連して、「グローバル」のキーワードは、効果がありません

別の答えが正しく指摘したように、あなたの問題は、実行の問題のためではなく、スコープの問題