Getting rid of notices.

Posted on 2008-09-29
Medium Priority
Last Modified: 2012-05-05
I am getting tons of notice errors on my site and would like to get rid of them ofcourse i can do that by setting it so it wont display them but would be better if they were prevented in the first place.

most all of them seem to have the same indication

Notice: Undefined index: usertype in /srv/www/htdocs/agents/public_html/index.php on line 17
 undefined index and always in the session.
Is there a way to set it so it has atleast an empty value in the session so the index atleast exists eventhough its empty ??
sorta like to catch the notice ?

if (isset($_GET['store'])) {
$storeid = $_GET['store'];
} else {
$storeid = $_SESSION['paywaveid'];
// line 17 below .. 
if ($_SESSION['usertype'] == 'Employees') {
	$storeid = "";

Open in new window

Question by:mdeek

Expert Comment

ID: 22597337
Choose your style below :-)
// Turn off all error reporting

// Report simple running errors
error_reporting(E_ERROR | E_WARNING | E_PARSE);

// Reporting E_NOTICE can be good too (to report uninitialized
// variables or catch variable name misspellings ...)
error_reporting(E_ERROR | E_WARNING | E_PARSE | E_NOTICE);

// Report all errors except E_NOTICE
// This is the default value set in php.ini
error_reporting(E_ALL ^ E_NOTICE);

// Report all PHP errors
LVL 24

Expert Comment

ID: 22597339
You can accomplish this by using isset() to determine if the index is set before attempting to access it:

if (isset($_SESSION['usertype']) &&$_SESSION['usertype'] == 'Employees')
LVL 24

Expert Comment

ID: 22597347
A typo: There should be a space after the '&&'.
if (isset($_SESSION['usertype']) &&$_SESSION['usertype'] == 'Employees')

Open in new window

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.


Expert Comment

ID: 22597680
better than using isset(), use empty() - this checks for non-existant variables, emtpy values, null values, or values of 0. All of these are technically 'empty'

if (!empty($_SESSION['usertype']) && $_SESSION['usertype'] == 'Employees'){
  // do something here

Author Comment

ID: 22606805
ok but suppose the index doesnt exist so it has not been set , is there a way to give it an empty value ? or a default value so that it does exists and therefor eliminating the notice "undefined index" because then the index exists right ?

for instance array gets pulled index usertype is empty so doesnt exist set the usertype to lets say 1 and later on when needed change that index to something else ?

im just looking for a way to get rid of the notices without resorting to just hiding them with the php.ini configuration.

Accepted Solution

trickyidiot earned 750 total points
ID: 22607571
to get rid of the notices, check for the existence of a var when you're checking the value.

line 17:
if (!empty($_SESSION['usertype']) && $_SESSION['usertype'] == 'Employees') {

Doing this will result in NO warnings in your logs.

Featured Post

The 14th Annual Expert Award Winners

The results are in! Meet the top members of our 2017 Expert Awards. Congratulations to all who qualified!

Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Password hashing is better than message digests or encryption, and you should be using it instead of message digests or encryption.  Find out why and how in this article, which supplements the original article on PHP Client Registration, Login, Logo…
Many old projects have bad code, but the budget doesn't exist to rewrite the codebase. You can update this code to be safer by introducing contemporary input validation, sanitation, and safer database queries.
The viewer will learn how to dynamically set the form action using jQuery.
The viewer will learn how to create and use a small PHP class to apply a watermark to an image. This video shows the viewer the setup for the PHP watermark as well as important coding language. Continue to Part 2 to learn the core code used in creat…

600 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question