PHP - Undefined Index Problems
So, for the past couple of years or so I've been using CodeIgniter to develop my PHP applications... which may have been a mistake. As of late, I've been trying to get away from frameworks and am developing an application purely on my own. I never had this problem with CI, but whenever I try to determine if a variable/index has been defined, I get an error. For example, if I use an if statement to see if a session index called "mid" was defined, I get a PHP error saying that it's undefined. Is there any way to get around this?
Code: [Select] <?php if($_SESSION['mid']){ echo $inbox; } else { echo 'Your not logged in!'; } ?> Similar TutorialsI really dont no what the problem is and im new here so i dont no if this is the right place to put this but im trying to make a registration page for my server and when i bring it up it says Undefined index: action in C:\xampp\htdocs\index.php on line 56 and idk what to do >.< this is the line that has the problem if($_POST['action']!="signup") so hopefully u guys could help me :/ Im using xampp btw Hello, I have just upgraded my wampserver and with it MySQL, PHP and PhpMyAdmin versions. And my scripts, which ran normally before, not burst hundreds of undefined variable and undefined index notices. I realize it's "notices", not "errors" but this is quite irritating. I believe it might be due to some upgrade in PHP scripting rules or something but I don't know what. I hope you can help me. The first type of notice is "undefined variable". This function will return the notice if I remove the bold red line, where I define the variable as empty before I use it in the loop. I didn't need to do this before. function statistics($array) { [color=red][b]$list = '';[/b][/color] if(is_array($array)) { foreach($array as $name => $value) { // Rip out the name of the client. $list .= "<li>".$name." - "; // set an integer so we know how many tier2 values we have read. $x = 0; foreach($value as $difference => $sum_total) { // if this is the more than the first tier2 values, use a '+' between the units. $list .= (++$x > 1) ? " + ".$sum_total." ".$difference : $sum_total." ".$difference; } // close the line out. $list .= "</li>"; } } return $list; } To avoid the 10+ like notices on the page I declare them empty before the variable's first occurrence. But this sounds stupid to me. Wasn't this one of PHP's benefits, not to have to declare the variable before using it? I also get about 30+ undefined index notices, e.g. Quote Notice: Undefined index: COMPANY XXX in F:\wamp\www\Project Management\main.php on line 37 Notice: Undefined index: USD in F:\wamp\www\Project Management\main.php on line 37 Notice: Undefined index: USD in F:\wamp\www\Project Management\main.php on line 41 Here are those lines: $income_total = calculate("income"); foreach($income_total as $row) { $clientID = $row['clientID']; $clientname = $row['clientname']; //$client = "<a href=\"index.php?page=Client&do=view&clientID=$clientID\">".$clientname."</a>"; $client = "<a href=\"index.php?page=Project&do=view&sortby=$clientID\">".$clientname."</a>"; $currency = $row['currency']; $client_sum = $row['client_sum']; $year_sum = ''; $year_sum += $client_sum; $income = ''; $income[$client][$currency] += $client_sum; $income_list = statistics($income); $income_all = ''; $income_all[$currency] += $client_sum; } Line 37 is: Quote $income[$client][$currency] = It's the values assigned to $client and to $currency that seem to cause the notice. How do I deal with this? I don't just want to turn error/notice display off, I want to resolve this issue. my current code: Code: [Select] $Townsearch = $_REQUEST['rsTown']; list($Town, $County) = split('[,]', $Townsearch); ltrim($County,1); I am getting undefined index and undefined offset, so I tried this: Code: [Select] if $_REQUEST['rsTown'] == ''{ $Townsearch = ''; } else { $Townsearch = $_REQUEST['rsTown']; } but this brought back: Parse error: syntax error, unexpected T_VARIABLE, expecting '(' in D:\retroandvintage.co.uk\wwwroot\main.php on line 6 Can someone please help? thanks please help! I am getting undefined index and offset when I duplicated my SEARCH page for when logged in here is my code Code: [Select] <?php include_once("config.php"); include_once("functions.php"); // Check user logged in already: checkLoggedIn("yes"); ?> <!doctype html> <html> <head> <title>Retro and Vintage</title> <meta name="description" content="xxx" /> <meta name="keywords" content="xxx" /> <meta name="Content-Language" content="en-gb" /> <meta name="robots" content="FOLLOW,INDEX" /> <meta name="revisit-after" content="2 days" /> <meta name="copyright" content="jbiddulph.com" /> <meta name="author" content="John Biddulph - Professional web site design and development in the south of england mainly worthing and brighton" /> <meta name="distribution" content="Global" /> <meta name="resource-type" content="document" /> <link rel="stylesheet" type="text/css" href="css/reset.css" /> <link rel="stylesheet" type="text/css" href="css/style.css" title="default" /> <link rel="alternate stylesheet" type="text/css" href="css/style1.css" title="1" /> <link rel="alternate stylesheet" type="text/css" href="css/style2.css" title="2" /> <script type="text/javascript" src="js/stylechanger.js"></script> <script type="text/javascript" src="js/jquery-1.2.1.pack.js"></script> <script type="text/javascript"> function lookup(inputString) { if(inputString.length == 0) { // Hide the suggestion box. $('#suggestions').hide(); } else { $.post("rpc.php", {queryString: ""+inputString+""}, function(data){ if(data.length >0) { $('#suggestions').show(); $('#autoSuggestionsList').html(data); } }); } } // lookup function fill(thisValue) { $('#inputString').val(thisValue); setTimeout("$('#suggestions').hide();", 200); } </script> </head> <body> <?php if($messages) { displayErrors($messages); }?> <header> <div id="title"> <h1>My Pub Space <a href="#" onClick="setActiveStyleSheet('default'); return false;"><img src="images/0.gif" width="15" height="15" border="0" alt="css style" /></a> <a href="#" onClick="setActiveStyleSheet('1'); return false;"><img src="images/1.gif" width="15" height="15" border="0" alt="css style" /></a> <a href="#" onClick="setActiveStyleSheet('2'); return false;"><img src="images/2.gif" width="15" height="15" border="0" alt="css style" /></a> <span> <form method="post" class="textbox" action="search1.php"> City/Town: <input type="text" size="26" class="searchbox" value="" id="inputString" onKeyUp="lookup(this.value);" onBlur="fill();" /> <div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="images/upArrow.png" style="position: relative; top: -36px; left: 105px; z-index:1;" alt="upArrow" /> <div class="suggestionList" id="autoSuggestionsList"> </div> </div> <input type="image" src="images/go.png" height="30" with="30" value="GO" /> </form> </span> </h1> </div> </header> <nav> <ul> <li class="selected"><a href="#">Home</a></li> <li><a href="#">Pubs</a></li> <li><a href="#">Members</a></li> <li><a href="#">Events</a></li> <li><a href="#">Register</a></li> </ul> </nav> <section id="intro"> <header> <h2>Your social guide to going down the pub, online!</h2> </header> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.</p> <img src="images/pub.jpg" alt="pub" /> </section> <div id="content"> <div id="mainContent"> <section> <article class="blogPost"> <header> <h2>This is the title of a blog post</h2> <p>Posted on <time datetime="2009-06-29T23:31+01:00">June 29th 2009</time> by <a href="#">Mads Kjaer</a> - <a href="#comments">3 comments</a></p> </header> <?php // drop out of PHP mode to display the plain HTML: $Townsearch = $_GET['rsTown']; echo $Townsearch; // Delimiters may be slash, dot, or hyphen list($Town, $County) = split('[,]', $Townsearch); $tableName="pubs"; $targetpage = "search1.php"; $limit = 20; $query = "SELECT COUNT(*) as num FROM $tableName WHERE rsTown LIKE '$Town%'"; $total_pages = mysql_fetch_array(mysql_query($query)); $total_pages = $total_pages['num']; $stages = 3; $page = mysql_escape_string($_REQUEST['page']); if( isset($_REQUEST['page']) && ctype_digit($_REQUEST['page']) ) { $page = (int) $_GET['page']; $start = ($page - 1) * $limit; }else{ $start = 0; } // Get page data $query1 = "SELECT * FROM $tableName WHERE rsTown LIKE '$Town%' LIMIT $start, $limit"; $result = mysql_query($query1); // Initial page num setup if ($page == 0){$page = 1;} $prev = $page - 1; $next = $page + 1; $lastpage = ceil($total_pages/$limit); $LastPagem1 = $lastpage - 1; $paginate = ''; if($lastpage > 1) { $paginate .= "<div class='paginate'>"; // Previous if ($page > 1){ $paginate.= "<a href='$targetpage?page=$prev'>previous</a>"; }else{ $paginate.= "<span class='disabled'>previous</span>"; } // Pages if ($lastpage < 7 + ($stages * 2)) // Not enough pages to breaking it up { for ($counter = 1; $counter <= $lastpage; $counter++) { if ($counter == $page){ $paginate.= "<span class='current'>$counter</span>"; }else{ $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";} } } elseif($lastpage > 5 + ($stages * 2)) // Enough pages to hide a few? { // Beginning only hide later pages if($page < 1 + ($stages * 2)) { for ($counter = 1; $counter < 4 + ($stages * 2); $counter++) { if ($counter == $page){ $paginate.= "<span class='current'>$counter</span>"; }else{ $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";} } $paginate.= "..."; $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>"; $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>"; } // Middle hide some front and some back elseif($lastpage - ($stages * 2) > $page && $page > ($stages * 2)) { $paginate.= "<a href='$targetpage?page=1'>1</a>"; $paginate.= "<a href='$targetpage?page=2'>2</a>"; $paginate.= "..."; for ($counter = $page - $stages; $counter <= $page + $stages; $counter++) { if ($counter == $page){ $paginate.= "<span class='current'>$counter</span>"; }else{ $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";} } $paginate.= "..."; $paginate.= "<a href='$targetpage?page=$LastPagem1'>$LastPagem1</a>"; $paginate.= "<a href='$targetpage?page=$lastpage'>$lastpage</a>"; } // End only hide early pages else { $paginate.= "<a href='$targetpage?page=1'>1</a>"; $paginate.= "<a href='$targetpage?page=2'>2</a>"; $paginate.= "..."; for ($counter = $lastpage - (2 + ($stages * 2)); $counter <= $lastpage; $counter++) { if ($counter == $page){ $paginate.= "<span class='current'>$counter</span>"; }else{ $paginate.= "<a href='$targetpage?page=$counter'>$counter</a>";} } } } // Next if ($page < $counter - 1){ $paginate.= "<a href='$targetpage?page=$next'>next</a>"; }else{ $paginate.= "<span class='disabled'>next</span>"; } $paginate.= "</div>"; } echo $total_pages.' Results'; // pagination echo $paginate; ?> <ul> <?php while($row = mysql_fetch_array($result)) { echo '<li>'.$row['rsPubName'].', '.$row['rsTown'].', '.$row['rsCounty'].'</li>'; if ($_SESSION["rsUser"] == "admin") { echo "<a href=\"edit.php?PUBID=".$row['PubID']."\" class=\"small\">edit this pub</a>"; } } ?> </ul> </article> </section> <section id="comments"> <h3>Comments</h3> <article> <header> <a href="#">George Washington</a> on <time datetime="2009-06-29T23:35:20+01:00">June 29th 2009 at 23:35</time> </header> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.</p> </article> <article> <header> <a href="#">Benjamin Franklin</a> on <time datetime="2009-06-29T23:40:09+01:00">June 29th 2009 at 23:40</time> </header> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.</p> </article> <article> <header> <a href="#">Barack Obama</a> on <time datetime="2009-06-29T23:59:00+01:00">June 29th 2009 at 23:59</time> </header> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut.</p> </article> </section> <form action="#" method="POST" method="post"> <h3>Post a comment</h3> <p> <label for="name">Name</label> <input name="name" id="name" type="text" required /> </p> <p> <label for="email">E-mail</label> <input name="email" id="email" type="email" required /> </p> <p> <label for="website">Website</label> <input name="website" id="website" type="url" /> </p> <p> <label for="comment">Comment</label> <textarea name="comment" id="comment" required></textarea> </p> <p> <input type="submit" value="Post comment" /> </p> </form> </div> <aside> <section> <header> <h3>Members Login Area</h3> </header> <h4>Welcome <? print($_SESSION["rsUser"]); ?></h4> <a href="logout.php">Logout</a> </section> <section> <header> <h3>Archives</h3> </header> <ul> <li><a href="#">December 2008</a></li> <li><a href="#">January 2009</a></li> <li><a href="#">February 2009</a></li> <li><a href="#">March 2009</a></li> <li><a href="#">April 2009</a></li> <li><a href="#">May 2009</a></li> <li><a href="#">June 2009</a></li> </ul> </section> </aside> </div> <footer> <div> <section id="about"> <header> <h3>About</h3> </header> <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco <a href="#">laboris nisi ut aliquip</a> ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.</p> </section> <section id="blogroll"> <header> <h3>Blogroll</h3> </header> <ul> <li><a href="#">NETTUTS+</a></li> <li><a href="#">FreelanceSwitch</a></li> <li><a href="#">In The Woods</a></li> <li><a href="#">Netsetter</a></li> <li><a href="#">PSDTUTS+</a></li> </ul> </section> <section id="popular"> <header> <h3>Popular</h3> </header> <ul> <li><a href="#">This is the title of a blog post</a></li> <li><a href="#">Lorem ipsum dolor sit amet</a></li> <li><a href="#">Consectetur adipisicing elit, sed do eiusmod</a></li> <li><a href="#">Duis aute irure dolor</a></li> <li><a href="#">Excepteur sint occaecat cupidatat</a></li> <li><a href="#">Reprehenderit in voluptate velit</a></li> <li><a href="#">Officia deserunt mollit anim id est laborum</a></li> <li><a href="#">Lorem ipsum dolor sit amet</a></li> </ul> </section> </div> </footer> </body> </html> error lies on these lines Code: [Select] // drop out of PHP mode to display the plain HTML: $Townsearch = $_GET['rsTown']; echo $Townsearch; // Delimiters may be slash, dot, or hyphen list($Town, $County) = split('[,]', $Townsearch); hi, I need help really badly for my PHP-Postcard Script. Basically it sends the card out but the URL does not work, I get the following error message: The URL is not valid and cannot be loaded It also states that Notice: Undefined index: www.voluntary.awardspace.co.uk in /home/www/voluntary.awardspace.co.uk/Postcard.php on line 25 Notice: Undefined index: Postcard.php in /home/www/voluntary.awardspace.co.uk/Postcard.php on line 25 See Code below: <?php session_start(); //check error log ini_set('display_errors', 1); ini_set('log_errors', 1); ini_set('error_log', dirname(__FILE__) . '/error_log.txt'); error_reporting(E_ALL); // CHANGE PARAMETERS HERE BEGIN $senderName = " Holidays From Home "; // Eg.: John's Postcards $senderEmail = "chris01@voluntary.awardspace.co.uk"; // Eg.: john@postcard.com // Change only if you have problems with urls $postcardURL = "http://".$_SERVER["www.voluntary.awardspace.co.uk"].$_SERVER["Postcard.php"]; // CHANGE PARAMETERS HERE END $result = 0; $msg = ""; $msg1 = ""; $pic = ""; function displayPhotos() { global $pic; $columns = 5; $act = 0; $act1 = 0; // Open the actual directory if($handle = opendir("thumbs")) { // Read all file from the actual directory while($file = readdir($handle)) { if(!is_dir($file)) { if(isset($pic[1])) { if($pic[1] == $act1){$sel = "checked";} else{$sel = "unchecked";} } if($act == 0){echo "<tr>";} echo "<td align='center'><img src='thumbs/$file' alt='postcard'/><br/><input type='radio' name='selimg' value='$file,$act1' $sel/></td>"; $act++; $act1++; if($act == $columns){$act = 0;echo "</tr>";} } } echo "</tr>"; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "DTD/xhtml1-transitional.dtd"> <html> <head> <title>Micro Postcard</title> <link href= "style/style.css" rel="stylesheet" type="text/css" /> </head> <body> <div id="main"> <div class="style1" id="caption"> <div align="left" class="style1"></div> </div> <?php //makes sure form is correctly filled in if(!empty($_POST["submit"])) { if(empty($_POST["selimg"])){$msg = "Please select an image from above!";$result = 3;} else{$pic = explode(",",$_POST["selimg"]);} if(empty($_POST["email"]) && empty($result)){$msg1 = "You must enter an email address!";$result = 3;} $secCode = empty($_POST["secCode"]) ? "" : strtolower($_POST["secCode"]); if($secCode == $_SESSION["securityCode"] && $result != 3) { $filename = date("YmdGis"); $f = fopen("messages/".$filename.".txt","w+"); fwrite($f,$pic[0]."\n"); fwrite($f,$_POST['email']."\n"); fwrite($f,stripslashes($_POST["message"])."\n"); fclose($f); // Compose the mail $from = "From: $senderName <$senderEmail>\r\n"; $replay = "Reply-To: $senderEmail\r\n"; $params = "MIME-Version: 1.0\r\n"; $params .= "Content-type: text/plain; charset=iso-8859-1\r\n"; $mailtext = "You have just received a Virtual Postcard!\r\n\r\n You can pick up your postcard at the following web address:\r\n $postcardURL?show=$filename\r\n\r\n We hope you enjoy your postcard, and if you do, please take a moment to send a few yourself!\r\n\r\n Regards,\r\n Holidays From Home\r\n $postcardURL"; // Send email @mail($_POST["email"],"You've received a postcard",$mailtext,$from.$replay.$params); echo "<center> Your postcard was sent successfully!<br /><br /> <img src='images/$pic[0]' alt='postcard' /><br /><br /><br />".stripslashes($_POST["message"]). "</center>"; $result = 1; } else{if($result != 3){$result = 2;}} } if(!empty($_GET["show"])) { $file = $_GET["show"]; $content = file("messages/$file.txt"); $pic = $content[0]; unset($content[0]); unset($content[1]); foreach($content as $value){$main .= $value;} echo "<center> Your postcard!<br /><br /> <img src='images/$pic' alt='postcard' /><br /><br /><br />$main </center>"; } if((empty($result) || $result == 2 || $result == 3) && empty($_GET["show"])) { echo "<form action='#' method='post'> <table align='center'>"; displayPhotos(); echo "</table> <div style='color:#f00;font-size:16px;'>$msg</div> <h2>Fill in the Form and then click on Send Card!!</h2> <table width='100%'> <tr><td>Send to (email address):</td><td><div style='color:#f00;font-size:16px;'>$msg1</div><input type='text' name='email' size='30' value='".$_POST["email"]."' /></td></tr> <tr><td>Message:</td><td><textarea name='message' rows='10' cols='40'>".stripslashes($_POST["message"])."</textarea></td></tr> <tr><td colspan='2'>".($result == 2 ? "<p style='color:#f00;font-size:16px;'>Sorry the security code is invalid! Please try it again!</span></p>" : " ")."</tr> <tr> <td>Security code: <input class='text' name='secCode' type='text' size='10' /> </td><td><img src='securityCode.php' alt='security code' border='1' /></td> </tr> <tr><td colspan='2'> </tr> <tr><td colspan='2' align='left'><input type='submit' value='Send card!' name='submit'/></td></tr> </table> </form>"; } ?> Absolutely any help would be much appreciated. I want ot know is there a way round this problem? Here is the http://voluntary.awardspace.co.uk/Postcard.php I am absolutely desperate to solve this burning issue Hi everyone! This is my first post. Anyways I have been reading my amp book to learn apache mysql and php, but I ran into a bit of a problem that I cant figure out. I will attach my 3 files for everyone to see. I get this error after loading the login.php file and trying to type in the username and passowrd From what I can gather the username is ok, but there is an issue on line 9 where the password authentication is located which has me baffled. I can't find any syntax errors.... gksudo gedit /var/log/apache2/error.log [Mon Apr 25 05:29:23 2011] [error] [client 127.0.0.1] PHP Notice: Undefined index: userpass in /home/coolness/public_html/learn/movie1.php on line 9, referer: http://localhost/learn/login.php Hi, I have an undefined index problem and not sure how to fix it. I dont want to turn off errors - I would like to learn how to actually fix this problem. It happens in line 13 which is marked below with //line 13 comment. The exact error is: Notice: Undefined index: synonymsearch in C:\wamp\www\ezsynonym\index.php on line 13 TIA. Code: [Select] <?php //start buffering output ob_start(); include("db.php"); $mysqli = new mysqli($dbServer, $dbUser, $dbPass, $dbName); //report any errors on screen for debugging //echo "connection errors: " . mysql_error() . "<BR>"; //STORE THE USER INPUT IN VARIABLES $strErrorResults = ""; $strWordResults = ""; //line 13 - this is where the error happens. $queryWord = $_REQUEST['synonymsearch']; if ($queryWord == "" || $queryWord == "Search Synonym") { $strWordResults = "Enter a word to search for"; } else { //search for target word in wordlist $result = $mysqli->query("select * from wordlist where word='{$queryWord}'"); if ($result->num_rows > 0) { //extract the target word's primary key $word_arr = $result->fetch_array(MYSQLI_ASSOC); $word_id = $word_arr['pri']; //search for target word's primary key in the links table's wordid column $synonymQuery = "select * from links where wordid='{$word_id}'"; $synonymResult = $mysqli->query($synonymQuery); $arrKeys = array(); //create an array if ($synonymResult->num_rows > 0) { //grab the corresponding synonym ids and store into the array while ($row = $synonymResult->fetch_array(MYSQLI_ASSOC)) { $arrKeys[] = $row['synid']; } } foreach ($arrKeys as $value) { $sQuery = "select * from wordlist where pri='{$value}'"; $result = $mysqli->query($sQuery); $result_arr = $result->fetch_array(MYSQLI_ASSOC); // echo $result_arr['word']; $strWordResults .= <<<END <div id="results-left"><a href="index.php?synonymsearch={$result_arr['word']}"> {$result_arr['word']} </a></div><br/><br/> END; } // end for } // end if else { //word does not exist in the database $strErrorResults .= <<<END <p>failure... word does not exist in the system</p> END; } } print <<<END <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link rel="stylesheet" href="style.css" type="text/css" media="screen"> <link rel="icon" href="favicon.ico" type="image/x-icon"> <title>ezSyonym</title> </head> <body> <div id="header"> <a href="index.php"><img src="images/logo-final.gif"></a> </div> <div id="content"> <div id="left-col"> <div id="searchbox"> <form id="searchform" method="post" action="index.php"> <input id="input" name="synonymsearch" type="text" value="Search Synonym" maxlength="400px" /> </form> </div> <div id="search-results"> {$strErrorResults} {$strWordResults} </div> </div> <div id="right-col"> <div id="sidebar"> </div> </div> </div> <div id="footer"></div> </body> </html> END; //send data to the browser ob_end_flush(); ?> I've gotten different "Notices" for "Undefined Index." For different $_POST['vars'], I've corrected with adding an isset() at the top of my if condition. I'm stumped now for how to approach my current notice. Am tempted to just block errors on my server, but don't believe that is really fixing it. I've added a multiple select array to my form. I pass it correctly and access it fine. Only thing, for checking with error checking, if it is blank, the form will repopulate. If checked, the data passes correctly. If there are no selections, then I get the Undefined Index error from PHP. I wrote a routine to check if it is null, but that doesn't seem to do it. I want to check that it is not null, and if it is, then repost the form. If I put in isset(), it would never go past. If I don't put isset(), then it will cry with the error. Any Thoughts? Hi there i keep getting an error: Notice: Undefined index: ShipYard in C:\wamp\www\SWB2\test3.php on line 160 Heres the relevant select query: Code: [Select] // COUNT SHIPYARDS $colname_shipyard = 'Empire'; mysql_select_db($database_swb, $swb); $query_shipyard = sprintf("SELECT SUM(ShipYard) FROM planet WHERE PlayerName = %s", GetSQLValueString($colname_shipyard, "text")); $shipyard = mysql_query($query_shipyard, $swb) or die(mysql_error()); $row_shipyard = mysql_fetch_assoc($shipyard); $totalRows_shipyard = mysql_num_rows($shipyard); The error is pointing to: Code: [Select] echo $row_shipyard['ShipYard'];Im a bit of a noob and have tried changing to: Code: [Select] echo $row['ShipYard']; When i do this i get a different error: Notice: Undefined variable: row in C:\wamp\www\SWB2\test3.php on line 159 The row ShipYard is in a table called planet but its not suppose to be indexed or unique. Am I missing something here?? Thanks Hi guys I am getting an error of Code: [Select] Notice: Undefined index: photo_filename in /home/sites/haldonguesthouse.co.uk/public_html/new-site/admin/upload.php on line 28 I understand that the error would suggest that the field is not referenced on the form that is used to post the values through. Below is the form code that is used to post the values Code: [Select] <form id="add_gallery" action="upload.php" method="post"> <table> <tr> <td>Gallery Name</td> <td><select name="category" id="category"> <option>Please select...</option> <option value="14">Superior Double Room</option><option value="15">Superior Single Room</option><option value="16">Double en-suite</option><option value="17">Twin or Triple Room, en suite</option><option value="18">Family Room for 4</option><option value="19">Single Room with Private Facilities</option><option value="20">Double Room with Private Facilities</option><option value="21">The Gallery</option></select></td> </tr> <tr> <td> Photo 1: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 2: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 3: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 4: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 5: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 6: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 7: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 8: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 9: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td> Photo 10: <input name='photo_filename[]' type='file' /> </td> </tr> <tr> <td> Title: <input name='photo_caption[]' type="text" size="30"> </td> </tr><tr> <td></td><td><input type="submit" name="submit" value="Upload Photos"/></td> </tr> </table> </form> Hi I am new in PHP scripting. I wrote a small script but stuck in the below error message.. Can someone please correct the code? Thanks in advance. Kapil Notice: Undefined index: submitbutton in C:\xampp\htdocs\index.php on line 30 Error in code <?php echo "<title>PHP File Upload </title>"; $form = "<form action='index.php' method='POST' enctype='multipart/form-data'> <table> <tr> <td>Title : </td> <td><input type = 'text' name = 'title'> </td> </tr> <tr> <td>Description : </td> <td><textarea name ='description' cols ='35' rows = '5'> </textarea></td> </tr> <tr> <td> </td> <td><input type = 'file' name = 'myfile'> </td> </tr> <tr> <td> </td> <td><input type = 'submit' name ='submitbutton' value ='Submit'></td> </tr> </table> </form>"; if($_POST['submitbutton']) { $name = $_FILES['myfile']['name']; echo "$name"; } else { echo "Error in code"; } ?> want to carry over session to help page? but getting the error undefined index. Any help would be greatly appreciated! //getting my value from database table and put it into session $_SESSION["user_firstname"] = $data["Firstname"]; //decides on where the user gets re-directed to. if ($_SESSION["user_priority"] == '1') { header("Location: AdminSection.php"); } else { header("Location:LoggedIn.php"); } if ($_SESSION["user_times_loggged_in"] == '0') { header("Location:UsingTheSystem.php"); } //Help page <?php session_start(); $name = $_SESSION["user_firstname"]; echo $name; ?> any idea why its not picking up the session? Thanks I've done this before and I've never gotten this notice, why am I getting it now? <p> <center><form method = "post" action = ""> <input type = "text" name = "name"> <input type = "password" name = "pass"> <input type = "submit" name = "submit"> </form> </center> </p> '; if($_POST['submit']){ echo"blah"; } Notice: Undefined index: submit hi guys, I have a form which allows me to update my database with the inputted values, the form works and it updates my database, however I have these error messages all over my webpage Notice: Undefined index: title in C:\xampp\htdocs\CS2410\add_dvd.php on line 12 Notice: Undefined index: category in C:\xampp\htdocs\CS2410\add_dvd.php on line 13 Notice: Undefined index: quantity in C:\xampp\htdocs\CS2410\add_dvd.php on line 14 Notice: Undefined index: price in C:\xampp\htdocs\CS2410\add_dvd.php on line 15 Notice: Undefined index: bar_code in C:\xampp\htdocs\CS2410\add_dvd.php on line 16 the code is below Code: [Select] <?php session_start(); // a security measure, if unautherised users attempt to directly access the page they are redirected to the index page if (!($_SESSION['autherised']== true)) { header("Location:index.php"); } //make a connection to the server or terminate the script if a connection cannot be estabilshed $svc = @mysql_connect("localhost","root") or die ('unable to connect to server'.' '.mysql_error()); //make a connection to the databaes or terminate the script if a connection cannot be estabilshed $dbc = @mysql_select_db("aston_shopdb",$svc) or die ('unable to connect to database'.' '.mysql_error()); $nameofdvd = $_POST['title']; $categoryofdvd = $_POST['category']; $quantity = $_POST['quantity']; $dvdprice = $_POST['price']; $bar_id = $_POST['bar_code']; $sql = "INSERT INTO item SET Title='$nameofdvd', Category='$categoryofdvd', Quantity='$quantity', Price='$dvdprice', Bar_code='$bar_id'"; if (@mysql_query($sql)) { echo('<p>New DVD added</p>'); } else { echo('<p>Error adding new dvd: ' . mysql_error() . '</p>'); } ?> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <link rel="stylesheet" type="text/css" href="aston-shop-scheme.css" /> <title>Add a New DVD</title> </head> <form action="<?=$_SERVER['PHP_SELF']?>" method="post"> <p>Enter the new DVD:<br /> Title: <input type="text" name="title" size="20" maxlength="255" /><br /> Category: <input type="text" name="category" size="20" maxlength="255" /><br /> Quantity: <input type="text" name="quantity" size="20" maxlength="255" /><br /> Price: <input type="text" name="price" size="20" maxlength="255" /><br /> Barcode: <input type="text" name="bar_code" size="20" maxlength="255" /><br /> <input type="submit" name="submit" value="SUBMIT" /></p> </form> <table class ="standard" > <tr> <td> <input type ="button" class="input" onClick ="location.href='all_products.php'" value ="View all products"> </td> </tr> <tr> <td> <input type ="button" onclick ="location.href='Logout.php'" value ="Log out"> <td> </tr> </table> </body> </html> please help!!! nick MOD EDIT: code tags added. Hi, I would like to pass the value of a form name through "rsTown" but I am getting undefined index my form: Code: [Select] <form method="post" class="textbox" action="<?php print $_SERVER["PHP_SELF"]; ?>"> City/Town: <input type="text" size="26" class="searchbox" value="" name="rsTown" id="inputString" onKeyUp="lookup(this.value);" onBlur="fill();" /> <div class="suggestionsBox" id="suggestions" style="display: none;"> <img src="images/upArrow.png" style="position: relative; top: -36px; left: 105px; z-index:1;" alt="upArrow" /> <div class="suggestionList" id="autoSuggestionsList"> </div> </div> <input type="image" src="images/go.png" height="30" with="30" value="GO" /> </form> my code on same page: Code: [Select] <? $Townsearch = $_REQUEST['rsTown']; // how many rows to show per page $rowsPerPage = 20; // by default we show first page $pageNum = 1; // if $_GET['page'] defined, use it as page number if(isset($_GET['page'])) { $pageNum = $_GET['page']; } $offset = ($pageNum - 1) * $rowsPerPage; $query = "SELECT * FROM pubs WHERE rsTown LIKE '$Townsearch%' LIMIT $offset, $rowsPerPage"; $result = mysql_query($query) or die(mysql_error().'<br>SQL: ' . $query); //looping counties $query1 = "SELECT rsCounty, COUNT(PubID) AS County_Count FROM pubs GROUP BY rsCounty"; $result1 = mysql_query($query1) or die(mysql_error().'<br>SQL: ' . $query1); $county_select_options = '<option value="">Search county</option>'; while ($row = mysql_fetch_assoc($result1)) { $counties[$row['rsCounty']] = $row['County_Count']; // $county_select_options .= '<option value="display.php?PubID='.$row['id'].'">'.$row['rsCounty'].' (x'.$row['County_Count'].')</option>'."\n"; } // make this arrays not strings: $values = array(); $labels = array(); // compute the sum: $total = array_sum($counties); foreach($counties as $rsCounty=>$count){ // compute percent and add to values list: $values[] = ($count*100/$total); $labels[] = $rsCounty; } // convert array $values to a string comma separated $values = implode(',',$values); // same conversion for $labels but '|' separated $labels = implode('|', $labels); $url = 'http://chart.apis.google.com/chart?cht=p3&chd=t:'.$values.'&chs=480x200&chl='.$labels.'&chco=b0d584'; ?> <img src="<?php echo $url ?>" /> <? // start main page while($row = mysql_fetch_array($result)){ echo '<div id="pubholder" class="wrap">'; $PUBID = $row['PubID']; $RSPUBNAME = $row['rsPubName']; $RSADDRESS = $row['rsAddress']; $RSPOSTCODE = $row['rsPostCode']; $RSTEL = $row['rsTel']; $RSTOWN = $row['rsTown']; $RSCOUNTY = $row['rsCounty']; //div container of header and information echo <<<EOF <a title="$PUBID" id="$PUBID" name="$PUBID"></a> <div class="entry_header"> <div class="pubname">$RSPUBNAME</div> EOF; if ($_SESSION["RSUSER"] == "admin") { echo "<a href=\"edit.php?PUBID=$PUBID\" class=\"small\">edit this pub</a>"; } echo "</br>"; echo "</br>"; echo "<div class=\"county\">".$RSCOUNTY."</div><div class=\"town\">".$RSTOWN."</div>"; echo "</div>"; echo "</div>"; } // how many rows we have in database $query = "SELECT COUNT(*) AS numrows FROM pubs"; $result = mysql_query($query) or die('Error, query failed'); $row = mysql_fetch_array($result, MYSQL_ASSOC); $numrows = $row['numrows']; // how many pages we have when using paging? $maxPage = ceil($numrows/$rowsPerPage); // print the link to access each page $self = $_SERVER['PHP_SELF']; $nav = ''; for($page = 1; $page <= $maxPage; $page++) { if ($page == $pageNum) { $nav .= " $page "; // no need to create a link to current page } else { $nav .= " <a href=\"$self?page=$page\">$page</a> "; } } // creating 'previous' and 'next' link // plus 'first page' and 'last page' link // creating previous and next link // plus the link to go straight to // the first and last page if ($pageNum > 1) { $page = $pageNum - 1; $prev = " <a href=\"$self?page=$page\">[Prev]</a> "; $first = " <a href=\"$self?page=1\">[First Page]</a> "; } else { $prev = ' '; // we're on page one, don't print previous link $first = ' '; // nor the first page link } if ($pageNum < $maxPage) { $page = $pageNum + 1; $next = " <a href=\"$self?page=$page\">[Next]</a> "; $last = " <a href=\"$self?page=$maxPage\">[Last Page]</a> "; } else { $next = ' '; // we're on the last page, don't print next link $last = ' '; // nor the last page link } // print the page navigation link echo "<div class=\"centertext\">"; echo $first . $prev . $nav ." Showing page <strong>$pageNum</strong> of <strong>$maxPage</strong> pages " . $next . $last; echo "</div>"; ?> Also, I need my pagination sorting out if anyone can help?! take a look at my site: http://www.retroandvintage.co.uk/default.php Hi ive been having an issue with this for a long time and i never found a fix from pure google so i have come to ask other human beings heres my code: Code: [Select] <a href="index.php?page=news">News</a> <?php define ('page', 'page'); switch($_GET[page]) { case "news": include "news.php"; break; case "is-it-for-me": include "for_me.php"; break; } ?> This is what shows up when first entering index.php Quote Notice: Undefined index: page in C:\xampp\htdocs\template1\index.php on line 35 Thanks in advance, Sycohazza Hi all, I'm currently adding something to my website which makes the user input some information before they enter the site, but I'm getting errors saying.. Notice: Undefined index: realname in /home/a5908246/public_html/next.php on line 24 Notice: Undefined index: gamer in /home/a5908246/public_html/next.php on line 48 But with them errors its not showing the actual form where you post the info into. <?php session_start(); include ("includes/config.php"); include ("includes/functions.php"); logincheck(); ini_set ('display_errors', 1); error_reporting (E_ALL); $username = $_SESSION['username']; $get = mysql_query ("SELECT * FROM users WHERE username='$username'") or die (mysql_error()); $got = mysql_fetch_object($get); ?> <html> <head> <title>Please Update..</title> </head> <body> <form action='' method='POST' name='everything'> <?php if ($got->realname == ''){ if ($_POST['realname']){ // Line 24 $input = $_POST['nameinput']; ?> <table width='50%' border='1' class='tableborder2' cellspacing='1' align='center'> <tr> <td class='e_header' align='center'>Error!</td> </tr> <tr> <td class='omg' align='center'>Please Enter your Real Name.</td> </tr> <tr> <td align='center'><input type='text' name='nameinput' class='textinput'></td> </tr> <tr> <td align='center'><input type='button' name='realname' class='button' Value='Update Name!'></td> </tr> </table> <br /> <?php mysql_query ("UPDATE users SET realname='$input' WHERE username='$username'") or die (mysql_error()); }} ?> <?php if ($got->gamertag == ''){ if ($_POST['gamer']){ // Line 48 $inputgamer = $_POST['gamertag']; ?> <table width='50%' border='1' class='tableborder2' cellspacing='1' align='center'> <tr> <td class='e_header' align='center'>Error!</td> </tr> <tr> <td class='omg' align='center'>Please Enter your Gamertag.</td> </tr> <tr> <td align='center'><input type='text' name='gamertag' class='textinput'></td> </tr> <tr> <td align='center'><input type='button' name='gamer' class='button' Value='Update Gamertag!'></td> </tr> </table> <?php mysql_query ("UPDATE users SET gamertag='$inputgamer' WHERE username='$username'") or die (mysql_error()); }} if ($got->realname != '' || $got->gamertag != ''){ // Display, welcome $realname, redirecting you to main site now... (2 seconds waiting) ?> <table width='50%' border='1' class='tableborder2' cellspacing='1' align='center'> <tr> <td class='header' align='center'>Welcome!</td> </tr> <tr> <td class='omg' align='center'>Welcome!</td> </tr> <tr> <td align='center'>You will be redirected to the main site in 2 seconds!<meta http-equiv="refresh" content="2;url=http://******.com/index2.php"></td> </tr> </table> </form> <?php } ?> Thanks for any help/advice given I've got this on my page index.php $rand = $_SESSION['rand']; if (empty($rand)) { srand((float)microtime()*1000003); $rand = rand(); $_SESSION['rand'] = $rand; } On all my other pages i've got this <?php unset($_SESSION['rand']) ?> The problem is that if I go to any other page than index it will unset the session 'rand'. If I then go back to index.php I get this error 'Notice: Undefined index: rand' is there a way to get around this? Problem: Undefined Index on all 'new_picture'. Code of problem: Code: [Select] $new_picture = mysqli_real_escape_string($dbc, trim($_FILES['new_picture']['name'])); $new_picture_type = $_FILES['new_picture']['type']; $new_picture_size = $_FILES['new_picture']['size']; list($new_picture_width, $new_picture_height) = getimagesize($_FILES['new_picture']['tmp_name']); Entire code: Code: [Select] <?php require_once('appvars.php'); include_once('connectvars.php'); $dbc = mysqli_connect(DB_HOST, DB_USER, DB_PASSWORD, DB_NAME) or die ("Cant connect to server " . mysql_error()); if (mysqli_connect_errno()) { echo "Connect failed: " . mysqli_connect_error(); exit(); } if(isset($_POST['upload'])){ $new_picture = mysqli_real_escape_string($dbc, trim($_FILES['new_picture']['name'])); $new_picture_type = $_FILES['new_picture']['type']; $new_picture_size = $_FILES['new_picture']['size']; list($new_picture_width, $new_picture_height) = getimagesize($_FILES['new_picture']['tmp_name']); $error = false; // Validate and move the uploaded picture file, if necessary if (!empty($new_picture)) { if ((($new_picture_type == 'image/gif') || ($new_picture_type == 'image/jpeg') || ($new_picture_type == 'image/pjpeg') || ($new_picture_type == 'image/png')) && ($new_picture_size > 0) && ($new_picture_size <= MM_MAXFILESIZE) && ($new_picture_width <= MM_MAXIMGWIDTH) && ($new_picture_height <= MM_MAXIMGHEIGHT)) { if ($_FILES['file']['error'] == 0) { // Move the file to the target upload folder $target = MM_UPLOADPATH . basename($new_picture); if (move_uploaded_file($_FILES['new_picture']['tmp_name'], $target)) { // The new picture file move was successful, now make sure any old picture is deleted if (!empty($old_picture) && ($old_picture != $new_picture)) { @unlink(MM_UPLOADPATH . $old_picture); } } else { // The new picture file move failed, so delete the temporary file and set the error flag @unlink($_FILES['new_picture']['tmp_name']); $error = true; echo '<p class="error">Sorry, there was a problem uploading your picture.</p>'; } } } else { // The new picture file is not valid, so delete the temporary file and set the error flag @unlink($_FILES['new_picture']['tmp_name']); $error = true; echo '<p class="error">Your picture must be a GIF, JPEG, or PNG image file no greater than ' . (MM_MAXFILESIZE / 1024) . ' KB and ' . MM_MAXIMGWIDTH . 'x' . MM_MAXIMGHEIGHT . ' pixels in size.</p>'; } } // Update the profile data in the database if (!$error) { if (!empty($new_picture)) { $query = "INSERT INTO identification (id, image_url) VALUES ('', $new_picture)"; } mysqli_query($dbc, $query); // Confirm success with the user echo '<p>Image successfully uploaded</p>'; echo '<img src=" '.$new_picture.'" alt="Uploaded Image" />'; } } ?> <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post"> <h2>Upload a Photo</h2> <table> <tr> <td> <label for="new_picture">Upload Identification:</label> </td> <td> <input type="file" id="new_picture" name="new_picture" /> </td> </tr> <tr> <td> </td> <td> <input type="submit" value="Upload" name="upload" /> </td> </tr> </table> </form> I don't know how to fix this problem, has anyone got ideas? |