appeler une fonction PHP dans une balise HTML

appeler une fonction PHP dans une balise HTML - PHP - Programmation

Marsh Posté le 01-07-2008 à 15:24:17    

Bonjour,
 
j'ai un petit problème que je n'arrive pas à résoudre :
 
Je souhaite creer un bouton qui supprimerai un fichier :  

Code :
  1. echo "<form name=form method=get action=unlike.php>";
  2.   echo "<a href=\"$rep/$new\"> $new</a>";
  3.   echo "<input type=submit name=action value=Telecharger>";
  4.   echo "</form>";
  5.   echo "<form name=form method=get action="unlike($rep/$new)">";
  6.   echo "<input type=submit name=action value=Supprimer>";
  7.   echo "</form>";
  8.          echo "<br><br>";


 
mais a priori on a pas le droit d'appeler la fonction unlike comme ca. Je ne vois pas quoi faire d'autre
Merci de votre aide

Reply

Marsh Posté le 01-07-2008 à 15:24:17   

Reply

Marsh Posté le 01-07-2008 à 15:31:46    

1 - c'est pas "unlike" mais "unlink"
 
2 - C'est une horreur ta ligne 5
Ton form doit pointer vers une page php, qui récupère en paramètre le nom du fichier et le supprime. Mais dans ce cas, il faut que tu fasses très attention aux fichiers dont tu permets la suppression, sinon des personnes malintentionnées pourront s'amuser à tout effacer.

Reply

Marsh Posté le 01-07-2008 à 15:36:20    

C'est pas comme ça que ça marche. On ne met pas en action une fonction PHP, mais l'adresse d'un script qui fera la fonction, comme l'a dit ccp6128.  
 
Aussi, pour une action de type supprimer, il faut utiliser la méthode POST, surtout pas la méthode GET :)

Reply

Marsh Posté le 01-07-2008 à 15:38:43    

merci de ta reponse.
 
En fait j'ai mal retappé la fontion mais j'avais bien essayer avec unlink. De plus, la protection de la page je m'en fiche un peu car ce n'est pas une page web mais une interface web permettant la gestion d'un disque réseau.  
 
Mais comment puis je faire pour supprimer un fichier quand l'utilisateur clique sur "supprimer"?

Reply

Marsh Posté le 01-07-2008 à 15:46:04    

Met dans action l'adresse d'un script, style :

Code :
  1. <form method="POST" action="supprimer.php">
  2.  <div>
  3.    <input type="hidden" name="file" value="{ ton fichier }" />
  4.    <input type="submit" value="Supprimer" />
  5.  </div>
  6. </form>


 
Et dans supprimer.php, la fonction qui le fait :

Code :
  1. <?php
  2.  
  3. if(is_file(realpath($_POST['file']))) {
  4.  unlink($_POST['file']);
  5. }


Avec bien-sûr tout un tas de sécurités en plus...

Reply

Marsh Posté le 01-07-2008 à 16:08:51    

Oki merci. Je vais tenter.
 
Merci pour ton aide

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed