hoggieaston Posted September 6, 2011 Share Posted September 6, 2011 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 <?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. Quote Link to comment https://forums.phpfreaks.com/topic/246545-undefined-index/ Share on other sites More sharing options...
Pikachu2000 Posted September 6, 2011 Share Posted September 6, 2011 You have no logic in place to check whether the form has actually been submitted before attempting to access the values in the post array. Enclose e the processing code in a conditional statement. <?php if( strtolower($_SERVER['REQUEST_METHOD']) === 'post' ) { // process form } Quote Link to comment https://forums.phpfreaks.com/topic/246545-undefined-index/#findComment-1265976 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.