|
|
|
|
Posté par
Ebyss, le vendredi 29 juin 2007 à 10:31:39Configuration: Windows XP Internet Explorer 6.0
Salut,
Effectivement tu ne peux pas lancer ta requete coté client, par contre tu peux passer par une autre page. Par exemple : Dans ton lien supprimer href=\"$_SERVER[PHP_SELF]?page=rep_photos&delete=1&path=$path&nom=$nom\" tu peux faire quelques chose du style : href=\"effacer.php?path=$path&nom=$nom\" Et créer une page effacer.php qui contiendra par exemple
<?php
require("connect.php);
$nom = $_GET['path']; // ou autre ca depend du contenu de url_image
$sql="DELETE FROM images WHERE url_images='$nom';"
$sqk=mysql_query($sql, $connexion);
mysql_close($connexion);
if($sqk){
echo 'La photo a été effacée';
}
else
{
echo 'Il y a eu une erreur ';
}
?>
<a href="ta_page_principale.php">Retourner à la liste des photos</a>
C'est un exemple il manque des vérifications. |
Si tu veux faire ca de manière dynamique, tu peux utiliser AJAX (javascript) qui te permet d'éxécuter "dynamiquement" du PHP.
Sinon, pour faire plus simple, tu rappelles ta page, comme le fais ton lien, avec des paramètres "delete=1&path=$path&nom=$nom". Suffit de faire un test sur $_GET['delete'] puis de supprimer $_GET['path'] |
pourquoi ne pas la faire en forme de formulaire et au lieu d 'orienter ton formulaire versr une nouvelle page tu l'oriente vers la meme page?
et apres tu met ta requete. tu met ta requete au départ avec une petite condition lui indiquant qu elle aille executer la requete que lorsque la variable est initialisé C'est vrai y aura la page qui sera rechargé. mais la conception est facile a faire et ca marche ;) |
un petit
<form action="la_meme_page" method="post"> <input type="hidden" name="path" value="<?=$path?>" /> <input type="submit" name="supprimer" value="supprimer" onClick=\"if (confirm('Etes-vous sûr de vouloir supprimer $nom_image ?') == true) return true; else return false; \" /> </form> pour le formulaire, et au début de la même page, if (isset($_POST['path']) { tu deletes $_POST['path'] .... } |
Quelle vivacité, Je ne pensais pas avoir une réponse aussi rapidement, quelle agréable surprise. Merci à tous !
L'idée de recharger la page m'intéresse d'avantage que de passer par une autre page. Deja que le pannel d'administration est assez lourd. Neanmoin dans mon fichier j'ai deja un <form> (Avec les 2listes déroulantes & le bouton rechercher) Il ne va pas avoir un conflit ou autre à ce niveau? Je parle, je parle pour vous répondre tellement je suis surpris, mais je vais aller tester cela. Merci et je vous tiends au courant. |
il faut tu nous montre ton code de ton formulaire et a quoi il sert ce formulaire
De plus moi j ai une page ou j ai 3 form (pke qu on click sur une liste déroulante ca va chercher une autre liste etc etc) permettant d'orienter l 'utilisateur en étape . exemple :
<html>
<head><title>Administration</title></head>
<body>
<form name="formulaire" action="test.php?page=admin" method="post">
<select name="moderation">
<option value="societe">SOCIETE</option>
<option value="sdis">SDIS</option>
<option value="eau">EAU/ASSAINISSEMENT</option>
<option value="collectivite">COLLECTIVITE LOCALE</option>
<option value="logiciel">NOS LOGICIELS</option>
<option value="contact">CONTACT</option>
</select>
<input type="submit" value="valider" />
</form>
<?php
/*récupération information du premier formulaire name=formulaire*/
if(isset($_POST['moderation']))
{
echo("<form name=\"formulaire2\" action=\"test.php?page=admin\" method=\"post\">");
switch ($_POST['moderation'])
{
case 'societe' :
echo("<select name=\"partie\">
<option value=\"description\">description</option>
<option value=\"ressources\">ressources</option>
<option value=\"metier\">métiers</option>
</select>");
break;
case 'sdis' :
echo("<select name=\"partie\">
<option value=\"solutionSDIS\">solution</option>
<option value=\"explicationSDIS\">info SDIS</option>
<option value=\"referencesSDIS\">references</option>
<option value=\"faqSDIS\">faq</option>
</select>");
break;
//etc etc
}
}
</form>
/*récupération information du second formulaire*/
if(isset($_POST['partie']))
{
switch($_POST['partie'])
{
/*SOCIETE*/
case 'description' :
include(".\modifDesc.php");
break;
case 'ressources' :
include(".\modifRessources.php");
break;
etc etc
et ainsi de suite, ca ne pause absolutment aucun probleme ^^ ;) |
tu peux avoir un nombre illimité de formulaires dans ta page, il n'y a aucun problème ... |
Je t ai mis le code. apres edite car trop gros.
<body> SUPPRESSION DES PHOTOGRAPHIES <form action="formdelete.php" method="post"> Selection du repertoire: <select name="rep"> <option value="rien"></option> <option value="nature_morte">Nature Morte</option> <option value="mode">Mode</option> <option value="beaute">Beauté</option> <option value="retouche">Retouche</option> <option value="reportage">Reportage</option> <option value="3d">3d</option> </select> <p>Choisir la sous catégorie pour Nature Morte: <select name="sousrep"> <option value"rien"></option> <option value="automobile">Automobile</option> <option value="culinaire">Culinaire</option> <option value="deco">Déco</option> <option value="packshot">Packshot</option> <option value="textile">Textile</option> </select></p> <input type="submit" value="Rechercher" /> <br /><br /> <a href="administration.php"><h2>Retour sur l'administration</h2></a> </form> <br /> <br /> <br /> <?php voir premier post.. ?> </body> </html> |
Ca pausera jamais de probleme maintenant il faut qu'il y en ai l'utilité mais surtout que ca ne casse pas le reste du code ainsi que la navigation
tiens un exemple de page avec plusieurs formulaire et nomme le test.php
<html>
<head><title>Administration</title></head>
<body>
<form name="formulaire" action="test.php" method="post">
<select name="moderation">
<option value="societe">SOCIETE</option>
<option value="sdis">SDIS</option>
<option value="eau">EAU/ASSAINISSEMENT</option>
<option value="collectivite">COLLECTIVITE LOCALE</option>
<option value="logiciel">NOS LOGICIELS</option>
<option value="contact">CONTACT</option>
</select>
<input type="submit" value="valider" />
</form>
<?php
/*récupération information du premier formulaire name=formulaire*/
if(isset($_POST['moderation']))
{
echo("<form name=\"formulaire2\" action=\"test.php\" method=\"post\">");
switch ($_POST['moderation'])
{
case 'societe' :
echo("<select name=\"partie\">
<option value=\"description\">description</option>
<option value=\"ressources\">ressources</option>
<option value=\"metier\">métiers</option>
</select>");
break;
case 'sdis' :
echo("<select name=\"partie\">
<option value=\"solutionSDIS\">solution</option>
<option value=\"explicationSDIS\">info SDIS</option>
<option value=\"referencesSDIS\">references</option>
<option value=\"faqSDIS\">faq</option>
</select>");
break;
case 'eau':
echo("<select name=\"partie\">
<option value=\"sfEAU\">savoir-faire</option>
<option value=\"solutionEAU\">solution</option>
<option value=\"referencesEAU\">references</option>
<option value=\"referencesEAUinternationale\">references Internationale</option>
<option value=\"faqEAU\">faq</option>
</select>");
break;
case 'collectivite' :
echo("<select name=\"partie\">
<option value=\"sfCO\">savoir-faire</option>
<option value=\"solutionCO\">solution</option>
<option value=\"referencesCO\">references</option>
<option value=\"faqCO\">faq</option>
</select>");
break;
case 'logiciel' :
echo("<select name=\"partie\">
<option value=\"produits\">Tous les produits</option>
<option value=\"produitsEau\">eau</option>
<option value=\"produitsSdis\">sdis</option>
<option value=\"produitsCollectivite\">collectivités</option>
</select>");
break;
case 'contact' :
include(".\modifContact.php");
break;
}
echo("<input type=\"submit\" value=\"valider\">");
echo("</form>");
}
?>
<?
/*récupération information du second formulaire*/
if(isset($_POST['partie']))
{
switch($_POST['partie'])
{
/*SOCIETE*/
case 'description' :
include(".\modifDesc.php");
break;
case 'ressources' :
include(".\modifRessources.php");
break;
case 'metier' :
include(".\modifMetier.php");
break;
/*SDIS*/
case 'solutionSDIS' :
include(".\modifSdisPrin.php");
break;
case 'explicationSDIS' :
include(".\modifSdisExpl.php");
break;
case 'referencesSDIS' :
include(".\modifRefSdis.php");
break;
case 'ressources' :
$faq="sdis";
include(".\modifFaq.php");
break;
/*EAU/ASSAINISSEMENT*/
case 'sfEAU' :
include(".\modifEau.php");
break;
case 'solutionEAU' :
echo("<form name=\"formulaire3\" action=\"test.php\" method=\"post\">");
echo("<select name=\"solution\">
<option value=\"GestionC\">Gestion-Clientele</option>
<option value=\"GestionR\">Gestion Réseau</option>
<option value=\"GestionU\">Gestion Urbaine</option>
<option value=\"DISCT\">DICT</option>
</select>");
echo("<input type=\"submit\" value=\"valider\">");
echo("</form>");
break;
case 'referencesEAU' :
include(".\modifEauRef.php");
break;
case 'referencesEAUinternationale' :
include(".\modifEauRefCarte.php");
break;
case 'faqEAU' :
include(".\modifFaq.php");
break;
/*COLLECTIVITE LOCALE*/
case 'sfCO' :
include(".\modifMetier.php");
break;
case 'solutionCO' :
echo("<form name=\"formulaire3\" action=\"test.php\" method=\"post\">");
echo("<select name=\"solution\">
<option value=\"Gestion\">Gestion</option>
<option value=\"ServiceTechnique\">Services Technique</option>
</select>");
echo("<input type=\"submit\" value=\"valider\">");
echo("</form>");
break;
case 'referencesCO' :
include(".\modifMetier.php");
break;
case 'faqCO' :
include(".\modifRessources.php");
break;
/*PRODUITS*/
case 'produits' :
include(".\modifProd.php");
break;
case 'produitsEau' :
$categorie='eau';
include(".\modifProd.php");
break;
case 'produitsSdis' :
$categorie='sdis';
include(".\modifProd.php");
break;
case 'produitsCollectivite' :
$categorie='coll';
include(".\modifProd.php");
break;
}
}
?>
<?
/*récupération information de la sous partie solution*/
if(isset($_POST['solution']))
{
/*SOLUTION EAU*/
switch($_POST['solution'])
{
case 'DICT' :
include(".\modifDesc.php");
break;
case 'GestionU' :
include(".\modifRessources.php");
break;
case 'GestionC' :
echo("<a href=\"test.php?page=modif&cat=watErp\">WatErp</a><br />");
echo("<a href=\"test.php?page=modif&cat=CCS\">Centre Service Client</a>");
break;
case 'GestionR' :
echo("<a href=\"test.php?page=modif&cat=geoAep\">GeoAep</a><br />");
echo("<a href=\"test.php?page=modif&cat=geoAsst\">GéoAssainissement</a>");
break;
/*SOLUTION COLLECTIVITEES LOCALE*/
case 'Gestion' :
echo("<form name=\"formulaire4\" action=\"test.php\" method=\"post\">");
echo("<select name=\"gestionColl\">
<option value=\"epic\">Epic</option>
<option value=\"Mairie\">Mairie</option>
</select>");
echo("<input type=\"submit\" value=\"valider\">");
echo("</form>");
break;
case 'ServiceTechnique' :
echo("<a href=\"test.php?page=modif&cat=urbaine\">Urbaine</a><br />");
echo("<a href=\"test.php?page=modif&cat=carto\">Cartographie</a><br />");
echo("<a href=\"test.php?page=modif&cat=sig\">Sig</a>");
break;
}
}
if(isset($_POST['gestionColl']))
{
if($_POST['gestionColl']=='epic')
{
echo("<a href=\"test.php?page=modifEpic&cat=sal\">Gestion des Salaires des Epic</a><br />");
echo("<a href=\"test.php?page=modifEpic&cat=fac\">Facturation des Epic</a><br />");
echo("<a href=\"test.php?page=modifEpic&cat=comp\">Comptabilité des Epic</a><br />");
}
else
{
include(".\modifRessources.php");
}
}
?>
</body>
</html>
Tu n'auras pas les autres pages appellé qui s'afficheront mais ca peut te donner des idées sur l'utilité de plusieurs formulaire dans une page. Ce code est loin d'etre totalement fini, il faut que je debug deux trois petites betise, et que j 'ameliore sa navigation |
Je ne savaiis que la perte des cheuveux peut etre du au php.
En fait je ne vois pas pourquoi mettre un second formulaire, je t explique vu que j'utilise une bouclie pour afficher la photo/l'image supprimer/ l'info de la photo (chemin+taille) Je ne vois pas comment tester le path puisque forcement il y en aura un ou plusieurs vu que c est une boucle. J'ai tenté de rechercher ca sur le net en vain. Ou je n ai pas compris le sens de la fonction!? Car en fait je veux en meme temps supprimer L'image sur le ftp et le tuple/ligne de ma table |
Hors de la boucle (même avant)
if (isset($_POST['path']) && isset($_POST['nom'])) { je supprime dans le ftp $_POST['path'] et le tuple $_POST['nom'] } Dans la boucle, donc pour chaque photo : <form action='la page actuelle' method='post'> <input type='hidden' name='nom' value='$nom' /> <input type='hidden' name='path' value='$path' /> <input type='submit' name='supprimer' value='supprimer' /> </form> Pour chaque image tu auras un formulaire, représenté par un bouton (les champs hidden étant cachés), qui enverra le nom et le path de l'image correspondante, que tu récupéreras au rechargement dans la première partie du code que j'ai donné. C'est plus clair ? |
Bon ca marche enfin. ce qui nous tue pas, nous rend plus fort ..
En fait j ai fait ca au debut de ma page en suivant tes conseils Ben . (je n avais pas vu ton dernier message #11) et encore merci à Bowbow13 !. <?php require("connect.php"); if(isset($_GET['delete'])) { $nom=$_GET['path']; require("connect.php"); $sql="DELETE FROM images WHERE img_url='$nom';"; $sqk=mysql_query($sql, $connexion); mysql_close($connexion); } ?> et ma boucle qui me montre la photo + img delete+info de la photo Je l 'ai mis en <form> ce qui nous donne echo "<form action='formdelete.php' method='post'>"; // affichage de l'image echo "\r\n\r\n\t\t<td><a href=\"#\" onClick=\"window.open('$path', 'new', 'width=$typ1, height=$typ2, toolbar=no, location=no,directories=no, status=no, menubar=no,scrollbars=yes, copyhistory=no, resizable=yes')\">$image</a></td>"; // affiche le lien supprimer echo "\r\n\r\n\t\t<td><a href=\"$_SERVER[PHP_SELF]?page=rep_photos&delete=1&path=$path&nom=$nom\" onClick=\"if (confirm('Etes-vous sûr de vouloir supprimer $nom_image ?') == true) return true; else return false; \"> <img src = 'supprimer.jpg'/></a></td>"; // Affiche le nom de l'image & taille echo "\r\n\r\n\t\t<td align='center' bgcolor='#cccccc'>$f2 $tab_image[$j]<br /> $infos_image[0]*$infos_image[1] $ff</td>"; echo "</form>" ; if($j % 2 != 0) echo "\r\n\t</tr>"; ?> voila. Je ne sais pas si c est une bonne méthode? j'attends vos reponses pour modifier si besoin, et je mettrai le post en probleme resolu. Je vous remercie encore énormement pour cette aide, vraiment géniale et surtout extrémement rapide. Bon maintenant que ceci est résolu, va falloir que j'intègre du code pour creer un fichier xml pour le reprendre sous flash :). Encore merci ! Ebyss. |
euh
ben, tu t embete tu fais tu ouvre ton formulaire au dessus de la boucle, dans la boucle tu met un : dans la boucle il faut un repaire du style $passage qui s'incremente de un a chaque passage <input type="radio" name="etat$passage" value="valide" /> <input type="radio" name ="etat$passage" value ="supprimer" /> et sortie de la boucle tu ferme ton formulaire et apres tu traite tout en stock par : boucle(for c mieux) { $etat="etat$pass";//$passs s incremente de un(variable du for) if($_POST["$etat"]=='valide') { alors tu incremente ta BDD } else { tu supprime la photo } } et voila un formulaire, un bouton de validation et un traitement en stock des données. Pour la boucle for tu calcule la valeur maximale lorsque ta requete sql s'execute pour savoir le nombre de photo. et c'est bon ps: si ca peut encore t'aider Ebyss, cette méthode reprend l'idée de ben, mais simplifie car traite toutes les actions d'un coup (ex: si tu a 4 photo a supprimer et 8 a garder une seule validation permet de faire tout) |
oki merci je vais tenter d arranger ca !
|
| 27/03 16h03 | [PHP] Méthodes de débogage | PHP |
| 21/04 12h07 | Connexion à une base Oracle en php | Oracle |
| 15/03 20h08 | Connexion à une base Ingres avec PHP | Ingres |
| 17/04 20h50 | Page, doc et tutoriaux officiels | PHP |
| 20/04 18h59 | [PHP] Fonction mail() | PHP |
| 28/09 12h27 | [PHP] Requete delete | 1 |
| 31/05 21h58 | PHP/SQL Probléme Requête Delete | 3 |
| 29/03 20h52 | Php debutant requete delete | 4 |
| 05/05 12h55 | [MySQL/PHP]Requète dans une variable??? | 5 |
![]() | PHP Edit - PHPEdit est un environnement de développement intégré (IDE) sous Windows pour le langage PHP. Il offre un grand nombre de... | Catégorie: PHP Licence: Freeware/gratuit |
![]() | Delete History Free - En naviguant sur le Web ou en lançant une application quelconque, un historique de vos activités est toujours enregistré sur... | Catégorie: Nettoyage Licence: Freeware/gratuit |
![]() | WAMP Server - WAMP5 (WAMP signifiant Windows Apache Mysql PHP) est une plateforme de développement Web sous Windows. Il vous permet de... | Catégorie: Serveurs Licence: Freeware/gratuit |
![]() | easyPHP - EasyPHP est un environnement de travail packagé comprenant le serveur web Apache, le système de gestion de bases de données... | Catégorie: Serveurs Licence: Open Source |