2012-03-26 22 views
0

フォームは、example.php?id=7のようなページ上のフィルタリングされたidに関連付けられたMySqlデータベースに格納されたすべてのレコードを削除し、レコードの削除が成功したときに同じページにリダイレクトされます。削除が成功した後のフォーム動作ステータスメッセージの表示方法

(「レコードが削除された」)のようなフォームアクションのステータスメッセージを表示する方法
if ((isset($_POST['id'])) && ($_POST['id'] != "")) { 
    $deleteSQL = sprintf("DELETE FROM users WHERE id=%s", 
         GetSQLValueString($_POST['id'], "int")); 


    mysql_select_db($database_example, $example); 
    $Result1 = mysql_query($deleteSQL, $example) or die(mysql_error()); 


    $deleteGoTo = "example.php"; 
    if (isset($_SERVER['QUERY_STRING'])) { 
    $deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?"; 
    $deleteGoTo .= $_SERVER['QUERY_STRING']; 
    } 
    header(sprintf("Location: %s", $deleteGoTo)); 
} 

$colname_deleterecord = "5"; 
if (isset($_GET['id'])) { 
    $colname_deleterecord = $_GET['id']; 
} 
mysql_select_db($database_example, $example); 
$query_deleterecord = sprintf("SELECT id, user_name, email, address FROM users WHERE id = %s", GetSQLValueString($colname_deletetrecord, "int")); 
$deleterecord = mysql_query($query_deleterecord, $example) or die(mysql_error()); 
$row_deleterecord = mysql_fetch_assoc($deleteecord); 
$totalRows_deleterecord = mysql_num_rows($deleterecord); 

<form id="form1" name="form1" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> 
    <label> 
     <input type="submit" name="Delete Record" id="Delete Record" value="Delete Record" /> 
    </label> 
    <input name="id" type="hidden" id="id" value="<?php echo $row_deleterecord['id']; ?>" /> 
    </form> 

を同じページに純粋なPHPの構文で記録した後:

コードの詳細は以下の通りですは削除されましたか?

+0

"同じページにある"とはどういう意味ですか?削除後にリダイレクトされているようです –

+0

フォームアクションが成功した後、同じページにページがリダイレクトされています。 'header(sprintf(" Location:%s " 、$ deleteGoTo)); ' ' action = "<?php echo $ _SERVER ['PHP_SELF'];?>' – polarexpress

答えて

0

あなたは..セッションにアクションメッセージを保存し、あなたとあなたが任意のMVCアーキテクチャを使用している場合は、このようdidplayことができます: -

$this->Session->setFlash('Record Deleted.'); 

これを試してみてください。..

0

私は最終的に問題を解決しました。

トリックは、クエリの文字列(キーと値のペア)をヘッダーの場所変数に代入するか、ヘッダーの場所の変数を関連する値で直接置き換えることです。

次に、関数とフォーム変数に関連付けられたクエリ文字列(キーと値のペア)を切り替えて、フォームアクションのステータスメッセージが正常に削除された後に表示されるようにdivをラップします。

関連する問題