Es gibt kein <form>
Einkapseln der Eingabe Elemente. Außerdem müssen Sie einen <input type="submit" ... >
verwenden -Element anstelle des Anchor-Tags, um die vom Benutzer eingegebenen Daten an itemedit.php zu senden Seite. Ändern Sie also Ihren for
Schleife auf folgende Weise,
for($i=1;$i<=$menuSet->GetMenuItems();$i++){
$func = "GetMenuLink".$i;
?>
<tr>
<form action="itemedit.php?i=<?php echo $i; ?>" method="post">
<td>$i</td>
<td><input type='text' name='e' value='<?php echo $menuSet->$func(); ?>'/></td>
<td>
<input type='submit' value='Edit' class='glyphicon glyphicon-pencil' />
</form>
<a title='Remove' href='itemdelete.php?i=<?php echo $i; ?>'><span class='glyphicon glyphicon-remove'></span></a>
</td>
</tr>
<?php
}
Und in itemedit.php Seite, verarbeiten Sie die übermittelten Daten Ihres Formulars wie folgt:
if (isset($_GET['i'])){
$i = $_GET['i'];
$e = $_POST['e'];
$editItem = new Menus();
// update the menu items
$editItem->EditMenuItem($i,$e);
...
Aktualisierung(1):
Ihre vorbereitete Anweisung und bindParam()
Methodenaufruf ist auch falsch. Diese sollten so aussehen:
$adm = $this->db->prepare("UPDATE menu_nav SET menu_link_$i = ?");
$adm->bindParam(1, $e, PDO::PARAM_STR);