mtek@mtekusa.com wrote:
> On Mar 26, 1:04 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>> m...@mtekusa.com wrote:
>>> On Mar 26, 8:12 am, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>>>> Satya wrote:
>>>>> On Mar 26, 5:06 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
>>>>>> m...@mtekusa.com wrote:
>>>>>>> On Mar 25, 11:03 pm, "Mario Adolf" <mo...@ultrafx.de> wrote:
>>>>>>>> Martin wrote:
>>>>>>>>> It doesn't have to be the first thing in your script but it does have
>>>>>>>>> to be the first thing that is served out. I have a couple of scripts
>>>>>>>>> where the header is 25-30 lines down in the script; but, it's the
>>>>>>>>> first thing that the script sends out
>>>>>>>>> Check your script. You must have something being served out prior to
>>>>>>>>> your header. Maybe something in an included file that's at the top of
>>>>>>>>> your script?
>>>>>>>> I've also learnt the hard way that even just a blank line preceeding your
>>>>>>>> code stuffs it up.
>>>>>>>> header can be real bitchy.
>>>>>>>> HTH
>>>>>>>> Mario
>>>>>>> Found it!!!
>>>>>>> I have an include file, which is a very small php script which
>>>>>>> initializes some variables. Basically it looks like this:
>>>>>>> <?
>>>>>>> init variables
>>>>>>> ?>
>>>>>>> It outputs nothing!! Why is this a problem???
>>>>>>> So, I guess I need to figure out how to include this file
>>>>>>> properly......any suggestions??
>>>>>> Just ensure you have no space before or after the braces in the included
>>>>>> file. ANY output - even white space - will cause headers to be sent
>>>>>> and, as a result, the header() call to fail.
>>>>>> Also, you should always have the following in your php.ini file on your
>>>>>> development system:
>>>>>> error_reporting=E_ALL (or E_ALL | E_STRICT)
>>>>>> display_errors=on
>>>>>> This would have displayed an error message when the header() call failed
>>>>>> and identifying where the output was initiated.
>>>>>>> Also, on another note: I know that if my PHP script contains a FORM,
>>>>>>> I can pass variables between scripts. But, if I just change the
>>>>>>> header location, how can I pass the variable to the php script I am
>>>>>>> calling???
>>>>>> You can pass them as GET values or in the $_SESSION array. Personally,
>>>>>> I prefer the latter.
>>>>>>> Thanks!
>>>>>>> John
>>>>>> --
>>>>>> ==================
>>>>>> Remove the "x" from my email address
>>>>>> Jerry Stuckle
>>>>>> JDS Computer Training Corp.
>>>>>> jstuck...@attglobal.net
>>>>>> ==================- Hide quoted text -
>>>>>> - Show quoted text -
>>>>> and, use ob_start(); at the top. Then any output by mistake will not
>>>>> be out-putted.
>>>>> http://satya61229.blogspot.com/2007/...fy-header.html
>>>> WRONG, WRONG, WRONG! All that does is hide the error, not fix it.
>>>> The problem still exists, and ob_start() causes other problems - like
>>>> delaying output to the browser, which means higher server loads and
>>>> poorer performance to the client.
>>>> --
>>>> ==================
>>>> Remove the "x" from my email address
>>>> Jerry Stuckle
>>>> JDS Computer Training Corp.
>>>> jstuck...@attglobal.net
>>>> ==================
>>> What do you suggest to solve the issues?
>> Fix the problem.
>>
>> Somewhere you are outputting something - as others have indicated, you
>> probably have something outside the <?php ... ?> in your included file.
>>
>> Even white space will do it.
>>
>> Turn on your errors and display them. That will show you where the
>> output was initiated. On a development system, your php.ini file should
>> always have:
>>
>> error_reporting=E_ALL
>> display_errors=on
>>
>> --
>> ==================
>> Remove the "x" from my email address
>> Jerry Stuckle
>> JDS Computer Training Corp.
>> jstuck...@attglobal.net
>> ==================
>
>
> Hi,
>
> Thanks for all your suggestions. I was able to solve the issue with
> the blank page. However, I'm still not passing any variables.
>
> Basically the customer chooses a date in which to edit data. When he
> does that, he is brought to another page where he can select the data
> he wants to edit for that date. All those variables get passed
> properly. Next, he selects the data to edit and is brought to an edit
> screen. All that seems to work and the variables are passed. But,
> when done editing and he returns to the previous page, no variables
> are passed back.
>
> The only difference is that when he saves the data, it calls a PHP
> script to save the data, and then changes the header to return to the
> previous page. Maybe I am not doing this correctly? I mean, from the
> save script, it is just changing the location. It is not using a form
> or anything.....
>
> Thanks!
>
> John.
>
>
A header call is just a command to the browser to GET the new page. Any
posted values are not passed.
The easiest way to pass values is in the $_SESSION array, i.e.
session_start();
$_SESSION['p1'] = $val1;
$_SESSION['p2'] = $val2;
// etc.
Then to fetch them in the new page, use:
session_start();
$val1 = $_SESSION['p1'];
$val2 = $_SESSION['p2'];
// etc.
session_start() must be called before any output is sent, just like
header() must.
A poorer alternative would be to add the parameters to your URL and
fetch them as GET parameters, i.e.
header("Location:http://www.example.com/mypage.php?p1=$val1&p2=$val2");
Then fetch the values with
$val1 = $_GET['p1'];
$val2 = $_GET['p2'];
--
==================
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstucklex@attglobal.net
==================