IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Appel d'une page et retour résultat sur cette page


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut Appel d'une page et retour résultat sur cette page
    Bonjour,

    j'avoue que le titre n'est peut-être pas super explicite, et en même temps pour trouver des solutions à mon problème je n'ai pas su quoi taper dans la barre de recherche réellement.

    Je dispose d'un dossier avec des fichiers à l'intérieur.
    Je peux supprimer ces fichiers en cliquant sur un lien (page document.php) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a href="delete.php?dossier='.$dossier.'&filename='.$nom.'">Supprimer</a>
    La suppression se passe sans problème (page delete.php) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
     
    $dossier = $_GET['dossier'];
    $filename = $_GET['filename'];
     
    // Suppression de l'ancien document sur le serveur
    $chemin = $dossier.$filename;
    unlink($chemin);
     
    // Suppression de l'ancien document de la base
    $reqdel = mysql_query("DELETE FROM ...;");
     
    if(!$reqdel) echo '<p class="rouge">Problème de suppression, veuillez réessayer.</p>';
    else echo '<p class="vert">L\'ancien document a bien été supprimé !</p>';
    Ce que j'aimerai faire, c'est afficher le résultat de $reqdel sur ma page document.php, directement sous mon formulaire. Or, actuellement ça m'ouvre la page delete.php avec mon texte à l'intérieur (ce qui est normal vu mon code).

    Donc comment récupérer le résultat $reqdel depuis delete.php dans document.php ? (une histoire de return ?)

    Merci !

  2. #2
    Membre éprouvé
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2009
    Messages
    180
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2009
    Messages : 180
    Par défaut
    Je pense qu'il faudrait que tu te tournes vers l'ajax. Ton lien vers delete.php appellerait en fait uune fonction JS qui elle appellerait le fichier PHP. Puis par exemple, une fois le fichier PHP appelé, tu renvoies ton résultat vers ta fonction JS et tu l'affiches dans ta page document.
    Par contre, si tu ne connais pas du tout l'ajax, j'essaierais de réfléchir à une bidouille :p ou alors peut-être que d'autres utilisateurs t'en proposeront une.

  3. #3
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Disons que je connais un peu pour avoir fait quelques fonctions avec par-ci par-là, mais quand je peux m'en passer, pourquoi pas.

    Après s'il n'y a pas d'autre choix ben ...

  4. #4
    Membre Expert
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Par défaut
    Salut,
    ça doit simplement ressemble à ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
     
    $dossier = $_GET['dossier'];
    $filename = $_GET['filename'];
    $etat = "?delete=";
     
    // Suppression de l'ancien document sur le serveur
    $chemin = $dossier.$filename;
    unlink($chemin);
     
    // Suppression de l'ancien document de la base
    $reqdel = mysql_query("DELETE FROM ...;");
     
    if(!$reqdel) $etat .= "true";
    else $etat .= "false";
     
    header("Location:chemin/document.php$etat");
    sur ta page document.php
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    //test si delete a été passer dans l'url
    if(is_set($_GET['delete'])){
     if($_GET['delete']=="true") 
       echo '<p class="vert">L\'ancien document a bien été supprimé !</p>';
    else if($_GET['delete']=="false") 
       echo '<p class="rouge">Problème de suppression, veuillez réessayer.</p>';
     
    }

  5. #5
    Membre éclairé Avatar de baggie
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    755
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2007
    Messages : 755
    Par défaut
    Merci pour cette solution mais ça ne fonctionne pas.

    Peut-être parce que sur la page document.php je n'ai pas mis ton code à la bonne place ?

    Celle-ci est composée de deux parties :
    - un input file pour ajouter un document, avec un bouton "ajouter"
    - la liste de tous les documents : deux liens pour chacun "télécharger" et "supprimer"

    Si on appuie sur Ajouter, alors on enregistre le document dans la base.

    Je dois caler mon $_GET delete à quel endroit ?

    EDIT : l'erreur que j'ai est qu'il ne trouve pas la page http://127.0.0.1/document.php?delete=false
    > dû au fait que j'ai un <form method=post> sur ma page peut-être ?

  6. #6
    Membre Expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Par défaut
    ReSalut,

    Comme tu as l'air d'avoir une page qui commence à être conséquente (avec des formulaires .... des posts) (des liens .... des gets) etc ... Moi je me ferais un petit contrôleur de tout cela. CAD repasser par le serveur.

    Ce contrôleur récupérera les gets ou les posts, les analysera et puis rechargera la page avec un flag sur la suppression par ex.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 21/10/2009, 18h06
  2. appel a une classe et retour ?
    Par pepito31 dans le forum Langage
    Réponses: 2
    Dernier message: 01/08/2007, 17h58
  3. [Oracle] Résultats sur plusieurs pages (pagination)
    Par lilsandy dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/07/2007, 10h26
  4. Formulaire recherche + résultat sur plusieurs pages
    Par Pepito2030 dans le forum Langage
    Réponses: 1
    Dernier message: 14/06/2007, 12h23
  5. Retour aléatoire sur la page d'accueil
    Par ThunderBolt_ dans le forum Langage
    Réponses: 2
    Dernier message: 09/01/2007, 10h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo