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 :

Passage de paramètre (avec $_GET) vers une autre page : conseil


Sujet :

Langage PHP

  1. #1
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut Passage de paramètre (avec $_GET) vers une autre page : conseil
    Bonjour, je dois ajouter la fonctionnalité "Supprimer un client" dans une application et j'ai plusieurs soucis :
    les données d'une fiche client sont affichées sur une page ficheClients.php, et c'est ici que je dois ajouter la fonction supprimer. Je me pose deux questions :

    - dois-je mettre cette fonction sous la forme d'un bouton supprimer qui envoie vers la page ficheClients2.php (là où s'effectuent les requêtes de suppression)

    -dois-je mettre un lien avec pour titre supprimer qui renvoie vers la page ficheClient2.php?

    De plus, comment faire pour passer les paramètres de la page ficheCilents.php (contenus dans $_GET) à la page ficheClients2.php ?

    Merci de votre aide.

  2. #2
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Tu peux faire un formulaire avec un bouton "supprimer" et tu passes tes données en post ($_post).

  3. #3
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    J'y ai pensé, mais le problème c'est que avec cette méthode, si je veux par exemple faire un echo de la variable $numCli (le numéro du client) j'ai un message qui m'indique que la variable n'est pas définie

    Voila comment j'ai construit mon formulaire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <form method="post" action="ficheClient2.php" name="formSupprimerTesteur" class="cssform">
    	<input type="submit" value="Supprimer" class="bouton" />
    </form>

  4. #4
    Membre régulier Avatar de waldo2188
    Profil pro
    Chef de projets
    Inscrit en
    Mars 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chef de projets

    Informations forums :
    Inscription : Mars 2004
    Messages : 115
    Points : 113
    Points
    113
    Par défaut
    Salut,

    Et pourquoi pas simplement un lien qui redirige l'utilisateur vers ta page ficheClients.php en lui ajoutant un attribut.
    par exemple : ficheClients.php?clidel=1

    dans un fichier ficheClients.php tu test si la variable $_GET['clidel'] existe et dans ce cas la tu effectues les opérations pour supprimer le client.

    il ne reste plus qu'a afficher un petit message à l'utilisateur pour l'informer de l'état de la suppression.


    cela répond t'il à ta question?
    Waldo2188

  5. #5
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Oui, ca me parait une bonne solution et ça m'évite de créer le fichier ficheClient2.php.
    Seulement, si je fais un echo $numCli, rien ne s'affiche et j'ai cette erreur :
    Notice: Undefined variable: numCli in C:\wamp\www\appli\html\ficheClient.php on line 20
    suppression du client n°
    Voilà comment je m'y suis pris, ce n'est peut être pas la bonne méthode ...
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    if (isset($_GET['suppClient']) && $_GET['suppClient'] == 1 ) {
    	echo "suppression du client n° $numCli";
    	}
    et pour le lien :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <a href="ficheClient.php?suppClient=1">Supprimer</a>
    Merci!

  6. #6
    Membre averti Avatar de nicoaix
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    571
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Service public

    Informations forums :
    Inscription : Décembre 2004
    Messages : 571
    Points : 362
    Points
    362
    Par défaut
    Ta variable $numCli est définie où?
    Attention si tu supprimes le client avec le numéro x et qu'ensuite tu recherches le client qui a le numéro x tu auras forcément une absence de valeur en retour.

  7. #7
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    Je n'ai plus l'erreur, j'avais mis le bout de code avant la définition de $numCli, mais maintenant le echo n'affiche rien! Pourtant, je veux juste vérifier que je récupère le bon numéro de client pour pouvoir le supprimer, je n'ai pas encore fait le code pour le supprimer, donc il est toujours là.

    Une idée de mon erreur?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    if (isset($_GET['numSociete'])) {
    	$numCli =  $_GET['numSociete'];	
    	if (isset($_GET['suppClient']) && $_GET['suppClient'] == 1 ) {
    		echo "suppression du client n° $numCli";
    	}

  8. #8
    Invité
    Invité(e)
    Par défaut
    ATTENTION DANGER !

    Si le parametre est passé dans l'URL (suppClient), RIEN ne l'empeche de changer la valeur de suppClient dans l'URL, et supprimer la fiche d'UN AUTRE CLIENT !!

    Pour ce genre de manip., tu as plus interet a mettre l'idclient dans une variable de session, ou a la rigueur en $_POST !
    Mais surtout pas en $_GET !

  9. #9
    Membre régulier Avatar de waldo2188
    Profil pro
    Chef de projets
    Inscrit en
    Mars 2004
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Chef de projets

    Informations forums :
    Inscription : Mars 2004
    Messages : 115
    Points : 113
    Points
    113
    Par défaut
    Il est clair que dans la variable get c'est pas ce qu'il y a de plus sécurisant ^^.

    En effet rien empêche l'utilisateur de changer l'id du client pour en tuer un autre.

    Un formulaire est aussi tout à fait jouable en utilisant la même technique.
    Le formulaire pointe sur la même page

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    if (isset($_POST['numSociete'])) {
    	$numCli =  $_POST['numSociete'];	
    	if (isset($_POST['suppClient']) && $_POST['suppClient'] == 1 ) {
    		echo "suppression du client n° $numCli";
    	}
    Waldo2188

  10. #10
    Membre habitué
    Profil pro
    Inscrit en
    Mars 2009
    Messages
    389
    Détails du profil
    Informations personnelles :
    Âge : 34
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Mars 2009
    Messages : 389
    Points : 192
    Points
    192
    Par défaut
    C'est bon j'ai réussi à faire ce que je voulais. J'ai opté pour le lien qui renvoie sur la même page, en utilisant $_GET, car l'application étant en local et l'accès à la page de suppression sécurisée, je peux me permettre de passer les données par la méthode get.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if(isset($_GET['suppFiche']) && $_GET['suppFiche']!='') {
    sql("DELETE FROM societe WHERE NumSociete=".$_GET['suppFiche']." ",3);
    header("Location: ficheClient.php");
    }
    Merci de votre aide!

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

Discussions similaires

  1. [AJAX] Reload avec Ajax vers une autre page .php
    Par Rony Rauzduel dans le forum AJAX
    Réponses: 3
    Dernier message: 11/10/2012, 09h36
  2. [Débutant] redirection vers une autre page avec GridView
    Par imenamouna dans le forum ASP.NET
    Réponses: 4
    Dernier message: 09/08/2012, 21h44
  3. Réponses: 1
    Dernier message: 15/02/2010, 10h15
  4. Réponses: 8
    Dernier message: 17/02/2009, 16h01
  5. Réponses: 11
    Dernier message: 17/10/2006, 17h55

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