Re: undefined index and php
| From: | Richard Lynch | Date: | Thu, 10 Nov 2005 21:17:58 +0000 |
| Subject: | Re: undefined index and php | ||
| References: | 1 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-225549@lists.php.net to get a copy of this message | ||
On Thu, November 10, 2005 5:54 am, Ross wrote:
> Before someone advises me to 'google' my question. I have and can't
> find a
> PHP.net example either.
>
> I have turned off registered globals and am updating my scripts so
> they work
> but I keep getting an undefined index problem using $_POST
>
> I tried this to set the value...
>
> if (!isset($_POST['heading'])) {
> $_POST ['heading'] = "";
> }
>
> because the following line give the notice 'undefined index' BEFORE
> the
> submit button has been pressed..
>
> <? $heading_insert= stripslashes($_POST['heading']);?>
This bit of code is getting run BEFORE the submit button has been
pressed.
In that case, $_POST itself is not defined, much less $_POST['heading']
You really shouldn't be stuffing values into $_POST. Think of it as a
read-only variable that the browser sends TO you.
Here are some options:
OPTION 1:
<?php
$heading_insert = '';
if (isset($_POST['heading'])){
$heading_insert = stripslashes($_POST['heading']);
}
?>
OPTION 2:
<?php
$heading_insert = isset($_POST['heading']) ?
stripslashes($_POST['heading']) : '';
?>
Some people think the ternary operator is "confusing" or "obscure" or
whatever. Others think it's a perfectly natural operator. YMMV
--
Like Music?
http://l-i-e.com/artists.htm