Jump to content

Undefined Index


hoggieaston

Recommended Posts

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.

Link to comment
Share on other sites

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 
}

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.