我無法理解單擊表單提交按鈕時通過頁面傳遞的處理變量。基本上我有一個用戶寫一個SQL查詢的文本區域。然後點擊提交。然後在同一頁面(x.php),我必須在表格中顯示結果。我想,當用戶點擊按鈕時,我調用連接到數據庫的函數,然後運行查詢,並將結果輸出到表中。我下面的代碼是一個模擬,並沒有很好的工作。但以上基本上是我想要做的。單擊表單提交時執行PHP函數
在我的代碼中,我打電話給該頁面,並檢查是否正確提交按鈕已被點擊,是我該如何做?
此外,我想在下面的代碼中發佈元數據,但表如何替換頁面上已有的內容?
<html>
<head>
<title>CNT 4714 - Project Five Database Client</title>
</head>
<body style="background-color:white">
<center>
<h1 style="color:red">CNT 4714 - Project Five Database Client</h1>
<hr>
<div style="float:left; text-align:left;padding-right:80px; padding-left:80px; ">
<font color="yellow">
<?php
?>
Welcome Back!<br>
<?php echo $_POST["user"];?>
</font>
</div>
<font color="yellow">
<div style="float:left; text-align:left">
<center>
<h2 style="color:green">Enter Query</h2><br><br>
Please enter a valid SQL Query or update statement. You may also just press<br>
"Submit Query" to run a defualt query against the database!
<form action="" id="sql" method="post">
<br>
<textarea rows="10" cols="50" name="query" form="sql">Enter text here...</textarea><br><br>
<input type="submit" name="submit" color="red">
<input type="submit" name="" color="red" value="Submit Update">
</form>
<?php
if(isset($_POST['submit'])){
echo "hello";
query(); //here goes the function call
}
function query()
{
echo "hello";
$conn = mysqli_connect("localhost:3306", "root", "*******", "project4");
$query = $_POST["query"];
$result = mysqli_query($conn, $query);
$metadata = mysqli_fetch_fields($result);
print("<tr>");
for($i=0; $i<count($metadata);$i++){
print("<tr");
printf("%s",$metadata[$i]->name);
print("</tr>");
}
}
?>
</center>
</div>
</font>
</center>
</body>
</html>
提供一個名稱的提交按鈕提交併在form標籤附加'方法= 「POST」'。 –