kami2k Posted April 13, 2013 Share Posted April 13, 2013 Hi,I am getting errorNotice: Undefined index: TeacherID in C:\xampp\htdocs\basic\edit.php on line 54Error! id teacachertry 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'; } } ?> Quote Link to comment https://forums.phpfreaks.com/topic/276899-php-edit-code-error/ Share on other sites More sharing options...
requinix Posted April 13, 2013 Share Posted April 13, 2013 My reply on Dev Shed was short so I'll copy/paste it here. There is no "TeacherID" field in that form. Quote Link to comment https://forums.phpfreaks.com/topic/276899-php-edit-code-error/#findComment-1424535 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.