2012-03-25 34 views
0

Ein Formular löscht alle Daten auf einer Seite (example.php), die in der MySql-Datenbank gespeichert sind und für den Befehl sql relevant sind.Formularaktionsstatusmeldung nach erfolgreicher Übermittlung

Die Code Details sind wie folgt:

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> 

Wie soll ich ein Formular Aktion Statusmeldung angezeigt werden wie auf der gleichen Seite mit reinen PHP-Syntax, nachdem es („Record gelöscht“) wurde erfolgreich eingereicht?

Vielen Dank im Voraus.

Antwort

0

du kannst es nicht mit reinem php machen, du musst es mit ajax machen .... weil es clientseitige scripting und serverseitige scripting ist ... sobald dein formular abgeschickt ist, wird es auf das andere php script umgeleitet auf der Serverseite ... in oreder eine Nachricht in der Client-Seite veröffentlichen u müssen nur AJAX verwenden ... das ist die einzige Möglichkeit, in meiner Ansicht

+0

Ich habe bereits eine Nachricht zum Formularübermittlungsstatus in mehrere formbezogene Webanwendungen integriert, die auf reiner PHP-Syntax basieren, aber leider fehlt mir in diesem Fall etwas und kann nicht richtig funktionieren. – polarexpress

0

nach erfolgreicher Löschung, erstellen Sie Ihre Statusmeldung,

// After mysql delete command 
$msg = urlencode("Record deleted"); 

Bearbeiten Sie Ihre header Befehl wie folgt

aussehen
header(sprintf("Location: %s", $deleteGoTo . ?msg={$msg})); 

dann wählen, wo immer Sie die Meldung auf Ihrer Seite angezeigt werden sollen und setzen Sie den Code

echo isset($_GET['msg']) ? urldecode($msg) : ''; // This line will display the content of the variable $msg if it is set 

Ich kann sehen, dass Sie sich auf der gleichen Seite das Formular einreichen, müssen Sie nicht die verwenden header Funktion, in diesem Fall würden Sie den Status ändern Nachricht und Display-Meldung wie diese schneller wird

$msg = "Record deleted"; 
echo isset($msg) ? $msg : ''; // This line will display the content of the variable $msg if it is set 

die zweite Methode zu suchen.

+0

Die erste Lösung gibt Parse-Fehler: Syntaxfehler, unerwartet ''. '' In 'header (sprintf (" Ort:% s ", $ deleteGoTo.? Msg = {$ msg}));' wenn die Variable '$ msg 'wird nach mysql wie folgt definiert: mysql_select_db ($ database_example, $ example); $ Result1 = mysql_query ($ deleteSQL, $ Beispiel) oder sterben (mysql_error()); $ msg = urlencode ("Datensatz gelöscht"); 'Auf der anderen Seite druckt die zweite Lösung keine Statusmeldung auf der Seite, nachdem das Formular erfolgreich abgeschickt wurde. – polarexpress

0

Ich habe das Problem endlich gelöst.

Der Trick besteht darin, der Kopfpositionsvariable eine Abfragezeichenfolge (Schlüssel/Wert-Paar) zuzuweisen oder die Kopfpositionsvariable direkt durch ihren zugeordneten Wert zu ersetzen.

Dann wechseln Sie die Abfragezeichenfolge (Schlüssel/Wert-Paar) in Verbindung mit Funktion und Formularvariable und wickeln Sie ein Div damit, wo die Formularaktion Statusmeldung auf Seite nach erfolgreicher Übermittlung angezeigt werden sollte.

Verwandte Themen