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'; } } ?> 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. Link to comment https://forums.phpfreaks.com/topic/276899-php-edit-code-error/#findComment-1424535 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.