Jump to content

Refresh


ballouta

Recommended Posts

Hi,

I have a cart.php page. I used a popup windows when the member wants to update an item qty or if the member wants to empty his cart. This popup windows is working properly and i have no problem, BUT after updating the qty or deleting an item or emptying the cart, how do i make the cart.php page refreshed automatically?

 

can this be done?

 

Note that after changing the qty, a query runs and i echo a script to close this popup window automatically. after that i want to refresh the cart..

 

`thank you

Link to comment
Share on other sites

Hi

 

i pasted these lines at the end of the deletion code

but it didn't work

why?

<?php
$query = "DELETE from `orders` WHERE `orderno` = '$order' AND `member` = '$user'";
$result = mysql_query($query);

//change the order status to C ==> canceled
$query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = '$order' AND `member` = '$user'";
$result = mysql_query($query);


if (isset($query))
Header("Location: http://www.dmcpublisher.com/shopping/cart.php");
?>

Link to comment
Share on other sites

Hi

 

i pasted these lines at the end of the deletion code

but it didn't work

why?

<?php
$query = "DELETE from `orders` WHERE `orderno` = '$order' AND `member` = '$user'";
$result = mysql_query($query);

//change the order status to C ==> canceled
$query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = '$order' AND `member` = '$user'";
$result = mysql_query($query);


if (isset($query))
Header("Location: http://www.dmcpublisher.com/shopping/cart.php");
?>

 

What didn't work? What is the error?

 

Also, you should make your PHP parts in queries like this:

$query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = ".$order." AND `member` = ".$user;

 

 

If the error was "headers already send", add 'ob_start()' at the top of your page and 'ob_end_flush()' at the bottom. 'Header' should be without capital..

Link to comment
Share on other sites

Hi

I will display all my code, the cart.php contains this script in its header

<script language="javascript" type="text/javascript">
<!--
/****************************************************
     Author: Eric King
     Url: http://redrival.com/eak/index.shtml
     This script is free to use as long as this info is left in
     Featured on Dynamic Drive script library (http://www.dynamicdrive.com)
****************************************************/
var win=null;
function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;}
if(pos=="center"){LeftPosition=(screen.width)?(screen.width-w)/2:100;TopPosition=(screen.height)?(screen.height-h)/2:100;}
else if((pos!="center" && pos!="random") || pos==null){LeftPosition=0;TopPosition=20}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);}
// -->
</script>

 

There's an edit symbol the user presses on it to view the popup:

 

<a href=\"http://www.dmcpublisher.com/shopping/edit~qty.php?id=$row[book]\" onclick=\"NewWindow(this.href,'mywin','200','180','no','center');return false\" onfocus=\"this.blur()\">
<img border='0' src='../images/edit.JPG' width='18' height='18' alt='Edit QTY'></a>

 

This popup code is:

 

<?php
$user = $_SESSION['authen'];
$order = $_SESSION['thisorder'];

include('../CMS/operations.inc.php');

echo "<p align='center'><font face='Tahoma'><span style='font-size: 10pt'>Are you sure u want to empty ur cart</span></font></p>
<p align='center'><font face='Tahoma' size='2'><font color='#FF0000'>
<a href='empty~cart~save.php?id=$id'><font color='#FF0000'>yes</font></a></font>   
<font color='#008000'><font color='#008000'><a href=\"javascript:window.close();\">NOfont></a></font></font></p>";
?>

 

and the code where it updates the qty is:

 

<?php

$user = $_SESSION['authen'];
$order = $_SESSION['thisorder'];

include('../CMS/operations.inc.php');
mysql_query("SET CHARACTER_SET_RESULTS=NULL");

$query = "DELETE from `orders` WHERE `orderno` = '$order' AND `member` = '$user'";
$result = mysql_query($query);

//change the order status to C ==> canceled
$query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = '$order' AND `member` = '$user' ";
$result = mysql_query($query);


if (isset($query))
Header("Location: http://www.dmcpublisher.com/shopping/cart.php");


echo "
<SCRIPT LANGUAGE=\"JavaScript\">
<!--hide
window.close();
//-->
</SCRIPT> ";
?>

 

Thank you

Link to comment
Share on other sites

I'll give the code some structure first..

 

JavaScript in header:

<script language="javascript" type="text/javascript">
<!--
/****************************************************
     Author: Eric King
     Url: http://redrival.com/eak/index.shtml
     This script is free to use as long as this info is left in
     Featured on Dynamic Drive script library (http://www.dynamicdrive.com)
****************************************************/
var win=null;

function NewWindow(mypage,myname,w,h,scroll,pos){
if(pos=="random"){
	LeftPosition=(screen.width)?Math.floor(Math.random()*(screen.width-w)):100;
	TopPosition=(screen.height)?Math.floor(Math.random()*((screen.height-h)-75)):100;
}
if(pos=="center"){
	LeftPosition=(screen.width)?(screen.width-w)/2:100;
	TopPosition=(screen.height)?(screen.height-h)/2:100;
}
else if((pos!="center" && pos!="random") || pos==null){
	LeftPosition=0;
	TopPosition=20;
}
settings='width='+w+',height='+h+',top='+TopPosition+',left='+LeftPosition+',scrollbars='+scroll+',location=no,directories=no,status=yes,menubar=no,toolbar=no,resizable=no';
win=window.open(mypage,myname,settings);
}
// -->
</script>

 

Popup button:

 

<?php
echo "
<a href=\"http://www.dmcpublisher.com/shopping/edit~qty.php?id=".$row[book]."\" onclick=\"NewWindow(this.href,'mywin','200','180','no','center'); return false\" onfocus=\"this.blur()\"> 
    <img border='0' src='../images/edit.JPG' width='18' height='18' alt='Edit QTY'>
</a>"
?>

 

This popup code:

 

<?php
        session_start();
$user = $_SESSION['authen'];
$order = $_SESSION['thisorder'];

include('../CMS/operations.inc.php');

//Never use the <font> tags...
echo "<p align='center'>
		<font face='Tahoma'>
			<span style='font-size: 10pt'>Are you sure you want to empty your cart?</span>
		</font>
	</p>
	<p align='center'>
		<font face='Tahoma' size='2'>
			<font color='#FF0000'>
				<a href='empty~cart~save.php?id=$id'>
					<font color='#FF0000'>yes</font>
				</a>
			</font>
			   
			<font color='#008000'>
				<font color='#008000'>
					<a href=\"javascript:window.close();\">NO</a>
				</font>
			</font>
		</font>
	</p>";
?>

 

Code where it updates the qty:

 

<?php
session_start();

$user = $_SESSION['authen'];
$order = $_SESSION['thisorder'];

include('../CMS/operations.inc.php');
mysql_query("SET CHARACTER_SET_RESULTS=NULL");

$query = "DELETE from `orders` WHERE `orderno` = ".$order." AND `member` = ".$user;
$result = mysql_query($query);

//change the order status to C ==> canceled
$query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = ".$order." AND `member` = ".$user;
$result = mysql_query($query);


if (isset($query))
header("Location: http://www.dmcpublisher.com/shopping/cart.php");


echo "<SCRIPT LANGUAGE=\"JavaScript\">
	<!--hide
	window.close();
	//-->
	</SCRIPT> ";
?>

 

I added session_start(); where it updates the qty, and at the popup (don't know if it was anywhere else)

Also, add an exit(); before the header, so you can see what the error is.

example:

 

<?php
session_start();

$user = $_SESSION['authen'];
$order = $_SESSION['thisorder'];

include('../CMS/operations.inc.php');
mysql_query("SET CHARACTER_SET_RESULTS=NULL");

$query = "DELETE from `orders` WHERE `orderno` = ".$order." AND `member` = ".$user;
$result = mysql_query($query);

//change the order status to C ==> canceled
$query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = ".$order." AND `member` = ".$user;
$result = mysql_query($query);

//add exit, so the script won't continue, and you can see what the error is
exit();

if (isset($query))
header("Location: http://www.dmcpublisher.com/shopping/cart.php");


echo "<SCRIPT LANGUAGE=\"JavaScript\">
	<!--hide
	window.close();
	//-->
	</SCRIPT> ";
?>

 

You can also add:

<?php
echo $user."<br />";
echo $order;
?>

 

To see if they are not empty..

Link to comment
Share on other sites

Hi, thanks for help

Note that i have the line that starts session but i didn't show it to you by mistake.

anyway, i echoed before all variables and session values they are correct.

I just run the code you gave me, after press Yes on empty_cart, teh popup windows didn't close automatically and was all white and empty.

 

and the cart.php didn't not make refresh:(

Link to comment
Share on other sites

Did the database update?

 

I think you can better use AJAX to reach what you try to do.

 

add to the JavaScript part:

function GetXmlHttpObject( handler ) {
var objXmlHttp = null;
if (navigator.userAgent.indexOf("Opera") >= 0) {
	alert ("Opera wordt niet ondersteund. Gebruik Firefox.");
	return;
}
if (navigator.userAgent.indexOf("MSIE") >= 0) {

		var strName = "Msxml2.XMLHTTP"

		if (navigator.appVersion.indexOf("MSIE 5.5") >= 0) {

		strName = "Microsoft.XMLHTTP";

	}

	try {

		objXmlHttp = new ActiveXObject(strName)
		objXmlHttp.onreadystatechange = handler;
		return objXmlHttp;

	} catch(e) {

		alert("Error. Scripting for ActiveX might be disabled");
		return;

	}

}

if (navigator.userAgent.indexOf("Mozilla") >= 0 ) {

	objXmlHttp = new XMLHttpRequest();
	objXmlHttp.onload = handler;
	objXmlHttp.onerror = handler;
	return objXmlHttp;

}

}


function UpdateCart(page, id, user, order) {

url = page + "?rnd=" + Math.random() + "&id=" + id + "&update=1&user=" + user + "&order=" + order;
xmlHttp = GetXmlHttpObject( CartUpdated );
xmlHttp.open("GET", url , true);
xmlHttp.send( null );
}

function CartUpdated() {

if (xmlHttp.readyState == 4 || xmlHttp.readyState == "complete") {

	if ( xmlHttp.status == 200 ) {

		document.getElementById('UpdateSpan').innerHTML = xmlHttp.responseText;

	}

	else alert ( xmlHttp.statusText );
}
}

function ConfirmUpdate(page, id, user, order){
var message = confirm('Are you sure you want to empty your cart?');
if (message){
	UpdateCart(page, id, user, order);
}
else {
	alert('Ok, nothing will happen, calm down!');
}

}

 

This way (with confirmation popup window) wil probably not work, but it's worth the try..

Button:

<?php
echo "
<a href=\"http://www.dmcpublisher.com/shopping/edit~qty.php?id=".$row[book]."\" onclick=\"NewWindow(this.href,'mywin','200','180','no','center'); return false\" onfocus=\"this.blur()\"> 
    <img border='0' src='../images/edit.JPG' width='18' height='18' alt='Edit QTY'>
</a><span id=\"UpdateSpan\"> </span>"
?>

 

Popup window:

<?php
   session_start();
   $user = $_SESSION['authen'];
   $order = $_SESSION['thisorder'];
   $id = $_GET['id']

   include('../CMS/operations.inc.php');
   
   //Never use the <font> tags...
   echo "<p align='center'>
         <font face='Tahoma'>
            <span style='font-size: 10pt'>Are you sure you want to empty your cart?</span>
         </font>
      </p>
      <p align='center'>
         <font face='Tahoma' size='2'>
            <font color='#FF0000'>
               <a href='#' onclick=\"UpdateCart('empty~cart~save.php', '".$id."', '".$user."', '".$order."')\">
                  <font color='#FF0000'>yes</font>
               </a>
            </font>
               
            <font color='#008000'>
               <font color='#008000'>
                  <a href=\"javascript:window.close();\">NO</a>
               </font>
            </font>
         </font>
      </p>";
?>

 

In the Popup where it updates the cart in the database (the Ajax part links to that page):

 

<?php
   if (isset($_GET['update']){
     $user = $_GET['user'];
     $order = $_SESSION['order'];

     include('../CMS/operations.inc.php');
     mysql_query("SET CHARACTER_SET_RESULTS=NULL");

     $query = "DELETE from `orders` WHERE `orderno` = ".$order." AND `member` = ".$user;
     $result = mysql_query($query);
   
     //change the order status to C ==> canceled
     $query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = ".$order." AND `member` = ".$user;
     $result = mysql_query($query);

     echo '<meta http-equiv="refresh" content="0">';
  }
?>

 

_________________________

OR:

 

Button:

<?php
   session_start();
   $user = $_SESSION['authen'];
   $order = $_SESSION['thisorder'];
   $id = $row[book];

echo "
<a href='#' onclick=\"ConfirmUpdate('empty~cart~save.php', '".$id."', '".$user."', '".$order."')\" onfocus=\"this.blur()\"> 
    <img border='0' src='../images/edit.JPG' width='18' height='18' alt='Edit QTY'>
</a><span id=\"UpdateSpan\"> </span>"
?>

 

No Popup window..

none

 

Place where it updates the cart in the database (the Ajax part links to that page):

 

<?php
   if (isset($_GET['update']){
     $user = $_GET['user'];
     $order = $_GET['order'];

     include('../CMS/operations.inc.php');
     mysql_query("SET CHARACTER_SET_RESULTS=NULL");

     $query = "DELETE from `orders` WHERE `orderno` = ".$order." AND `member` = ".$user;
     $result = mysql_query($query);
   
     //change the order status to C ==> canceled
     $query = "update `ordersmaster` SET `status` = 'C' WHERE `orderno` = ".$order." AND `member` = ".$user;
     $result = mysql_query($query);

     echo '<meta http-equiv="refresh" content="0">';
  }
?>

 

It might be buggy (changed everything without trying), but if you read the code, and know how it works, I'm sure you can make it work.

 

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.