简体   繁体   中英

How to get the name/id of multiple buttons

I have gotten the id numbers of users from my database, and I want to make a button for each user. My code makes a table that shows all the IDs and creates a button for each one. I'm having trouble figuring out how to get the name of those buttons for use in other code. The error I am getting is "undefined variable" (in the 3rd line), which I am most likely getting because I am going at getting the button names wrong.

Basically, the $_POST in the third line is wrong (among perhaps other things). My question is how would one get the name (or id?) of the buttons I have made: how should I fix the $_POST or should I use something else entirely?

<?php 
    if ($_SERVER["REQUEST_METHOD"] == "POST"){
        if(isset($_POST[$n])) header("location:" . $n . ".php");
    }
?>

    <div id="mod_user">
        <table id='mod_table'>
            <th class='ttop'>#</th>
            <th class='ttop'>Page</th>

    <?php
    $result = $db->prepare("SELECT * FROM User");
    $result->execute();
    while ($row = $result->fetch(PDO::FETCH_ASSOC)){
        $n=$row["UserID"];
    ?>

    <form action="" method="post">
        <tr>
        <td class='tben'><?php echo $n; ?></td>
        <td class='tben'><button type='submit' name=<?php echo $n; ?> >Go here</button></td>
        <br />
        </tr>
    </form>

<?php
    } ?>
       </table>
    </div>

You can try like this:

<td class='tben'><button type='submit' name="usernames[<?php echo $n ?>]" >Go here</button></td>

So you can get button name from $_POST["usernames"] array as below

foreach($_POST["usernames"] as $username => $btn_value)
  echo "$username => $btn_name";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM