2017-11-29 3 views
-2

私はPHPを学んだし、私は問題にブロックします。私はこの問題についての記事を読んで、私はまだ理解していない。

これは私のコードです(index.phpのから):

$page = $_GET['page']; 
$page = $_GET['action']; 

if ($page == "operation" && $action == "liste"){ 
    include("operationForm.php"); 
    } 
if ($page == "produits" && $action == "ajout") { 
    include('../Produits/AddProductForm.php'); 
    } 

私はこのメッセージに遭遇移動しようとすると:

(404が見つかりません:/Fournisseurs/index.phpこの サーバー上に見つかりませんでした) 。

私は本当に問題がどこに見えません。この問題を解決するためのヒントや教訓はありますか?

+0

細かいインデックスの 'action'エラーが発生するはずです –

+2

[ask]と[mcve]の作成方法をお読みください。これまでに示したコードでは、問題を再現するには十分ではありません。 – CBroe

+0

404はコードとは関係がありません。コードにアクセスしていないため、コードはまったく実行されていません。あなたの 'index.php'ファイルを*見つけ出す*ことができたら、' $ action'をどこにでも設定していないという事実を修正する必要があります。コードのどれも動作しません。 – ceejayoz

答えて

0

$page = $_GET['page']; $page = $_GET['action'];

あなたは同じ変数名を使用しています!

これは良く見える:P 404については

$page = basename($_GET['page']); $action = basename($_GET['action']);

...

../は、親フォルダを意味し、あなたがincludeしたいファイルがそこに配置されていないようです。ユーザー入力を使用するときは、妥当性検査/墨塗りが必須であることに注意してください。

+0

よろしくお願いします!私はそれを確認します。ありがとうございます。 –

0
$page = $_GET['page']; 
$page = $_GET['action']; 

変数は同じ名前で設定します。そのため、2番目の$pageは最初の$pageを上書きします。

+0

よろしくお願いします。私は納得しています。ありがとうございます ! –

関連する問題