Спасибо всем, кто помог мне с предыдущими неприятностями. У меня есть мои скрипты, поэтому я могу добавлять и отображать записи. Теперь я сопровождал этот учебник, чтобы обновить записи, но я получаю эту ошибку на странице, когда я ее запускаю:! ) Примечание: Неопределенный индекс: id в /var/www/inventory/update.php в строке 21 Стол вызовов
1 0.0000 229608 {main} () ../update.php:0 Код выглядит следующим образом:
<?php ini_set("display_errors","on"); $dsn='mysql:host=localhost;dbname=inventory_form'; $username="***"; $password="****"; $database="inventory_form"; try { $link=new PDO($dsn, $username,$password); echo 'Connected to MySQL Server'; } catch (PDOException $e) { $error_message=$e->getMessage(); echo "<h1>An error occurred: $error_message</h1>"; } $id=$_POST['id']; $query="SELECT * FROM Inventory WHERE id='$id'"; $result=$link->query($query); while ($row = $result->fetch()) { echo '<b><i><center><font size=5>'. $row['FName'] .'</font></b></i></center><br /n>'; echo '<b><i><center><font size=5>'. $row['LName'] .'</font></b></i></center><br /n>'; echo '<b><i><center><font size=5>'. $row['Eqpmnt_Brwd'] .'</font></b></i></center><br /n>'; echo '<b><i><center><font size=5>'. $row['Service_Tag'] .'</font></b></i></center>'; echo '<b><i><center><font size=5>'. $row['Date_Taken'] .'</font></b></i></center>'; echo '<b><i><font size=5>'. $row['Comments'] .'</font></b></i>'; } ?> <form action="updated.php" method="post"> <input type="hidden" name="ud_id" value="<? echo "$id"; ?>"> <font size=5>First Name:</font><input type="text" name="ud_first" maxlength="12" size="12" /> <font size=5>Last Name:</font><input type="text" name="ud_last" maxlength="36" size="12" /> <font size=5>Equipment Borrowed:</font><input type="text" name="ud_Equipment_Borrowed" maxlength="60" size="14" /><br /> <font size=5>Service Tag:</font><input type="text" name="ud_Service_Tag" maxlength="6" size="6" /><br /> <font size=5>Date Taken:</font><input type="text" name="ud_Date_Taken" /><br /> <font size=5>Additional Comments:</font><br /> <textarea name="ud_Comments" maxlength="150" cols="50" rows="3"></textarea> <br /> <br /> <input type="Submit" value="Update"> </form> ?/
И затем я получаю кучу ошибок из сценария updated.php: Примечание: неопределенная переменная: ud_first в /var/www/inventory/updated.php в строке 19 Call Stack
1 0.0002 231664 {main} () ../updated.php:0
(!) Примечание: Неопределенная переменная: ud_last в /var/www/inventory/updated.php в строке 19 Call Stack
1 0.0002 231664 {main} () ../updated.php:0
(!) Примечание: Неопределенная переменная: ud_Equipmnt_borrowed в /var/www/inventory/updated.php в строке 19 и т. Д. Для всех переменных. Этот сценарий:
<?php ini_set("display_errors","on"); $dsn='mysql:host=localhost;dbname=inventory_form'; $username="***"; $password="****"; $database="inventory_form"; try { $link=new PDO($dsn, $username,$password); echo 'Record added succesfully'; } catch (PDOException $e) { $error_message=$e->getMessage(); echo "<h1>An error occurred: $error_message</h1>"; } $query="UPDATE contacts SET FName='$ud_first', LName='$ud_last', Eqmnt_Brwd='$ud_Equipmnt_borrowed', Service_Tag='$ud_Service_Tag', Date_Taken='$ud_Date_Taken', Comments='$ud_Comments' WHERE id='$ud_id'"; echo "Record Updated"; ?>
Любая помощь очень ценится. Я немного запутался в том, как используется поле id для того, чтобы все это работало. Согласно учебному пособию, у меня должна быть заполненная форма, готовая для редактирования для конкретной записи. Спасибо заранее
Обновить. Вот код:
<?php ini_set("display_errors","on"); $dsn='mysql:host=localhost;dbname=inventory_form'; $username="***"; $password="*****"; $database="inventory_form"; try { $link=new PDO($dsn, $username,$password); echo 'Connected to MySQL Server'; } catch (PDOException $e) { $error_message=$e->getMessage(); echo "<h1>An error occurred: $error_message</h1>"; } $id=htmlspecialchars($_GET['id']); $query="SELECT * FROM Inventory WHERE id='$id'"; $result=$link->query($query); while ($row = $result->fetch()) { echo '<b><i><center><font size=5>'. $row['FName'] .'</font></b></i></center><br /n>'; echo '<b><i><center><font size=5>'. $row['LName'] .'</font></b></i></center><br /n>'; echo '<b><i><center><font size=5>'. $row['Eqpmnt_Brwd'] .'</font></b></i></center><br /n>'; echo '<b><i><center><font size=5>'. $row['Service_Tag'] .'</font></b></i></center>'; echo '<b><i><center><font size=5>'. $row['Date_Taken'] .'</font></b></i></center>'; echo '<b><i><font size=5>'. $row['Comments'] .'</font></b></i>'; } ?> <form action="updated.php" method="post"> <input type="hidden" name="ud_id" value="<? echo "$id"; ?>"> <font size=5>First Name:</font><input type="text" name="ud_first" maxlength="12" size="12" /> <font size=5>Last Name:</font><input type="text" name="ud_last" maxlength="36" size="12" /> <font size=5>Equipment Borrowed:</font><input type="text" name="ud_Equipment_Borrowed" maxlength="60" size="14" /><br /> <font size=5>Service Tag:</font><input type="text" name="ud_Service_Tag" maxlength="6" size="6" /><br /> <font size=5>Date Taken:</font><input type="text" name="ud_Date_Taken" /><br /> <font size=5>Additional Comments:</font><br /> <textarea name="ud_Comments" maxlength="150" cols="50" rows="3"></textarea> <br /> <br /> <input type="Submit" value="Update"> </form> ?>
Первый: вы должны добавить что-то вроде «? Id = NUMBER» в конце URL-адреса (пример: update.php? Id = 1 '), чтобы использовать идентификатор
Для этого вам необходимо использовать:
$id = htmlspecialchars($_GET['id'])
Второй: вы использовали $ ud_last и т. Д., Но не определили их в своем коде, вы должны сделать это так:
$ud_last = $_POST['ud_last'];
Тогда он должен работать