On Aug 13, 1:29 pm, Rik <luiheidsgoe...@hotmail.comwrote:
Quote:
On Mon, 13 Aug 2007 21:21:11 +0200, Big Moxy <bigm...@gmail.comwrote:
Quote:
On Aug 13, 12:44 pm, burgermeiste...@gmail.com wrote:
Quote:
On Aug 13, 12:53 pm, Big Moxy <bigm...@gmail.comwrote:
>
Quote:
Quote:
Can someone please advise me on how to implement this?
>
Quote:
Quote:
The data entered by a user on form 1 on page1.php is posted to
delete.php to remove that row from a table. After the SQL operation
the user is returned to page1.php.
>
Quote:
Quote:
How can I determine the success or failure of the SQL operation so I
can display an appropriate response message to the user?
>
>
Quote:
Quote:
Another option is this:
mysql_query() will return false if an error occurs, so if you put your
execute statement in an if statement as following you can get a
boolean success/failure response:
if(mysql_query()){
return "Yay! Success";}else{
>
>
>
Quote:
Quote:
Additionally, mysql_error() can tell you what went wrong.
>
Quote:
Apparently today is not my lucky day. When no row is deleted the URL
is pointing to my delete.php and not page1.php yet the browser display
seems to refresh.
>
Quote:
BTW I got the same result with the mysql_affected_rows().
>
Quote:
Here is a snippet of the delete.php code -
>
Quote:
$Result1 = mysql_query($deleteSQL, $emailmanager) or
die(mysql_error());
if (mysql_query()) {
>
The previous code was just an illustration. In this case it should be:
>
$Result1 = mysql_query($deleteSQL, $emailmanager);
if($Result1 && mysql_affected_rows()){
>
Quote:
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}
else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}
$deleteGoTo = "/casper/emailmanager.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
header(sprintf("Location: %s", $deleteGoTo));
>
Actually, you should try to get a full URL in the redirect (possibly by
using 'http://'.$_SERVER['HTTP_HOST'].$deleteGoTo). Officially it's
required, allthough most user agents can handle relative URL's quite well
one shouldn't rely on it.
--
Rik Wasmus- Hide quoted text -
>
- Show quoted text -
Well, perhaps I'm getting closer. The URL is now page1.php but now
results message is not displayed. I've passed $_SESSION variables
forward before but not back. The method I used for forward passing is
session_start();
foreach ($_POST as $key =$value) {
$_SESSION[$key] = $value;
}
I tried that but it did not work in this scenario.
Here is the delete code -
if (mysql_query($deleteSQL,$emailmanager) &&
mysql_affected_rows()>0) {
$_SESSION["mysql_query_result"] = "Your email address has been
successfully removed";
}else {
$_SESSION["mysql_query_result"] = "Your email address was not
found. Please try again";
}
$deleteGoTo = "/casper/page1.php";
if (isset($_SERVER['QUERY_STRING'])) {
$deleteGoTo .= (strpos($deleteGoTo, '?')) ? "&" : "?";
$deleteGoTo .= $_SERVER['QUERY_STRING'];
}
header(sprintf("Location: %s", "http://".$_SERVER['HTTP_HOST'].
$deleteGoTo));
Here is the page1 code -
$result_message = "";
if ((isset($_SESSION['mysql_query_result'])) &&
($_SESSION['mysql_query_result'] != "")) {
$result_message = $_SESSION['mysql_query_result'];
}
....
<td align="center" colspan="2">
<?php
echo $result_message;
?>
</td>