-2

HTML に簡単なフォームがあり、ユーザーは数字を書き込む必要があります。メソッド GET を使用して PHP のスクリプトにこの数字を提供する必要があります。このスクリプトの結果は、JSON 形式でクライアント側 (フォームを含む html のページ) に表示する必要があります。これを行う方法がわかりません。

私のコード:

<?php

    $data=
    array(
    '12345678912'=>array('name'=>'Insurance Company A' , 'number' => '123'),
    '98765432109'=>array('name'=>'Insurance Company B' , 'number' => '312'),
    '80101066666'=>array('name'=>'Insurance Company B' , 'number' => '980'),
    );

    if ($data[$_GET['pesel']]) {
      echo json_encode($data[$_GET['pesel']]);
    }
    else {
      echo 'wrong number';

    }?>



    <html>

    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=windows-1250">
    </head>
    <body>
        <form action="server.php" method="get">
            <div style="border:solid; width:500 px; height:300 px;">
            <h1>  Write number </h1>

            <input type="text" name="pesel" />
            <input type="submit" value="ok" />
            <div>

<div id="results">

//place to show result in JSON

</div>

        </form> 
    </body>
    </html>

番号 12345678912 のサーバーのページでの結果

{"名前":"保険会社A","番号":"123"}

ページの div id=results にどのように表示できますか?

私の英語でごめんなさい...

4

2 に答える 2

1

自分自身を再び呼び出しているのは1つのphpファイルだけです。

input.php:

<form action="input.php" method="get">
<input type="number" name="number" />
<input type="submit" value="submit"/>
</form>
<?php 
$num = $_GET['number'];
echo $num
?>

なぜブラウザにjson形式で表示したいのかわかりません。json形式は、表示ではなく転送目的で使用されます。

于 2012-11-25T22:24:28.510 に答える
0

で表示json_encode($data[$_GET['pesel']]);#resultsますか?代わりに、そこにエコーするコードを入れてください:

<div id="results">
<?php
if ($data[$_GET['pesel']]) {
  echo json_encode($data[$_GET['pesel']]);
}
else {
  echo 'wrong number';
?>
</div>

表示しているのと同じ URL に送信されるようにフォームを変更します。

<form action="" method="get">
    ...
</form>

送信されると、ブラウザーはGETフォームからのパラメーターを使用して同じ URL を呼び出します。これにより、PHP コードが実行され、結果が出力されます。

でもやってる事がおかしい…

于 2012-11-25T23:25:15.603 に答える