Problème de suppression en php
Résolu
EleveSIG
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
EleveSIG Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
EleveSIG Messages postés 12 Date d'inscription Statut Membre Dernière intervention -
Bonjour, je suis élève en Terminale STMG et l'option que j'ai choisi étant l'informatique, je dois préparer un projet qui sera noté pour le Bac. L'objectif de ce projet est de créer un site (en local) pour le club de foot du lycée contenant les coordonnées de chaque joueurs dans la base de données. Nous devons ensuite être en mesure de pouvoir modifier les coordonnées des joueurs, ajouter ou supprimer des joueurs, ainsi qu'afficher la liste des joueurs enregistrés. Seulement voilà nous avons réussi à afficher une liste, mettre au point une interface, ajouter des joueurs (grâce à une aide précédemment reçu à l'aide d'un forum) mais nous n'arrivons pas à exécuter la suppression. Voilà ce qu'il se passe, lorsque je lance le site et tente de supprimer un joueur de la base en entrant son id, le site me redirige vers la liste des joueurs sans avoir procédé à la suppression. J'ai déjà plusieurs fois tenté de modifié le codage... sans succès. En ce qui me concerne, il me semble que le problème vienne de la requête mais je n'en suis pas sûr. Avant de montrer le codage, sachez que le fichier de suppression est divisé en 2, l'un pour l'affichage de la liste et la sélection du joueur à supprimer, l'autre pour l’exécution de la requête. Le fichier posant problème est celui de la requête. Je précise également que je travaille sous EasyPhp 5.3.0 et que je ne peux ABSOLUMENT pas changer de version. Voici le codage:
Merci d'avance pour votre aide.
// connexion au serveur MySQL $link = mysqli_connect('localhost','root','') or die('echec de la connexion'); //selection de la base de donnee joueur $database='footclub'; $table='joueur'; $sel = mysqli_select_db($database, $link); //recuperation des valeurs du formulaire $id=$_REQUEST[id]; //?criture de la requete de suppression $requete="DELETE FROM `joueur` WHERE id=".$id; //Execution de la requete mysqli_query($requete,$link); //Redirection vers listejoueur header("Location:listejoueur.php"); ?>
Merci d'avance pour votre aide.
EDIT : Correction des balises de code
A voir également:
- Problème de suppression en php
- Forcer suppression fichier - Guide
- Easy php - Télécharger - Divers Web & Internet
- Suppression compte gmail - Guide
- Suppression page word - Guide
- Suppression pub youtube - Accueil - Streaming
3 réponses
Tu as phpmyadmin installé ?
Essai d’exécuter ta requête dessus pour savoir ce qu'il retourne comme erreur…
Donc ton code :
Le résultat qui apparait à l'écran est ce que tu dois exécuter dans phpmyadmin.
Essai d’exécuter ta requête dessus pour savoir ce qu'il retourne comme erreur…
Donc ton code :
//recuperation des valeurs du formulaire $id=$_REQUEST[id]; //?criture de la requete de suppression $requete="DELETE FROM `joueur` WHERE id=".$id; exit($requete);
Le résultat qui apparait à l'écran est ce que tu dois exécuter dans phpmyadmin.
Salut,
La variable $_REQUEST['id'] possède t-elle bien la valeur attendue lorsque ton script est exécuté ?
Comment est transmis ce paramètre (GET ou POST) id à ce script ?
Peux tu nous montrer le code de l'affichage de la liste des joueurs avec la sélection du joueur à supprimer ? Le problème peut venir de là.
Bonne journée,
La variable $_REQUEST['id'] possède t-elle bien la valeur attendue lorsque ton script est exécuté ?
Comment est transmis ce paramètre (GET ou POST) id à ce script ?
Peux tu nous montrer le code de l'affichage de la liste des joueurs avec la sélection du joueur à supprimer ? Le problème peut venir de là.
Bonne journée,
Salut,
Je précise qu'avant ce projet je n'ai jamais codé de ma vie donc j'aurais sûrement un peu de mal à te répondre. Il me semble que le paramètre est transmis via POST. Concernant la valeur attendue, je suis censé devoir tapé l'id sur le site pour pouvoir supprimer le joueur. Et je peux confirmer que le problème ne vient pas de la liste si tu le souhaite je peux t'envoyer par mail les fichiers en questions pour que tu y jette un oeil.
Merci de ta réponse.
Je précise qu'avant ce projet je n'ai jamais codé de ma vie donc j'aurais sûrement un peu de mal à te répondre. Il me semble que le paramètre est transmis via POST. Concernant la valeur attendue, je suis censé devoir tapé l'id sur le site pour pouvoir supprimer le joueur. Et je peux confirmer que le problème ne vient pas de la liste si tu le souhaite je peux t'envoyer par mail les fichiers en questions pour que tu y jette un oeil.
Merci de ta réponse.
Bonjour,
Avec mysqli on évite les OR DIE ...
De plus tu fais ta redirection que tu aies des erreurs ou non....
Bref...
Essaye ça et dis moi ce que ça donne :
Cordialement,
Jordane
Avec mysqli on évite les OR DIE ...
De plus tu fais ta redirection que tu aies des erreurs ou non....
Bref...
Essaye ça et dis moi ce que ça donne :
<?php /*-----------------------------------------*/ //Activation de l'affichage des erreurs php /*-----------------------------------------*/ error_reporting(E_ALL); ini_set('display-errors','on'); /*-----------------------------------------*/ //connexion à la bdd /*-----------------------------------------*/ $database='footclub'; $table='joueur'; $user = "root"; $password = ""; $con=mysqli_connect("localhost",$user,$password,$database); // Check connection if (mysqli_connect_errno()) { echo "Echec de la connexion : " . mysqli_connect_error(); } /*---------------------------------------------------------*/ // Récupération PROPRE des variables AVANT de les utiliser /*---------------------------------------------------------*/ $id = !empty($_REQUEST['id']) ? $_REQUEST['id'] : NULL; // /*-----------------------------------------*/ // Requete de supprression : /*-----------------------------------------*/ $sql = "DELETE FROM $table WHERE id='$id'"; if (!mysqli_query($con,$sql)) { // si pb dans la requete echo("Error dans la requete: ". $sql . " Erreur :" . mysqli_error($con)); }else{ //Redirection vers listejoueur header("Location:listejoueur.php"); exit(); } mysqli_close($con); ?>
Cordialement,
Jordane
Car tu as écrit :
Ce n'est pas plutôt :
Je ferai même :
requête SQL:
$id = $_REQUEST[id];
MySQL a répondu:Documentation
#1064 - Erreur de syntaxe près de '$id=$_REQUEST[id]' à la ligne 1