Re: $POST and $_SESSION

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 15 Mar 2012, at 15:13, Daniel Brown wrote:

> On Thu, Mar 15, 2012 at 11:04, Tedd Sperling <tedd.sperling@xxxxxxxxx> wrote:
>> Hi gang:
>> 
>> What's a better/shorter way to write this?
>> 
>> $first_name = $_SESSION['first_name'] ? $_SESSION['first_name'] : null;
>> $first_name = isset($_POST['first_name']) ? $_POST['first_name'] : $first_name;
>> $_SESSION['first_name'] = $first_name;
> 
>    A simple reusable function and pass-through variable is one method:
> 
> <?php
> 
>    session_start();
>    $_SESSION['first_name'] = $first_name =
> thisorthat(@$_POST['first_name'],null);
> 
>    function thisorthat($a,$b) {
>        return isset($a) ? $a : $b;
>    }
> 
> ?>

The @ prefix is banned from all code I go anywhere near - it's evil! I've used the following 'V' function for a long time, primarily for accessing the superglobals but it works for any array.

<?php
session_start();
$_SESSION['first_name'] = $first_name = V($_SESSION, 'first_name');

function V($arr, $key, $def = null) {
  return isset($arr[$key]) ? $arr[$key] : $def;
}
?>

-Stuart

-- 
Stuart Dallas
3ft9 Ltd
http://3ft9.com/

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




[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux