sql >> Databasteknik >  >> RDS >> Mysql

Hur man skickar namnet på en ingång genom GET-förfrågan i PHP

Det finns ingen

kapslar in ingången element. Dessutom måste du använda en element istället för ankartagg för att skicka användarens inmatade data till itemedit.php sida. Så ändra din för slinga på följande sätt,

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' />&nbsp; 
            </form>
            <a title='Remove' href='itemdelete.php?i=<?php echo $i; ?>'><span class='glyphicon glyphicon-remove'></span></a>
        </td>
        </tr>
    <?php
}

Och i itemedit.php sida, bearbeta formulärets inskickade data på följande sätt,

if (isset($_GET['i'])){
    $i = $_GET['i'];
    $e = $_POST['e'];
    $editItem = new Menus();
    // update the menu items
    $editItem->EditMenuItem($i,$e);
    ...

Uppdatering(1):

Ditt förberedda uttalande och bindParam() metodanropet är också fel. De borde vara så här:

$adm = $this->db->prepare("UPDATE menu_nav SET menu_link_$i = ?");
$adm->bindParam(1, $e, PDO::PARAM_STR);



  1. Heroku med amazon RDS-säkerhet

  2. Oracle:Välj Från Record Datatype

  3. Bästa sättet att förvara ett SET större än 64

  4. Det går inte att masslasta. Operativsystem felkod 5 (Åtkomst nekad.)