首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >窗体和PHP结果显示在同一页上

窗体和PHP结果显示在同一页上
EN

Stack Overflow用户
提问于 2015-04-16 15:15:04
回答 5查看 35.9K关注 0票数 3

我在一个页面上有一个表单链接到一个PHP文件(action),现在PHP结果显示在这个PHP文件/页面中。但我希望结果显示在页面和表单上。我已经彻底搜查过了,到处都找不到。也许你们谁能帮上忙?

代码: /citizens.php (主页)

代码语言:javascript
复制
<form method="post" action="/infoct.php">
<input type="text" name="ID" placeholder="ID">
<input name="set" type="submit">
</form>

代码: /infoct.php

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<!-- <meta http-equiv="refresh" content="0; url=/citizens.php" /> -->
</head>

<body>

<?php {
$ID2 = isset($_POST['ID']) ? $_POST['ID'] : false;
}

$connect = mysql_connect('localhost', 'root', 'passwd'); 
mysql_select_db ('inhabitants'); 
$sql = "SELECT `Name`, `Surname`, `DOB`, `RPS`, `Address` FROM `citizens` WHERE ID = $ID2";
$res = mysql_query($sql);
echo "<P1><b>Citizen Identification number is</b> $ID2 </p1>";
while($row = mysql_fetch_array($res))
{
    echo "<br><p1><b>First Name:  </b></b>", $row['Name'], "</p1>";
    echo "<br><p1><b>Surname:  </b></b></b>", $row['Surname'], "</p1>";
    echo "<br><p1><b>Date of birth:  </b></b></b></b>", $row['DOB'], "</p1>";
    echo "<br><p1><b>Address:  </b></b></b></b></b>", $row['Address'], "</p1>";
    echo "<br><p1><b>Background information:  </b><br>", $row['RPS'], "</p1>";
}
mysql_close ($connect);

?>
</body>
</html>

我的固定代码多亏了马克·B

代码语言:javascript
复制
<form method="post">
<input type="text" name="ID" placeholder="ID">
<input name="set" type="submit">
</form>
<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') {
$ID = isset($_POST['ID']) ? $_POST['ID'] : false;
    
$connect = mysql_connect('fdb13.biz.nf:3306', '1858208_inhabit', '12345demien12345'); 
mysql_select_db ('1858208_inhabit'); 
$sql = "SELECT `Name`, `Surname`, `DOB`, `RPS`, `Address` FROM `citizens` WHERE ID = $ID";
$res = mysql_query($sql);
if ($ID > 0) {
    echo "<p><b>Citizen Identification number is</b>  </p>";

    while($row = mysql_fetch_array($res))
    echo "<br><p><b>Surname:  </b></b></b>", $row['Surname'], "</p>";
    echo "<br><p><b>First Name:  </b></b>", $row['Name'], "</p>";
    echo "<br><p><b>Date of birth:  </b></b></b></b>", $row['DOB'], "</p>";
    echo "<br><p><b>Address:  </b></b></b></b></b>", $row['Address'], "</p>";
    echo "<br><p><b>Background information:  </b><br>", $row['RPS'], "</p>";

mysql_close ($connect);
}
    else {
      echo "<p>Enter a citizen ID above</p>";
    }
}
?>

DB卡

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-04-16 15:18:15

单页form+submit处理程序非常基本:

代码语言:javascript
复制
<?php

if ($_SERVER['REQUEST_METHOD'] == 'POST') { 
 ... form was submitted, process it ...
 ... display results ...
 ... whatever else ...
}
?>

<html>
<body>
<form method="post"> ... </form>
</body>
</html>

这就是真正的一切。

票数 7
EN

Stack Overflow用户

发布于 2015-04-16 15:19:24

在同一个页面上使用代码( (citizens.php) )

代码语言:javascript
复制
<?php

if (isset($_POST)) { 
Do manipulation
}
?>

否则使用ajax并从表单中删除操作方法。

代码语言:javascript
复制
<form method="post" id="contactForm">
<input type="text" name="ID" placeholder="ID">
<input name="set" type="buttom" id="submitId">
</form>

<script>
$("#submitId").click(function(){
   var Serialized =  $("#contactForm").serialize();
    $.ajax({
       type: "POST",
        url: "infoct.php",
        data: Serialized,
        success: function(data) {
            //var obj = jQuery.parseJSON(data); if the dataType is not specified as json uncomment this
            // do what ever you want with the server response
        },
   error: function(){
        alert('error handing here');
      }
    });
});
</script>

在您的infact.php 中,将回显数据,这样ajax就可以得到数据作为回报。

票数 2
EN

Stack Overflow用户

发布于 2015-04-16 15:24:17

您可以将所有内容都放在infoct.php中,如下所示:

代码语言:javascript
复制
<!DOCTYPE html>
<html>
<head>
<!-- <meta http-equiv="refresh" content="0; url=/infoct.php" /> -->
</head>

<body>
<form method="post" action="/infoct.php">
<input type="text" name="ID" placeholder="ID" value="<?php isset($_POST['ID']) ? $_POST['ID'] : '' ?>">
<input name="set" type="submit">
</form>
<?php 
    if (isset($_POST['ID'])) {
        $ID2 = $_POST['ID']; // DO NOT FORGET ABOUT STRING SANITIZATION
        $connect = mysql_connect('localhost', 'root', 'usbw'); 
        mysql_select_db ('inhabitants'); 
        $sql = "SELECT `Name`, `Surname`, `DOB`, `RPS`, `Address` FROM `citizens` WHERE ID = $ID2";
        $res = mysql_query($sql);
        echo "<P1><b>Citizen Identification number is</b> $ID2 </p1>";
        while($row = mysql_fetch_array($res))
        {
            echo "<br><p1><b>First Name:  </b></b>", $row['Name'], "</p1>";
            echo "<br><p1><b>Surname:  </b></b></b>", $row['Surname'], "</p1>";
            echo "<br><p1><b>Date of birth:  </b></b></b></b>", $row['DOB'], "</p1>";
            echo "<br><p1><b>Address:  </b></b></b></b></b>", $row['Address'], "</p1>";
            echo "<br><p1><b>Background information:  </b><br>", $row['RPS'], "</p1>";
        }
        mysql_close ($connect);
    }
?>
</body>
</html>

不要忘记字符串的消毒!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29679022

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档