使PHP在表单提交后运行,而不重定向到另一个PHP页面来处理数据

时间:2017-01-12 06:29:05

标签: php html mysql sql

我不确定这是否是一个重复的问题,因为我甚至不确定如何正确地形成它(这就是为什么这个问题的标题没有任何意义)。我开始学习PHP,所以我可以在我的网页中使用SQL数据库。

我的问题是,如何让用户输入密码进入输入框,然后PHP脚本将其用作MySQL登录的密码以显示表中的内容一个HTML表?现在,我已经解决了大部分问题,唯一的问题是在输入密码的同一页面上显示表格并且点击提交按钮。我需要使用AJAX吗?因为我不知道关于它的第一件事。以下是我到目前为止的情况:

的index.php:

<DOCTYPE! html>
<html>
<head>
<title>Guy's Random Project</title>
<link rel="stylesheet" type="text/css" href="styles.css">
<script src="scripts.js"></script>
</head>
<body>

<div>
<form action="" method="POST">
<font size="4">Password: </font><input type="text" id="pass" name="pass"/><br>
<input class="buttonGreen" type="submit" value="Submit" id="1" onMouseDown="mouseDown(1)" onMouseOut="mouseUp(1)"/>
</form>
</div>

<table><thead><th>ID</th><th>Name</th><th>Type</th><th>Rating</th></thead><tbody>
<?php include 'getTableData.php'?>
</tbody></table>


</body>
</html>

getTableData.php:

<?php
$servername = "localhost";
$username = "root";
$password = $_POST['pass'];;
$dbname = "testing";

$conn = new mysqli($servername, $username, $password, $dbname);

if ($conn->connect_error) {
     die("Connection failed: " . $conn->connect_error);
} 

$sql = "SELECT id, name, type, rating FROM crap_food";
$result = $conn->query($sql);

if ($result->num_rows > 0) {
     while($row = $result->fetch_assoc()) {
         echo "<tr><td>" . $row["id"] . "</td><td>" . $row["name"] . "</td><td>" . $row["type"] . "</td><td>" . $row["rating"] . "</td></tr>";
     }
} else {
}

$conn->close();
?>

我理解PHP是运行服务器端的事实,并且仅在客户端读取任何HTML之前运行,因此在按下按钮时运行函数不会仅仅使用PHP和HTML,但是这与我正在寻找的类似。我不想通过表单操作将用户重定向到另一个页面(这就是为什么它是空白的),我想把它全部保存在index.php中。谢谢(对于这个问题的可怕形成感到抱歉,我只是有点困惑)。

2 个答案:

答案 0 :(得分:0)

您可以使用AJAX。

{{1}}

答案 1 :(得分:0)

试试这个:         

//Print Values Properties
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyList().name;
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyList().value;
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyValue("Username");
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyValue("Password");
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyValue("Domain");
    // SET Properties
    testRunner.testCase.getTestStepByName('NAME_TestStepRequest').setPropertyValue("Username","B");
    testRunner.testCase.getTestStepByName('NAME_TestStepRequest').setPropertyValue("Password","B");
    testRunner.testCase.getTestStepByName('NAME_TestStepRequest').setPropertyValue("Domain","B");
// Get new Values
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyValue("Username");
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyValue("Password");
    log.info  testRunner.testCase.getTestStepByName('NAME_TestStepRequest').getPropertyValue("Domain");