On Tue, 2002-05-28 at 18:05, Gerard Samuel wrote:
> Its a fairly long script but this is a basic rundown of the mechanics.
> 
> some_page.php
> -----------------------------
> <?php
> /* user is sent here from another page, grab foo and bar from the url */
> $foo = $_GET['foo'];
> $bar = $_GET['bar'];
> 
> select * from database where this='$foo' and that='$bar';
> $result = mysql_query(....);
> if ($result === false)
> {
>     trigger_error(...);  // <- this is where it breaks for the other guy 
> but not for me...
> }
> 
> if (isset($_POST['submit']))
> {
>     insert into database (col1, col2) values ('$foo', '$bar');
> }
> else
> {
>     echo '<form action="some_page.php" method="post">';
                                                 ^^^^

You're POSTing the variables back to the form. Change your method
to get and you should be fine.

>     echo '<input type="hidden" name="foo" value="' . $foo . '">';
>     echo '<input type="hidden" name="bar" value="' . $bar . '">';
>     echo '<input type="submit" name="submit" value="Submit">';
> }
> ?>
> 
> Now as it stands, initially it would work fine, but when the form is 
> submitted, it would break, because 'foo' and 'bar' are in $_POST.
> For some reason, this is working on my boxes with register_globals set 
> to off.
> 
> Martin Towell wrote:
> 
> >code snippets would be good, if possible
> >
> >-----Original Message-----
> >From: Gerard Samuel [mailto:[EMAIL PROTECTED]]
> >Sent: Wednesday, May 29, 2002 10:46 AM
> >To: PHP
> >Subject: [PHP] PHP new super globals or something else??
> >
> >
> >I hope this makes sense to someone....
> >
> >Im converting a script over to work with 4.1.x +.
> >Im running php 4.1.2 on FreeBSD/Apache and I have 4.2.0 on w2k/IIS/Apache.
> >I sent the script to a friend of mine who is running w2k/Apache with 4.2.0.
> >He told me that the script isn't working for him but it was for me.
> >Upon closer inspection, I found out why it wasn't working for him, but 
> >Im wondering why it is for me.
> >I have register global turned off on both machines.
> >In the initial load of the page, I used $_GET to grab some variables 
> >from the url and pass it to hidden fields in the form.
> >$_GET['foo']
> >$_GET['bar']
> >Then the form is submitted to itself to insert into the database.  When 
> >its submitted, the script is looking for 'foo' and 'bar', but
> >they are now in the $_POST, and this is where it breaks for the other 
> >guy, because the script is still looking for 'foo' and 'bar' in
> >the $_GET array.  So in my case, it seems as if php is not behaving as 
> >it should.
> >So, my question is, are there any other php options that I should be 
> >looking for/using, to use the new variables in its strictest form.
> >
> >If you need more info, dont hesitate to ask.
> >Thanks
> >
> >
> >  
> >
> 
> -- 
> Gerard Samuel
> http://www.trini0.org:81/
> http://dev.trini0.org:81/
> http://www.myphpnuke.com
> 
> 
> 
> 
> -- 
> PHP General Mailing List (http://www.php.net/)
> To unsubscribe, visit: http://www.php.net/unsub.php
> 
> 
-- 
 Torben Wilson <[EMAIL PROTECTED]>
 http://www.thebuttlesschaps.com
 http://www.hybrid17.com
 http://www.inflatableeye.com
 +1.604.709.0506


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

Reply via email to