Requête PDO pour modifier des données avec mon formulaire [Résolu]

kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention - 25 avril 2016 à 13:32 - Dernière réponse : kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention
- 3 mai 2016 à 18:47
Bonjour, je suis débutante en php et nouvelle sur le forum et j'aimerais que vous m'aidiez .Je suis a mon premier projet :celui de concevoir une application pour la gestion des courriers et rendez-vous pour une entreprise x et suis bloquer au niveau de la modification des données par un formulaire.En fait je voudrais sélectionner le id dans ma liste de rendez-vous et le mettre dans mon formulaire de modification et automatiquement les données des autres champs s'affichent et je modifie.si quelqu'un a quelque chose a me proposer je serai ravi de l'essayer
mais voici ou j'en suis avec mon code
<?php
include("Connexion.php");

?>
<?php
include("Acceuil.php");
?>


<html>
</head><link rel="stylesheet" media="screen" type="text/css" href="monstyle.css"><title>modifier Rdv</title></head>
<body>


<form id="form1" name="form1" method="POST" action="rendez_vous.php">

<FIELDSET>
<LEGEND align='top'><h1><fieldset>MODIFIER UN RENDEZ-VOUS </fieldset></h1></LEGEND>
<table width="420" border="0">

<tr>
<td>Numero</td>
<td><label>
<input name="id_rdv" type="text" id="id_rdv" />
</label></td>
</tr>
<tr>
<td>Objet</td>
<td><label>
<input name="Objet_rdv" type="text" id="Objet_rdv" />
</label></td>
</tr>
<tr>
<td>Lieu</td>
<td><label>
<input name="Lieu_rdv" type="text" id="Lieu_rdv" />
</label></td>
</tr>
<tr>

<td>Debut</td>
<td><input name="Debut_rdv" type="text" id="Debut_rdv" /></td>
</tr>
<tr>
<td>Fin</td>
<td><input name="Fin_rdv" type="text" id="Fin_rdv" /></td>
</tr>
<tr>
<td><label>
<div class=monBouton>
<input name="Modifier" type="submit" class="ajouter" value="Modifier"onclick='document.form1.action="modifier.php?fichier=0";document.form1.submit();'/>
<input name="Annuler" type="reset" class="Annuler" value="Annuler"onclick='document.form1.action="annuler.php?fichier=0";document.form1.submit();'/>
</tr>
</div>
</label></td>
</tr>
</table>
</FIELDSET>

</form>
</body>
<html>
<?php
error_reporting(E_ALL);
$id_rdv=(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
$stmt = $db->prepare("SELECT *
FROM rendez_vous
WHERE id_rdv = .$id_rdv ");

// On affiche chaque entrée une à une
while ($donnees = $stmt->fetch())
{
$stmt->bindparam(':id_rdv',$id_rdv);
$stmt->bindparam(':Objet_rdv',$Objet_rdv);
$stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
$stmt->bindparam(':Debut_rdv',$Debut_rdv);
$stmt->bindparam(':Fin_rdv',$Fin_rdv);

$stmt->execute();
?>


<?PHP
error_reporting(E_ALL);

$id_rdv=(isset($_POST["id_rdv"])) ? $_POST["id_rdv"] : "";
$Objet_rdv=(isset($_POST["Objet_rdv"])) ? $_POST["Objet_rdv"] : "";
$Lieu_rdv =(isset($_POST["Lieu_rdv"])) ? $_POST["Lieu_rdv"] : "";
$Debut_rdv =(isset($_POST["Debut_rdv"])) ? $_POST["Debut_rdv"] : "";
$Fin_rdv =(isset($_POST["Fin_rdv"])) ? $_POST["Fin_rdv"] : "";



$stmt = $db->prepare('UPDATE rendez_vous SET

Objet_rdv=:Objet_rdv,
Lieu_rdv=:Lieu_rdv,
Debut_rdv=:Debut_rdv,
Fin_rdv=:Fin_rdv WHERE id_rdv = :id_rdv');

$stmt->bindparam(':id_rdv',$id_rdv);
$stmt->bindparam(':Objet_rdv',$Objet_rdv);
$stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
$stmt->bindparam(':Debut_rdv',$Debut_rdv);
$stmt->bindparam(':Fin_rdv',$Fin_rdv);



$retour = $stmt->execute();


if( $retour === false) {
$err = $stmt->errorInfo();
throw new Exception('Erreur mise a jour rendez_vous : '.$err[2]);
}};

?>
Afficher la suite 

Votre réponse

8 réponses

jordane45 22897 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 octobre 2018 Dernière intervention - Modifié par jordane45 le 25/04/2016 à 20:44
0
Merci
Bonjour,

Quelques erreurs dans ton script ...
De plus... essayes de mettre le maximum de php AVANT le html.

Essayes ça :
<?php
/**
* Page : rendez_vous.php
*/

//--------------------------------------------------------//
//Affichage des erreurs PHP : A mettre AU DEBUT de tes pages !
//--------------------------------------------------------//
error_reporting(E_ALL);
 
//--------------------------------------------------------//
// Connexion à la BDD
//--------------------------------------------------------//
require_once("Connexion.php");


//--------------------------------------------------------//
//récupération "porpre" des variables
//--------------------------------------------------------//
   $id_rdv = isset($_POST["id_rdv"]) ? $_POST["id_rdv"] : "";
$Objet_rdv = isset($_POST["Objet_rdv"]) ? $_POST["Objet_rdv"] : "";
 $Lieu_rdv = isset($_POST["Lieu_rdv"]) ? $_POST["Lieu_rdv"] : "";
$Debut_rdv = isset($_POST["Debut_rdv"]) ? $_POST["Debut_rdv"] : "";
  $Fin_rdv = isset($_POST["Fin_rdv"]) ? $_POST["Fin_rdv"] : "";

//--------------------------------------------------------//
//traitement du Submit
//--------------------------------------------------------//
if(isset($_POST['Modifier']){
 if($id_rdv){
  $sql = "UPDATE rendez_vous 
       SET Objet_rdv=:Objet_rdv,
         Lieu_rdv=:Lieu_rdv,
         Debut_rdv=:Debut_rdv,
         Fin_rdv=:Fin_rdv  
      WHERE id_rdv = :id_rdv";
  
  try{
   $stmt = $db->prepare($sql);
   $stmt->bindparam(':id_rdv',$id_rdv);
   $stmt->bindparam(':Objet_rdv',$Objet_rdv);
   $stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
   $stmt->bindparam(':Debut_rdv',$Debut_rdv);
   $stmt->bindparam(':Fin_rdv',$Fin_rdv);
   
  $retour = $stmt->execute();
  }catch(Exception $e){
   echo "Erreur ! " .$e->getMessage();
  }
 }
}


//--------------------------------------------------------//
//Récupération des infromations du RDV si elles existent
//--------------------------------------------------------//
if($id_rdv){
 $sql = "SELECT *
     FROM rendez_vous
     WHERE id_rdv = :id_rdv ";

 $a_datas = ":id_rdv"=>$id_rdv);   
 try{ 
   $stmt = $db->prepare($sql);
   $retour = $stmt->execute();
   $result = $stmt->fetchAll() //on stocke les resultats dans un array
  $array_result = $result[0];
   
 }catch(Exception $e){
  echo "Erreur ! " .$e->getMessage();
 } 
}
 ?>

<html>
<head>
 <link rel="stylesheet" media="screen" type="text/css" href="monstyle.css">
 <title>modifier Rdv</title>
</head>
<body>

 <?php 
 include("Acceuil.php"); 
 ?>

 <form id="form1" name="form1" method="POST" action="">

 <FIELDSET>
  <LEGEND align='top'><h1><fieldset>MODIFIER UN RENDEZ-VOUS </fieldset></h1></LEGEND>
   <table width="420" border="0">
    
    <tr>
     <td>Numero</td>
     <td><label>
      <input name="id_rdv" type="text" id="id_rdv"  value="<?php echo $id_rdv;?>"/>
     </label></td>
    </tr>
    <tr>
     <td>Objet</td>
     <td><label>
      <input name="Objet_rdv" type="text" id="Objet_rdv" value="<?php echo isset($array_result['Objet_rdv']) ? $array_result['Objet_rdv'] : '';?>"/>
     </label></td>
    </tr>
    <tr>
   <td>Lieu</td>
     <td><label>
      <input name="Lieu_rdv" type="text" id="Lieu_rdv" value="<?php echo isset($array_result['Lieu_rdv']) ? $array_result['Lieu_rdv'] : '';?>" />
     </label></td>
    </tr>
    <tr>
   
     <td>Debut</td>
     <td><input name="Debut_rdv" type="text" id="Debut_rdv" /></td>
     </tr>
     <tr>
     <td>Fin</td>
     <td><input name="Fin_rdv" type="text" id="Fin_rdv" /></td>
    </tr>
    <tr>
     <td>
      <div class=monBouton>
       <input name="Modifier" type="submit" class="ajouter" value="Modifier" />
       <input name="Annuler" type="reset" class="Annuler" value="Annuler" onclick='document.form1.action="annuler.php?fichier=0";document.form1.submit();'/>
      </div>  
     </td>
    </tr>
   </table>
  </FIELDSET>
  
 </form>
</body>
<html>



NB: Je te laisse compléter au besoin.



Cordialement, 
Jordane                                                                 
Commenter la réponse de jordane45
kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention - 25 avril 2016 à 19:09
0
Merci
ok merci pour ton aide ,je revois ça et je te reviens !
Commenter la réponse de kpris_gene
kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention - 26 avril 2016 à 12:52
0
Merci
bonjour, j'ai essayer le code , il y avait une parenthèse qui manquait au niveau de la ligne 30 .Mais je suis bloqué au niveau de la ligne 66 qui affiche cette erreur :Parse error: syntax error, unexpected '=>' (T_DOUBLE_ARROW) in C:\EasyPHP-Devserver-16.1-RC5\eds-www\courrier_rendez_vous\modifier.php on line 66
j'essaie de corriger mais je n'y arrive pas ,aussi je voudrais savoir le sens de cette ligne car je ne comprend pas .Je continue de chercher et je te réécris merci pour l'attention !
Commenter la réponse de kpris_gene
kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention - 28 avril 2016 à 17:06
0
Merci
Salut j'ai vraiment besoin de réponse car je suis en train de perdre beaucoup de temps à tourner en rond sans rien trouver comme solution .Merci de me venir en aide !
jordane45 22897 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 octobre 2018 Dernière intervention - 28 avril 2016 à 17:11
Si tu ne nous montres pas ton code .... IMPOSSIBLE de t'aider.
Commenter la réponse de kpris_gene
kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention - 28 avril 2016 à 18:57
0
Merci
ok escusez moi voici le code
<?php


error_reporting(E_ALL);


require_once("Connexion.php");




$id_rdv = isset($_POST["id_rdv"]) ? $_POST["id_rdv"] : "";
$Objet_rdv = isset($_POST["Objet_rdv"]) ? $_POST["Objet_rdv"] : "";
$Lieu_rdv = isset($_POST["Lieu_rdv"]) ? $_POST["Lieu_rdv"] : "";
$Debut_rdv = isset($_POST["Debut_rdv"]) ? $_POST["Debut_rdv"] : "";
$Fin_rdv = isset($_POST["Fin_rdv"]) ? $_POST["Fin_rdv"] : "";
$type_rendez_vous = isset($_POST["type_rendez_vous"]) ? $_POST["type_rendez_vous"] : "";

//--------------------------------------------------------//
//traitement du Submit
//--------------------------------------------------------//
if(isset($_POST['Modifier'])){
if($id_rdv){
$sql = "UPDATE rendez_vous
SET Objet_rdv=:Objet_rdv,
Lieu_rdv=:Lieu_rdv,
Debut_rdv=:Debut_rdv,
Fin_rdv=:Fin_rdv,
type_rendez_vous=:type_rendez_vous
WHERE id_rdv = :id_rdv";

try{
$stmt = $db->prepare($sql);
$stmt->bindparam(':id_rdv',$id_rdv);
$stmt->bindparam(':Objet_rdv',$Objet_rdv);
$stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
$stmt->bindparam(':Debut_rdv',$Debut_rdv);
$stmt->bindparam(':Fin_rdv',$Fin_rdv);
$stmt->bindparam(':type_rendez_vous',$type_rendez_vous);

$retour = $stmt->execute();
}
catch(Exception $e){
echo "Erreur ! " .$e->getMessage();
}
}
}


//--------------------------------------------------------//
//Récupération des infromations du RDV si elles existent
//--------------------------------------------------------//
if($id_rdv){
$sql = "SELECT *
FROM rendez_vous
WHERE id_rdv = :id_rdv ";

$a_datas = ":id_rdv"=>($id_rdv);
try{
$stmt = $db->prepare($sql);
$retour = $stmt->execute();
$result = $stmt->fetchAll() //on stocke les resultats dans un array
$array_result = $result[0];

}catch(Exception $e){
echo "Erreur ! " .$e->getMessage();
}
}
?>

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" href="monstyle.css">
<title>modifier Rdv</title>
</head>
<body>

<?php
include("Acceuil.php");
?>

<form id="form1" name="form1" method="POST" action="">

<FIELDSET>
<LEGEND align='top'><h1><fieldset>MODIFIER UN RENDEZ-VOUS </fieldset></h1></LEGEND>
<table width="420" border="0">

<tr>
<td>Numero</td>
<td><label>
<input name="id_rdv" type="text" id="id_rdv" value="<?php echo $id_rdv;?>"/>
</label></td>
</tr>
<tr>
<td>Objet</td>
<td><label>
<input name="Objet_rdv" type="text" id="Objet_rdv" value="<?php echo isset($array_result['Objet_rdv']) ? $array_result['Objet_rdv'] : '';?>"/>
</label></td>
</tr>
<tr>
<td>Lieu</td>
<td><label>
<input name="Lieu_rdv" type="text" id="Lieu_rdv" value="<?php echo isset($array_result['Lieu_rdv']) ? $array_result['Lieu_rdv'] : '';?>" />
</label></td>
</tr>
<tr>

<td>Debut</td>
<td><input name="Debut_rdv" type="text" id="Debut_rdv" /></td>
</tr>
<tr>
<td>Fin</td>
<td><input name="Fin_rdv" type="text" id="Fin_rdv" /></td>
</tr>
<tr>
<td>type_rendez_vous</td>
<td><input name="type_rendez_vous" type="text" id="type_rendez_vous" /></td>
</tr>
<tr>
<td>
<div class=monBouton>
<input name="Modifier" type="submit" class="ajouter" value="Modifier" />
<input name="Annuler" type="reset" class="Annuler" value="Annuler" onclick='document.form1.action="annuler.php?fichier=0";document.form1.submit();'/>
</div>
</td>
</tr>
</table>
</FIELDSET>

</form>
</body>
<html>

jordane45 22897 Messages postés mercredi 22 octobre 2003Date d'inscriptionModérateurStatut 19 octobre 2018 Dernière intervention - 28 avril 2016 à 19:34
$a_datas = ":id_rdv"=>($id_rdv);   

A changer par
$a_datas = array(":id_rdv"=>$id_rdv);   
Commenter la réponse de kpris_gene
kpris_gene 31 Messages postés lundi 25 avril 2016Date d'inscription 21 octobre 2016 Dernière intervention - 3 mai 2016 à 18:47
0
Merci
Salut merci pour ton aide précieuse !j'arrive a modifier sans problème voici mon code
<?php


error_reporting(E_ALL);


require_once("Connexion.php");




$id_rdv = isset($_POST["id_rdv"]) ? $_POST["id_rdv"] : "";
$Objet_rdv = isset($_POST["Objet_rdv"]) ? $_POST["Objet_rdv"] : "";
$Lieu_rdv = isset($_POST["Lieu_rdv"]) ? $_POST["Lieu_rdv"] : "";
$Debut_rdv = isset($_POST["Debut_rdv"]) ? $_POST["Debut_rdv"] : "";
$Fin_rdv = isset($_POST["Fin_rdv"]) ? $_POST["Fin_rdv"] : "";
$type_rendez_vous = isset($_POST["type_rendez_vous"]) ? $_POST["type_rendez_vous"] : "";

//--------------------------------------------------------//
//traitement du Submit
//--------------------------------------------------------//
if(isset($_POST['Modifier'])){
if($id_rdv){
$sql = "UPDATE rendez_vous
SET Objet_rdv=:Objet_rdv,
Lieu_rdv=:Lieu_rdv,
Debut_rdv=:Debut_rdv,
Fin_rdv=:Fin_rdv,
type_rendez_vous=:type_rendez_vous
WHERE id_rdv = :id_rdv";

try{
$stmt = $db->prepare($sql);
$stmt->bindparam(':id_rdv',$id_rdv);
$stmt->bindparam(':Objet_rdv',$Objet_rdv);
$stmt->bindparam(':Lieu_rdv',$Lieu_rdv);
$stmt->bindparam(':Debut_rdv',$Debut_rdv);
$stmt->bindparam(':Fin_rdv',$Fin_rdv);
$stmt->bindparam(':type_rendez_vous',$type_rendez_vous);

$retour = $stmt->execute();
}
catch(Exception $e){
echo "Erreur ! " .$e->getMessage();
}
}
}


//--------------------------------------------------------//
//Récupération des infromations du RDV si elles existent
//--------------------------------------------------------//
if($id_rdv){
$sql = "SELECT *
FROM rendez_vous
WHERE id_rdv = :id_rdv ";

$a_datas = array(":id_rdv"=>$id_rdv);
try{
$stmt = $db->prepare($sql);
$retour = $stmt->execute();
$result = $stmt->fetchAll(); //on stocke les resultats dans un array
$array_result = $result[0];

}catch(Exception $e){
echo "Erreur ! " .$e->getMessage();
}
}

?>

<html>
<head>
<link rel="stylesheet" media="screen" type="text/css" href="monstyle.css">
<title>modifier Rdv</title>
</head>
<body>

<?php
include("Acceuil.php");
?>

<form id="form1" name="form1" method="POST" action="">

<FIELDSET>
<LEGEND align='top'><h1><fieldset>MODIFIER UN RENDEZ-VOUS </fieldset></h1></LEGEND>
<table width="420" border="0">

<tr>
<td>Numero</td>
<td><label>
<input name="id_rdv" type="text" id="id_rdv" value="<?php echo $id_rdv;?>"/>
</label></td>
</tr>
<tr>
<td>Objet</td>
<td><label>
<input name="Objet_rdv" type="text" id="Objet_rdv" value="<?php echo isset($array_result['Objet_rdv']) ? $array_result['Objet_rdv'] : '';?>"/>
</label></td>
</tr>
<tr>
<td>Lieu</td>
<td><label>
<input name="Lieu_rdv" type="text" id="Lieu_rdv" value="<?php echo isset($array_result['Lieu_rdv']) ? $array_result['Lieu_rdv'] : '';?>" />
</label></td>
</tr>
<tr>

<td>Debut</td>
<td><input name="Debut_rdv" type="text" id="Debut_rdv" /></td>
</tr>
<tr>
<td>Fin</td>
<td><input name="Fin_rdv" type="text" id="Fin_rdv" /></td>
</tr>
<tr>
<td>type_rendez_vous</td>
<td><input name="type_rendez_vous" type="text" id="type_rendez_vous" /></td>
</tr>
<tr>
<td>
<div class=monBouton>
<input name="Modifier" type="submit" class="ajouter" value="Modifier" />
<input name="Annuler" type="reset" class="Annuler" value="Annuler" onclick='document.form1.action="annuler.php?fichier=0";document.form1.submit();'/>
</div>
</td>
</tr>
</table>
</FIELDSET>

</form>
</body>
<html>

Commenter la réponse de kpris_gene

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.