0

言語選択ページを作成しようとしましたが、id="image" name="image" の 'value' パラメータを送信すると渡されず、代わりに $_POST で image_x と image_y の値を取得します。

これは私のコードです:

session_start();

include("languages.php");
function lng($which)
{
    global $ARRXKS;
    return $ARRXKS[$_SESSION['lang']]["$which"];
}

function LangChoose()
{
    echo('
        <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
        <html xmlns="http://www.w3.org/1999/xhtml">
        <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Meet-Helmond.nl SMS Service - Select your Language</title>
        <link href="css.css" rel="stylesheet" type="text/css" />
        </head>

            <div class="information">
            <div class="boxinfo">Cookies MUST be enabled to use this website!</div>
            <p>

            <form id="loginForm" name="loginForm" method="post" action="index.php">');
            echo('<BR />');
            print_r($_POST);
            echo('<BR />');
            global $ARRXKS;
            $LANG_keys = array_keys($ARRXKS);
            $count = 1;
            for ($i = 0; $i <= count($ARRXKS) - 1; $i++)
            {
                echo('<input type="image" src="images/flags/'.$LANG_keys[$i].'.png" name="image" id="image" value="'.$LANG_keys[$i].'">');
                if((($count) % 5) == 0)
                {
                    echo('<BR />');
                }
                $count = $count + 1;
            }

            echo('
            </form>

            </div>

        <body>

        </body>

        </html>

    ');
}
//print_r($_POST);
if(!isset($_SESSION['lang']))
{
    if ($_SERVER['REQUEST_METHOD'] == 'POST')
    {
        if(isset($_POST['image']))
        {
            if (array_key_exists($_POST['image'], $ARRXKS))
            {
                $_SESSION['lang'] = $_POST['image'];
            }
            else
            {
                LangChoose();
                exit();
            }
        }
        else
        {
            LangChoose();
            exit();
        }
    }
    else
    {
        LangChoose();
        exit();
    }
}

取得すると、選択した言語が検出されません。クリックした画像の値を正しく送信するにはどうすればよいですか?

4

1 に答える 1

0

提出時の画像には何の価値もありません。代わりに、ピクセル単位の x 座標と y 座標がブラウザーによって送信されます。これは完全に正常であり、画像入力要素がどのように機能するかです。

代わりに、CSS スタイルまたはよりモダンなボタン入力要素を介してグラフィックを持つ送信ボタンを使用することをお勧めします。

選択した HTML リファレンスを使用して、入力イメージ タグの理解を明確にし、送信入力とボタン入力について学習します。

于 2012-09-01T18:59:48.277 に答える