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

PHP & Base de données Discussion :

Supprimer une entrée avec une requête préparée


Sujet :

PHP & Base de données

  1. #1
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut Supprimer une entrée avec une requête préparée
    Bonsoir à tous,

    Je débute dans le PHP et je crée des petits sites perso pour m’entraîner.
    Jusqu’à aujourd'hui j'ai sus me débrouiller seul avec ma doc. mais la je galère pour supprimer une entrée de ma table avec une requête préparée.

    J'explique, ont a un formulaire dans lequel ont entre un numéro de téléphone, le formulaire redirige vers une autre page qui est sensé delete l'entrée correspondant au numéro de téléphone taper!

    Mais la, je cale, je me suis basé de ces deux script:


    La page du formulaire:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <form action="envoit.php" method="post">			   
    <label for="titre">Titre</label> : <input type="text" name="titre" id="titre" /><br />
    <label for="cont">Contenu</label> : <input type="text" name="cont" id="cont" /><br />
    <label for="auteur">Auteur</label> :  <input type="text" name="auteur" id="auteur" /><br /> 
    <br/>
    <input type="submit" value="Envoyer" />
    </form>


    Et la page "envoit.php"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <?php
    $date = getdate();
    include('includes/config.php');
    include('includes/mysql.php');
    $req = $bdd->query('SELECT * FROM news');
     
    $req = $bdd->prepare('INSERT INTO news (titre, contenu, auteur, date) VALUES(?, ?, ?, ?)');
    $req->execute(array($_POST['titre'], $_POST['cont'], $_POST['auteur'], $_POST[$date]));
     
    header('Location: anews.php');
    ?>

    Voila j'aimerai faire la même chose avec ce formulaire:

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <form action="del.php" method="post">			   
    <label for="num">Numéro de téléphone</label> :  <input type="text" name="num" id="num" /><br /> 
    <br/>
    <input type="submit" value="Envoyer" />
    </form>

    Et alors sur la page "del.php" comme sur la page "envoit.php" sauf que sa supprime l'entrée dans la table "amis" contenant le numéro entrée sur le formulaire.


    D'avance, merci de votre aide et bonne soirée à vous!

  2. #2
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Si la suppression ne se fait pas dans la bonne table c'est que tu n'as pas mis la bonne table dans ta requête DELETE.

  3. #3
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    La n'est pas la question, je recherche le code pour exécuter justement la suppression d'infos dans la table

  4. #4
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Etant donné tu nous annonces que tu supprimes des données dans la table "amis" on peut raisonnablement supposer que tu as déjà écrit une requete de suppression.

    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM ta_table WHERE ta_colonne_numero_de_telephone = xxxxxxxxx

  5. #5
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Oui, mais je ne sais pas comment faire pour que le xxxxxxxxx sois ce qui est entrer dans le formulaire par l'utilisateur

  6. #6
    Membre averti
    Homme Profil pro
    Inscrit en
    Avril 2011
    Messages
    660
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2011
    Messages : 660
    Points : 331
    Points
    331
    Par défaut
    Tu va récupérer le N° dans la variable

    A partir de la, tu feras ta requête préparée et dans ton execute, tu feras passer cette variable.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql_delete = $bdd->prepare('DELETE FROM blabla WHERE num = ?')
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $sql_delete->execute(array($_POST['num']));

  7. #7
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    J'essaye sa de suite merci

  8. #8
    Membre à l'essai
    Homme Profil pro
    Apprenti
    Inscrit en
    Février 2012
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Apprenti
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2012
    Messages : 10
    Points : 12
    Points
    12
    Par défaut
    salut,

    tu fait une récup de tes données dans del.php
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    //connexion a ta base
    $numtel = $_POST['num'];
     
    mysql_query('delete from ta table where num='.$numtel);
    ?>

  9. #9
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    donc , tu permets a tes utilisateurs de donner des critères de suppression dans ta table ...

    imagine juste :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM blabla WHERE num = '%0%'

    contrôle bien ton POST avant l’exécution !!

  10. #10
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Citation Envoyé par camyo Voir le message
    donc , tu permets a tes utilisateurs de donner des critères de suppression dans ta table ...
    Oui Panel Admin

  11. #11
    Membre averti

    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2011
    Messages
    205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Juin 2011
    Messages : 205
    Points : 409
    Points
    409
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par camyo Voir le message
    donc , tu permets a tes utilisateurs de donner des critères de suppression dans ta table ...

    imagine juste :
    Code sql : Sélectionner tout - Visualiser dans une fenêtre à part
    DELETE FROM blabla WHERE num = '%0%'

    contrôle bien ton POST avant l’exécution !!
    D'où l'intérêt de passer par une requête préparée comme heretik25 le propose !

  12. #12
    Membre averti Avatar de camyo
    Homme Profil pro
    Chef de projet NTIC
    Inscrit en
    Juin 2004
    Messages
    400
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Chef de projet NTIC

    Informations forums :
    Inscription : Juin 2004
    Messages : 400
    Points : 386
    Points
    386
    Par défaut
    Justement, je me demandais .. il se passerais quoi, dans un requête préparé comme le propose heretik25 d'envoyer %0%
    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $sql_delete = $bdd->prepare('DELETE FROM blabla WHERE num = ?')
    $sql_delete->execute(array($_POST['num']));

    vu qu'il n'y a pas de contrôle sur le $_POST'num']

    C'est une vrais question

  13. #13
    Candidat au Club
    Homme Profil pro
    Etudiant
    Inscrit en
    Mars 2012
    Messages
    8
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Etudiant
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2012
    Messages : 8
    Points : 4
    Points
    4
    Par défaut
    Je me suis posé la même question :/

  14. #14
    Modérateur
    Avatar de sabotage
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    29 208
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Juillet 2005
    Messages : 29 208
    Points : 44 155
    Points
    44 155
    Par défaut
    Dans le cas présent je pense que ça ne ferrait rien puisque nous ne sommes pas dans un LIKE.
    De toute façon, même sans joker on pourrait tout supprimer par l'interface, ça prend seulement du temps.
    Si l'interface restreignait les numéros présentés pour la suppression, il faudrait evidemment verifier que le numéro soumis à suppression faut bien parti de ceux autorisés.

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2015, 12h17
  2. [Toutes versions] Supprimer l'entrée d'une table via une liste déroulante
    Par mixnake dans le forum IHM
    Réponses: 4
    Dernier message: 20/04/2013, 08h33
  3. [XL-2002] Macro de comparaison d'une cellule d'une feuille avec une cellule d'une autre feuille.
    Par steelydan dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 08/09/2010, 13h59
  4. Réponses: 4
    Dernier message: 15/10/2009, 14h33
  5. [Regex]Match d'une regexp avec une chaîne avec caractères spéciaux
    Par gdawirs dans le forum Collection et Stream
    Réponses: 13
    Dernier message: 25/11/2005, 13h24

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