簡體   English   中英

成功插入MySQL表后更新頁面

[英]Update page after successful insertion into MySQL table

我正在制作一個包含大量字段的頁面,允許用戶輸入信息並將其提交到數據庫。 此頁面稱為“ add.php”,我創建了一個“ form”標簽,並將信息發布到另一個名為“ process.php”的頁面,在該頁面中收集信息,然后將其插入數據庫。 我想讓用戶知道它是否成功,所以我想知道如何告訴用戶“ add.php”頁面上的特定內容。 就像“插入成功!” 在頁面頂部。

我想到了將'process.php'代碼包含在'add.php'中,然后在表單的操作中調用'add.php',但是該代碼在首次加載頁面時被調用,這將完全插入進入數據庫的空白條目。

我應該實現某種僅在單擊“提交”按鈕后才設置為true的標志嗎? 還是有另一種方法來更新頁面並告訴用戶插入狀態?

我可以根據需要粘貼相關代碼。 :)

謝謝!

假設您在表單和php中使用post方法,則只需檢查是否已發布:

if ($_SERVER['REQUEST_METHOD'] === 'POST')
{
  // form was posted, process and display output
}
else
{
  // nothing was posted, normal get request, show form
}

只要檢查查詢是否運作良好。 如果沒有拋出異常,則大多數情況下都會拋出異常,並在輸出中添加適當的消息。

首先,您需要檢查和處理錯誤

try
{

} 
catch(Exception $e){
header('Location:oldlocation.php?succ=0')
exit();
}
header('Location:oldlocation.php?succ=0')
exit();

如果一切順利,您也可以重定向到新位置(如代碼所示)。 必須正確完成此操作,您可能會重定向回舊位置,並添加其他數據,例如

oldlocation.php?succ=1;

如果出現任何錯誤,請重定向至

oldlocation.php?succ=0

然后使用$ _GET [“ succ”]獲取succ並打印適當的消息。

如果你得到,發表評論。

這就是我要做的...將您的處理數據保存在一個文件中,並在最后添加表格文件

//add.php

//if the form is submitted make the database entry
if(isset($_POST['foo']) AND $_POST['foo'] != '')
{
//code to process form submission
$success = 'success!';

}
//include the form
include addform.php

在addform.php中放入您的表單。 包含正在監視$成功的“ isset”,以提醒輸入成功

//addform.php

<?php if(isset($success)){ echo "<h2> Data successfully entered! </h2>";} ?>

<form action='' method='POST'>
<input type='text' name='foo' />
//etc
</form>

因此,一旦提交表單,代碼就從add.php的頂部開始-'isset'看到$ _POST提交,運行表單提交代碼並設置成功變量。 然后,它包括表單頁面。 表單頁面上有一個“ isset”,正在監視成功變量。 首次導航到頁面或刷新時,add.php代碼將跳過第一個代碼塊(表單提交的內容),並且不會進行數據庫提交或設置成功變量。

暫無
暫無

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

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