php-windows Digest 5 Aug 2004 04:24:08 -0000 Issue 2346

Topics (messages 24347 through 24348):

Re: Setting redirect after HTTP upload
        24347 by: Justin Patrin
        24348 by: Sudeep Zamudra

Administrivia:

To subscribe to the digest, e-mail:
        [EMAIL PROTECTED]

To unsubscribe from the digest, e-mail:
        [EMAIL PROTECTED]

To post to the list, e-mail:
        [EMAIL PROTECTED]


----------------------------------------------------------------------
--- Begin Message ---
On Wed, 4 Aug 2004 14:35:41 +0100 (BST), Mikey <[EMAIL PROTECTED]> wrote:
> Hi NG,
> 
> Was wondering if anyone knew how why my code would fail to re-direct to
> another page and whether this may be related to the fact that I have done an
> HTTP upload?
> 
> On several pages, I perform a dB update and then re-direct to another page
> using:
> 
> header ("Location: /some_url.php\n\n");
> // \n\n included cos I read it in the manual years ago

1) According to standards, you're supposed to give a full absolute URL
for the Location header
2) You shouldn't need the newlines in the header call


> 
> And this works as expected.  However, on one page, I upload either one or
> two files via HTTP and process them, however, once the files have been
> processed and the database has been updated, the page is blank and it says
> it is done.
> 
> It have put in an echo just above the header() call and the re-direct fails
> as expected ("Cannot modify headers, etc...") so their can't be any other
> output created by my script.
> 
> I have included the complete listing of the code that I am trying to execute
> below - I have already through all the online comments in the manual
> regarding both header() and HTTP uploads, but have found nothing that
> helps.
> 
> Ta!
> 
> frak!
> 
>  if (isset ($_REQUEST['sub_symbol']))
>  {
>   $sp = "/images/symbols/";
> 
>   // Are there files to process?
>   if (count ($_FILES) > 0)
>   {
>    if (isset ($_FILES['Image']) && $_FILES['Image']['tmp_name'] != "")
>    {
>     $img_name = $_FILES['Image']['name'];
>     while (file_exists ($_SITEPATH.$sp.$img_name))
>      $img_name = uniqid ("img").".jpg";
>     $img = new Photograph ();
>     $img->open ($_FILES['Image']['tmp_name']);
>     $img->create ($_SITEPATH.$sp, "", $img_name);
>    }
>    if (isset ($_FILES['Eps']) && $_FILES['Eps']['tmp_name'] != "")
>    {
>     $eps_name = "/eps/symbols/".$_FILES['Eps']['name'];
>     while (file_exists ($_SITEPATH.$eps_name))
>      $eps_name = "/eps/symbols/".uniqid ("eps").".eps";
>     move_uploaded_file ($_FILES['Eps']['tmp_name'], $_SITEPATH.$eps_name)
>      or die ("Couldn't move uploaded
> file...({$_FILES['Eps']['tmp_name']})<br>\n");
>    }
>   }
> 
>   if (!isset ($img_name))
>    $img_name = $_REQUEST['old_img_path'];
>   else
>    $img_name = $sp.$img_name;
>   if (!isset ($eps_name))
>    $eps_name = $_REQUEST['old_eps_path'];
> 
>   if ($_REQUEST['sub_symbol'] == "Save Changes")
>   {
>    $sql = "UPDATE tblSymbols SET \"swmName\"='".safeSQL
> ($_REQUEST['swmName'])."', \"swmImgPath\"='$img_name',
> \"swmEpsPath\"='$eps_name' WHERE \"irpSymbol\"=".$_REQUEST['irpSymbol'];
>   }
>   else
>   {
>    $sql = "INSERT INTO tblSymbols VALUES (0, '".safeSQL
> ($_REQUEST['swmName'])."', '$img_name', '$eps_name')";
>   }
>   $sth = ociparse ($conn, $sql)
>    or die ("Couldn't parse SQL: $sql<br>\n");
>   ociexecute ($sth)
>    or die ("Coudn't execute SQL: $sql<br>\n");
>   header ("Location: /admin/symbols.html\n\n");
>   exit ();
>  }
> 
> --
> Recruitment consultants are like morning dew - soggy and wet in the
> morning and non-existent by the afternoon.
> 

-- 
DB_DataObject_FormBuilder - The database at your fingertips
http://pear.php.net/package/DB_DataObject_FormBuilder

paperCrane --Justin Patrin--

--- End Message ---
--- Begin Message ---
Hi,
 
You cannot use header function if u want to output anything on that page. If you still 
want to redirect the page. Use <? ob_start(); ?> at the top of the page.
 
.....SuDeEp..... 

Mikey <[EMAIL PROTECTED]> wrote:
Hi NG,

Was wondering if anyone knew how why my code would fail to re-direct to
another page and whether this may be related to the fact that I have done an
HTTP upload?

On several pages, I perform a dB update and then re-direct to another page
using:

header ("Location: /some_url.php\n\n");
// \n\n included cos I read it in the manual years ago

And this works as expected. However, on one page, I upload either one or
two files via HTTP and process them, however, once the files have been
processed and the database has been updated, the page is blank and it says
it is done.

It have put in an echo just above the header() call and the re-direct fails
as expected ("Cannot modify headers, etc...") so their can't be any other
output created by my script.

I have included the complete listing of the code that I am trying to execute
below - I have already through all the online comments in the manual
regarding both header() and HTTP uploads, but have found nothing that
helps.

Ta!

frak!

if (isset ($_REQUEST['sub_symbol']))
{
$sp = "/images/symbols/";

// Are there files to process?
if (count ($_FILES) > 0)
{
if (isset ($_FILES['Image']) && $_FILES['Image']['tmp_name'] != "")
{
$img_name = $_FILES['Image']['name'];
while (file_exists ($_SITEPATH.$sp.$img_name))
$img_name = uniqid ("img").".jpg";
$img = new Photograph ();
$img->open ($_FILES['Image']['tmp_name']);
$img->create ($_SITEPATH.$sp, "", $img_name);
}
if (isset ($_FILES['Eps']) && $_FILES['Eps']['tmp_name'] != "")
{
$eps_name = "/eps/symbols/".$_FILES['Eps']['name'];
while (file_exists ($_SITEPATH.$eps_name))
$eps_name = "/eps/symbols/".uniqid ("eps").".eps";
move_uploaded_file ($_FILES['Eps']['tmp_name'], $_SITEPATH.$eps_name)
or die ("Couldn't move uploaded
file...({$_FILES['Eps']['tmp_name']})
\n");
}
}

if (!isset ($img_name))
$img_name = $_REQUEST['old_img_path'];
else
$img_name = $sp.$img_name;
if (!isset ($eps_name))
$eps_name = $_REQUEST['old_eps_path'];

if ($_REQUEST['sub_symbol'] == "Save Changes")
{
$sql = "UPDATE tblSymbols SET \"swmName\"='".safeSQL
($_REQUEST['swmName'])."', \"swmImgPath\"='$img_name',
\"swmEpsPath\"='$eps_name' WHERE \"irpSymbol\"=".$_REQUEST['irpSymbol'];
}
else
{
$sql = "INSERT INTO tblSymbols VALUES (0, '".safeSQL
($_REQUEST['swmName'])."', '$img_name', '$eps_name')";
}
$sth = ociparse ($conn, $sql)
or die ("Couldn't parse SQL: $sql
\n");
ociexecute ($sth)
or die ("Coudn't execute SQL: $sql
\n");
header ("Location: /admin/symbols.html\n\n");
exit ();
}



-- 
Recruitment consultants are like morning dew - soggy and wet in the
morning and non-existent by the afternoon.

-- 
PHP Windows Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

--- End Message ---

Reply via email to