3 votes

Appeler une fonction PHP à partir d'un bouton de formulaire

enter image description here

Mon script devrait ressembler à cela. Je dois le faire principalement en PHP. Button add doit enregistrer les données dans un fichier, show doit lire ce fichier et le mettre dans textarea La ligne choisie doit être supprimée et la réinitialisation doit tout remettre à zéro.

<?php
    $plik =fopen("data.dat","a+");
    @fputs($plik, $_POST["name"]. " " . $_POST["sname"] . " " . $_POST["adres"] . " " . $_POST["number"] . "<br>" );    
    fclose($plik);  
?>

<html>

   <body>

   <form action = "<?php $_PHP_SELF ?>" method = "POST">

         Name: <input type = "text" name = "name" /><br>
         Second Name: <input type = "text" name = "sname" /><br>
         Adres: <input type = "text" name = "adres" /><br>
         Number: <input type = "text" name = "number" /><br>
         <input type = "submit" name="add" value="Add"/>
         <input type = "button" name="show" value="Show"/>
         <input type = "button" name="reset" value="Reset"/>
         <input type = "button" name="delete" value="Delete"/><br>
         <textarea id="lista" name="lista" rows="20" cols="40" style="overflow:scroll" readonly="" wrap="off"></textarea>

      </form>

   </body>

</html>

Mon script ressemble à cela et je ne sais pas ce que je dois faire ensuite. Comment ajouter des fonctions à ces boutons et à quoi doivent-ils ressembler ?

2voto

RLoris Points 446

Je pense que cela devrait faire l'affaire :

<?php
    if(isset($_POST['action'])) {
       switch($_POST['action']) {
         case('Add'): ... break;
         case('Show'): ... break;
         case('Reset'): ... break;
         case('Delete'): ... break;
         default: ...
       }
    }
    ?>

    <html>
       <body>

       <form action = "<?php $_PHP_SELF ?>" method = "POST">
             Name: <input type = "text" name = "name" /><br>
             Second Name: <input type = "text" name = "sname" /><br>
             Adres: <input type = "text" name = "adres" /><br>
             Number: <input type = "text" name = "number" /><br>
             <input type = "submit" name="action" value="Add"/>
             <input type = "submit" name="action" value="Show"/>
             <input type = "submit" name="action" value="Reset"/>
             <input type = "submit" name="action" value="Delete"/><br>
             <textarea id="lista" name="lista" rows="20" cols="40" style="overflow:scroll" readonly="" wrap="off"></textarea>
          </form>

       </body>
    </html>

Comme vous pouvez le voir, j'ai simplement changé le type des boutons d'action en "submit" et j'ai mis le même nom pour chacun d'entre eux. Ensuite, dans php, il suffit de tester si l'action est définie, puis de choisir la bonne action à exécuter. J'espère que cela vous aidera

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X