簡體   English   中英

使PHP在提交表單后運行,而無需重定向到另一個PHP頁面來處理數據

[英]Make PHP run after form submitted without redirecting to another PHP page to process the data

我不確定這是否是重復的問題,原因是我什至不確定如何正確地構成它(這就是為什么這個問題的標題沒有實際意義的原因)。 我開始學習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完全不可能實現在單擊按鈕時運行功能,但這是與我要尋找的類似。 我不想通過form動作將用戶重定向到另一個頁面(這就是為什么它為空白),我希望將它們全部保留在index.php中。 謝謝(對這個問題的可怕形成深表歉意,我有點困惑)。

為此,請使用AJAX。

$.ajax({

    url: 'xxx.php',

    data:formData,
    cache: false,
    contentType:false,
    processData:false,
    type: 'post',
    success: function(response)
    {
            //do something 

    }

嘗試這個 :

    $password =$_POST['pass'];
    try {
    $conn = new PDO("mysql:host=$host;dbname=$dbname", $username,$password);

$sql = 'SELECT firstname FROM users';

$q = $conn->query($sql);
$q->setFetchMode(PDO::FETCH_ASSOC);
while ($r = $q->fetch()): 
    echo ($r['firstname']);
    echo "<tr><td>" . ($r['firstname']) . "</td></tr>";
endwhile;

} catch (PDOException $pe) {
   die("Could not connect to the database $dbname :" .$pe->getMessage());
}
?>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM