Aşağıdaki form, tarayıcıda sayfa başlatıldığında her seferinde başarı mesajını mantıksal olarak görüntüler, ancak form yalnızca başarılı bir şekilde gönderildikten sonra başarı mesajını göstermelidir.Başarılı form gönderimi üzerine bir div içinde nasıl başarılı bir mesaj oluşturulur?
$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
$editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}
$message = "Record has been updated successfully.";
if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "form1")) {
$updateSQL = sprintf("UPDATE table SET name=%s, email=%s,
GetSQLValueString($_POST['name'], "text"),
GetSQLValueString($_POST['email'], "text"),
mysql_select_db($database_test, $test);
$Result1 = mysql_query($updateSQL, $test) or die(mysql_error());
$updateGoTo = "test.php";
if (isset($_SERVER['QUERY_STRING'])) {
$updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
$updateGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", $updateGoTo));
}
formun html parçası aşağıdaki gibidir:
<form action="<?php echo $editFormAction; ?>" method="post" name="form1" id="form1">
<table align="center" class="test_table">
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="table-title">Name:</td>
<td class="table-content"><input type="text" name="name" value="<?php echo htmlentities($row_user['name'], ENT_COMPAT, 'utf-8'); ?>" size="32" /></td>
</tr>
<tr valign="baseline">
<td align="right" nowrap="nowrap" class="table-title">E-mail:</td>
<td class="table-content"><input type="text" name="email" value="<?php echo htmlentities($row_user['email'], ENT_COMPAT, 'utf-8'); ?>" size="32" /></td>
</tr>
</table>
<input type="hidden" name="MM_update" value="form1" />
<input type="hidden" name="id" value="<?php echo $row_user['id']; ?>" />
<input class="submit" name="UpdateRecord" type="submit" id="UpdateRecord" value="Update Record" /></form>
Bu başarı mesajı sayfadaki bir div içinde görüntülendiğinde nasıl: Ben ne
<p> <?php
if (!empty($message)) {
echo "<div class=\"successmessage\">" . $message . "</div>";
}
?></p>
Burada yanlış mı yapıyorsun? I) (dispaly mesaj için
addMessageStack('Record has been updated successfully.');
header(sprintf("Location: %s", $updateGoTo));
exit;
altında, session_start olduğundan emin olun gibi kullanın örnekte mesaj
function addMessageStack($message,$type='success')
{
$_SESSION['sess_MessageStack'][] = array($type,$message);
}
function showMessageStack()
{
$str = '';
if(count($_SESSION['sess_MessageStack']) > 0)
{
for($i=0;$i<count($_SESSION['sess_MessageStack']);$i++)
{
$str.="<div class='".$_SESSION['sess_MessageStack'][$i][0]."Message left'>".$_SESSION['sess_MessageStack'][$i][1]."</div>";
}
unset($_SESSION['sess_MessageStack']);
return $str;
}
}
göstermek için iki fonksiyonu yarattık
formla aynı sayfada bu div mı? – anuragsn7
Evet, başarı mesajı div aynı sayfada. –