impossible de supprimer une ligne de ma base de donnée par un formulaire demandant l'id a supprimer.

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : impossible de supprimer une ligne de ma base de donnée par un formulaire demandant l'id a supprimer.

Re: impossible de supprimer une ligne de ma base de donnée par un formulaire demandant l'id a supprimer.

par or 1 » 29 mars 2019, 22:26

"DELETE FROM `pers_rec` WHERE id = :id"

impossible de supprimer une ligne de ma base de donnée par un formulaire demandant l'id a supprimer.

par asgardlegrand » 29 mars 2019, 21:11

mon dossier ou est le' formulaire
<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <link rel="stylesheet" type="text/css" href="css/plainte_consultation.css">
</head>
<body>

<?php

// On démarre la session (ceci est indispensable dans toutes les pages de notre section membre)
session_start ();

// On récupère nos variables de session
if ($_SESSION['group'] == 3 XOR $_SESSION['group'] == 4) {

 require 'menu.php';?>
 <hr>
 <center><h3>Voici la liste des personnes actuellement recherchees  : </h3></center>
<form method="post" action="delete_fpr.php" id="frm_inventaire">
                <label for="nom">numero du dossier a supprimer: </label>
                <input type="int" name="id" id="id" />
                <input type="submit" value="supprimer"/>
            </form>
			            <hr>
<table>
  <tr>
    <th>numero de dossier</th>
	<th>Date de creation</th>
    <th>Nom</th>
    <th>Prenom</th>
    <th>Faits</th>
  </tr>
</table>

<?php include 'database.php';
global $db;

$q = $db->query("SELECT * FROM `pers_rec` ORDER BY id DESC LIMIT 10");
while ($conduite = $q->fetch()) { ?>

  <table>
    <tr>
       <td> <?= $conduite['id'] ?> </td>
	   <td> <?= $conduite['daterec'] ?> </td>
      <td> <?= $conduite['nom'] ?> </td>
      <td> <?= $conduite['prenom'] ?> </td>
      <td> <?= $conduite['question'] ?> </td>
    </tr>
  </table>
 


<?php }

         }
else {
	header("Location: menu.php");
}
?>


</body>

</html>
mon dossier action permettant normalement la suppression de la ligne dans la base de donnée
 <?php
    //Démarrage d'une session:
    session_start();
     
    //Récupération des variables du formulaire:
    $_SESSION['id'] = $_POST['id'];
    $id = $_POST['id'];
?>
<!DOCTYPE html>
<html lang="fr">
    <head>
        <meta charset="UTF-8">
  <link rel="stylesheet" type="text/css" href="css/plainte_consultation.css">
    </head>
     
    <body>
	<?php require 'menu.php'; ?>
 
 <?php
                 
                    //Connexion à la base de données:
                    include 'database.php';
					global $db;
					                     
                    if(isset($id) && !empty($id)){
                                         
                        $req = $db->prepare("DELETE * FROM `pers_rec` WHERE id = :id");
                         
                        $req->execute(array(
                            'id' => $id
                        ));     
                 
                        while ($donnees = $req->fetch()) {
                            header('Location: consultation_pers_rec.php');
                        }
                 
                        $req->closeCursor();
                    }
                    else{
                        echo '
                            <tr>
                                <td colspan="5" width="100%"><p>Veuillez définir une id.</p></td>
                            </tr>
                        ';
                    }
                ?>
            </table>     
        </content>


</body>

</html>
cela m'affiche deux ligne d'erreur

( ! ) Fatal error: in F:\pannel\www\...l\delete_fpr.php on line 30


( ! ) PDOException: in F:\pannel\www\....\delete_fpr.php on line 30

j'avou etre bloqué . merci de votre aide.