|
Posted by Rik Wasmus on 02/01/08 15:50
On Fri, 01 Feb 2008 16:35:13 +0100, bobo <fourtwentybh@yahoo.com> wrote:=
> Rik Wasmus wrote:
>
>> On Fri, 01 Feb 2008 15:58:41 +0100, bobo <fourtwentybh@yahoo.com>
>> wrote:
>>
>> > I need something like include("first.php?id=3D1")...
>> >
>>
>> You don't. $_GET variables are available in the included script:
>>
>>
>> url: first.php?id=3D2
>> first.php
>> <?php
>> include 'second.php';
>> ?>
>> second.php
>> <?php
>> echo $_GET['id'];//outputs '2'
>> ?>
>>
>> Now, if you need the change the GET variable in between, there is
>> something wrong with the logic, but we can work around that:
>>
>> url: first.php?id=3D2
>> first.php
>> <?php
>> $id =3D 3;
>> include 'second.php';
>> ?>
>> second.php
>> <?php
>> $id =3D isset($id) ? $id : $_GET['id'];
>> echo $id;//outputs '3'
>> ?>
>
>
> yes... that's what I'm doing now... to set the value for the variable
> and then include the second file... but, I was wondering if I could do=
> a function like include, but add argument to the second file...
>
> something like this
>
> first.php
> include("second.php?id=3D1")
>
> second.php
> do whatever, with the id value
>
> so... what I want is not to set the value before... but... to send the=
> value to the file... something like you use when linking... i.e.
> <a href=3D'second.php?id=3D1'>
> but... without the link... something like include
>
> is that possible?
Offcourse, you could include by HTTP instead of the FILE system, and giv=
e =
GET variables. This has all sorts of drawbacks, and I wouldn't recommend=
=
it.
Is there any reason that this:
<?php
include('http://www.example.com/foo.php?id=3D1');
?>
.... is easier for you then:
<?php
$id=3D1;
include('foo.php');
?>
I'd opt for the second option every time.
If you're worried about variables in global scope:
first.php
<?php
function second_include($args){
extract($args);
include('second.php');
}
second_include(array('foo' =3D> 'bar'));
?>
second.php
<?php echo $foo; ?>
-- =
Rik Wasmus
[Back to original message]
|