2017-01-12 4 views
0

私は、MySQLのデータベース、PHPセッションなどを使ってゼロから小さなWebサイトを作成しました。私のローカルWAMPのPHP 5.4で作成しました。PHP 5.6から5.6へのアップグレード:GET変数の問題

PHP 5.6を実行している私のオンラインホストにウェブサイトファイルをアップロードするときに、私はGET変数すべてに問題がありますが、それは機能的ではないようです。私のローカルコンピュータで

// Requested URL : index.php?title=Hello 
<?php 

echo $_GET["title"]; // works 

?> 

サーバーの場合:

// Requested URL : index.php?title=Hello 
<?php 

echo $_GET["title"]; // empty. 

?> 

クレイジー!私は何が起こるかわかりません... "PHP 5.4.xからPHP 5.6.xへの移行"と "PHP 5.5.xからPHP 5.6.xへの移行"を読んでいますが、働いていない。

ご存知ですか?

EDIT 1月13日:私は非常に単純なフォームページ作成:

<?php 
echo $_POST["texttest"]."<hr />"; 
?> 

<form action="?" method="POST"> 
<input type="text" name="texttest" class="texttest" id="texttest" /> 
<input type="submit" value="test"> 
</form> 

を.. POSTのVaRは表示されません。

暫定ヘッダがあなたのini変数はホスト上にあるものを見るためのphpinfoと

+1

何か他のもの...の行動がなければならない '$ _GET'が5.6 –

+0

に5.4から変更されていない、あなたのサーバー上でURL書き換えを使用していますか? –

+0

全くありません!もし私が "if(isset($ _GET [" title "])){" - >それは常に偽でテストする!信じられないほど、私は知っている! – Paolito75

答えて

2

セットアップテストスクリプトを示している:私は、フォームを送信した後、クロムコンソールで見てみると、私がメッセージを持っています。

<?php 
phpinfo(); 
?> 

http://php.net/manual/en/ini.core.php#ini.variables-order 変数順序は、特定の方法で設定されている場合 - $ _GETを使用できない場合があります...

鉱山がに設定されています:あなたはあなたのへのアクセス権を持っている場合

; This directive determines which super global arrays are registered when PHP 
; starts up. G,P,C,E & S are abbreviations for the following respective super 
; globals: GET, POST, COOKIE, ENV and SERVER. There is a performance penalty 
; paid for the registration of these arrays and because ENV is not as commonly 
; used as the others, ENV is not recommended on productions servers. You 
; can still get access to the environment variables through getenv() should you 
; need to. 
; Default Value: "EGPCS" 
; Development Value: "GPCS" 
; Production Value: "GPCS"; 
; http://php.net/variables-order 
variables_order = "GPCS" 

php.ini - あなたは単にそれを変更することができます。

EDIT: OK - variables_order = "GPCS"です。
ソーステストコードがこれに編集されている場合、結果はどうなりますか?

<?php 
echo 'This is my page'; // should always print- just to make sure you are on the correct page 
echo '$_REQUEST:'.print_r($_REQUEST,true); 
echo '$_GET: '.print_r($_GET,true); 
echo '$_POST: '.print_r($_POST,true); 
echo $_GET["title"]; // empty. 
?> 
+1

こんにちはアンソニー、私は同じconf:GPCS、screenshotを参照してください:http://img11.hostingpics.net/pics/702676extract.png – Paolito75

+0

@ Paolito75 - 私は答えを編集しましたので、少しはっきりしました。コメントでうまくいく...) - それが問題を指摘するのに役立ったかどうかを教えてください。 :-) –

+1

あなたのコードは動作します...私のURLパラメータは、REQUEST配列とGET配列に表示されます。しかし、私はまだ他の場合に問題を抱えています。私はオリジナルの投稿を非常に簡単なテストで編集しました。 – Paolito75

関連する問題