-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 的服务器页面上的结果

{"name":"保险公司 A","number":"123"}

如何在页面上的 div id=results 中显示它?

对不起我的英语不好...

4

2 回答 2

1

它只是一个再次调用自身的 php 文件。

输入.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 回答