2016-06-24 4 views
-1

は、私が持って表示されていないHTML scriptシンプル:PHPのエラーが

<form action="" method="post"> 
    <input type="text" name="amount"> 
    <?php echo $amountError; ?> 
    <input type="submit"> 
</form> 

そして、私はこの使用してエラーを表示:のみ1行がapmoketi.phpファイルで

<? 
$amount = $_POST['amount']; 

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
    if (empty($_POST['amount'])) { 
     $amountError = 'Empty amount'; 
    } else { 
     header("Location: apmoketi.php"); 
} 
?> 

がある echo $amount = $_POST['amount'];

しかし、apmoketi.phpページにデータを表示しようとすると、という値は得られません変数はaction=""を使用していますが、action="apmoketi.php"を使用して取得できますが、私のPHPコードはエラーをチェックしていません。なぜですか?

+0

あなたは別のページにリダイレクトしています....データは乗って来ません。 – mpen

+0

どのようにデータを表示できますか? :/ – Lukas

答えて

1

コールは、ブラウザが完全に、別として指定されたURLに従うようになるさ別のリクエスト。この新しい要求は、前のPOSTデータにアクセスすることはできません。

あなたのオプション:

  1. 使用includeのでapmoketi.phpを運ぶためにクエリパラメータを使用して要求
  2. の間でデータを保存するために、現在のスクリプト

  3. 使用sessionsの変数へのアクセスを持っています値は次のとおりです。

    header('Location: apmoketi.php?amount=' . urlencode($amount)); 
    
0

あなたがリダイレクトする前に、あなたがheader("Location: apmoketi.php");にリダイレクトすると、変数が$_POST[]でなくなったので、あなたはセッション変数を設定する必要はありません:

$_SESSION['amount'] = $amount; 
0

私はそれを行う方法は、私はサブファイルとフォルダと呼ばれる作用を有するありますそこにはこのファイルのfile2というファイルがあります。すべてのPHPアクションが起こります。 と私のフォルダのルートに私はFILE1と呼ばれる別のファイルを持っているし、ここに、今私はそれを行うだろうかHTMLをtheresのとheader("Location: apmoketi.php");

<form action="action/file2.php" method="post"> 
<input type="text" name="amount"> 
<?php echo $amountError; ?> 
<input type="submit"> 
</form>