0

こんにちは、このコードの何が問題なのか誰か教えてもらえますか? よく見えますが、機能しません。ボタンをクリックした後、echo by post を起動する必要があります。

そのため、一部のコードを編集すると、次のようになります。

<?php
error_reporting(E_ALL);
echo "<form class='upload' method='post' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]?low=1'>
<input type='hidden' name='upload' value='go1' />
<input type='submit' value='low' />
</form>

<form class='upload' method='post' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]?high=1'>
<input type='hidden' name='upload' value='go2' />
<input type='submit' value='high' />";

if ( $_POST['upload'] == 'go1' ) {
    if ( $_POST['low'] == '1' ) { echo 'low1'; }
};

if ( $_POST['upload'] == 'go2' ) {
    if ( $_POST['high'] == '1' ) { echo 'high1'; }
};
?>

しかし、まだエラーが発生しました:

[20-Jul-2013 02:00:11 Europe/Warsaw] PHP Notice:  Undefined index: upload in /home/file.php on line 12
[20-Jul-2013 02:00:11 Europe/Warsaw] PHP Notice:  Undefined index: upload in /home/file.php line 16
[20-Jul-2013 02:00:12 Europe/Warsaw] PHP Notice:  Undefined index: low in /home/file.php  on line 13
4

3 に答える 3

0

あなたのフォームでのあなたの行動は間違ったものを使用していると思いますPHP_SELF$_SERVER[PHP_SELF]変数を使用したいと思います。

于 2013-07-19T23:22:28.380 に答える
0

エラー報告を有効にすると、正確なエラーが表示されますが、次のように入力すると構文エラーが発生します。

$_POST('upload')
      ^--      ^--

次のように変更します。

$_POST['upload'] 

次に、次の行を記述して、コードの作業中にエラー レポートを有効にすることができます。

error_reporting(E_ALL);

後で実稼働サーバーにアップロードすると、次のようになります。

error_reporting(0);

または単にコメントアウトする

于 2013-07-19T23:22:07.603 に答える
0

1) 最初の問題は、あなたのaction='$_SERVER[PHP_SELF]?low=1'putslow$_GETではなく配列にあることです$_POST。したがって、追加の非表示フィールド$_GETも使用するか、代わりに使用してください。2) 2 番目の問題は、配列をisset() でチェックしないことです。フォームは最初の実行時に読み込まれ、まだ送信されておらず、配列は空です。 3) 2 番目のフォーム タグを閉じることを忘れないでください。$_REQUEST

そんな感じ:

echo "<form class='upload' method='post' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]?low=1'>
<input type='hidden' name='upload' value='go1' />
<input type='submit' value='low' />
</form>

<form class='upload' method='post' enctype='multipart/form-data' action='$_SERVER[PHP_SELF]?high=1'>
<input type='hidden' name='upload' value='go2' />
<input type='submit' value='high' />
</form>";

if ( isset($_REQUEST['upload']) && $_REQUEST['upload'] == 'go1' ) {
    if ( isset($_REQUEST['low']) && $_REQUEST['low'] == '1' ) { echo 'low1'; }
};

if ( isset($_REQUEST['upload']) && $_REQUEST['upload'] == 'go2' ) {
    if ( isset($_REQUEST['high']) && $_REQUEST['high'] == '1' ) { echo 'high1'; }
};
于 2013-07-20T07:51:36.210 に答える