Jump to content

php edit code error


kami2k

Recommended Posts

Hi,
I am getting error
Notice: Undefined index: TeacherID in C:\xampp\htdocs\basic\edit.php on line 54
Error! id teacacher

try to fix but didn't work please help



<?php /*?><?php $id = $_GET['TeacherID']; ?>
<?php echo $TeacherID; ?>
<?php echo $id; ?>
<?php */?>
<?php
/*
 EDIT.PHP
 Allows user to edit specific entry in database
*/

 // creates the edit record form
 // since this form is used multiple times in this file, I have made it a function that is easily reusable
 function renderForm($id, $firstname, $lastname, $error)
 {
 ?>
 
 <html>
 <head>
 <title>Edit Record</title>
 </head>
 <body>
 <?php
 // if there are any errors, display them
 if ($error != '')
 {
 echo '<div style="padding:4px; border:1px solid red; color:red;">'.$error.'</div>';
 }
 ?>
 
 <form action="" method="post">
 <input type="hidden" name="id" value="<?php echo $TeacherID; ?>"/>
 <div>
 <p><strong>ID:</strong> <?php echo $TeacherID; ?></p>
 <strong>First Name: *</strong> <input type="text" name="firstname" value="<?php echo $firstname; ?>"/><br/>
 <strong>Last Name: *</strong> <input type="text" name="lastname" value="<?php echo $lastname; ?>"/><br/>
 <p>* Required</p>
 <input type="submit" name="submit" value="Submit">
 </div>
 </form>
 </body>
 </html>
 <?php
 }



 // connect to the database
 include('connect-db.php');
 
 // check if the form has been submitted. If it has, process the form and save it to the database
 if (isset($_POST['submit']))
 {
 // confirm that the 'id' value is a valid integer before getting the form data
 if (is_numeric($_POST['TeacherID']))
 {
 // get form data, making sure it is valid
 $id = $_POST['TeacherID'];
 $firstname = mysql_real_escape_string(htmlspecialchars($_POST['firstname']));
 $lastname = mysql_real_escape_string(htmlspecialchars($_POST['lastname']));
 
 // check that firstname/lastname fields are both filled in
 if ($firstname == '' || $lastname == '')
 {
 // generate error message
 $error = 'ERROR: Please fill in all required fields!';
 
 //error, display form
 renderForm($id, $firstname, $lastname, $error);
 }
 else
 {
 // save the data to the database
 mysql_query("UPDATE players SET firstname='$firstname', lastname='$lastname' WHERE TeacherID='$id'")
 or die(mysql_error());
 
 // once saved, redirect back to the view page
 header("Location: view.php");
 }
 }
 else
 {
 // if the 'id' isn't valid, display an error
 echo 'Error! id teacacher';
 }
 }
 else
 // if the form hasn't been submitted, get the data from the db and display the form
 {
 
 // get the 'id' value from the URL (if it exists), making sure that it is valid (checing that it is numeric/larger than 0)
 if (isset($_GET['TeacherID']) && is_numeric($_GET['TeacherID']) && $_GET['TeacherID'] > 0)
 {
 // query db
 $id = $_GET['TeacherID'];
 $result = mysql_query("SELECT * FROM players WHERE TeacherID=$id")
 or die(mysql_error());
 $row = mysql_fetch_array($result);
 
 // check that the 'id' matches up with a row in the databse
 if($row)
 {
 
 // get data from db
 $firstname = $row['firstname'];
 $lastname = $row['lastname'];
 
 // show form
 renderForm($id, $firstname, $lastname, '');
 }
 else
 // if no match, display result
 {
 echo "No results!";
 }
 }
 else
 // if the 'id' in the URL isn't valid, or if there is no 'id' value, display an error
 {
 echo 'Error! id';
 }
 }
?>


 

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.