Modification ne fonctionne pas

butterfly -  
 cacao -
Bonjour ,
je essayer de modifier un table dans ma base de données a partir de champs textarea mais ça fonctionne pas et je trouve pas pourquoi

voilà mon code:
  <?php 
 

 $res2 = $dbh->prepare("select * from strategiearticle ");
  $res2->execute();
  $l2 = $res2->fetch();

 
 echo" <form class='niceform'  method='post' action='Mstrategie.php'>
    <center>

     <td>&nbsp;</td>
     <table width='100%' border='0' cellspacing='0' cellpadding='5'>  ";
	 
    echo" <td width='15%'>Entête</td>
        <td width='70%'><textarea name='entete'  cols='35' rows='5' >$l2[0]</textarea></td></td>
        <td width='15%' id='errOffset'>&nbsp;</td></tr>
      <td>&nbsp;</td>
  
         <tr> <td valign='top'>Titre1:</td>
        <td><textarea name='tit1'  cols='35' rows='5' >$l2[1]</textarea></td>
          <td valign='top'>&nbsp;</td>
     
           </tr> <td>&nbsp;</td>";
       echo"<tr> <td>Text1:</td>
	  
<td><textarea name='txt1'  cols='35' rows='5' >$l2[2]</textarea></td>
          <td valign='top'>&nbsp;</td>";
	   
    echo"<tr> <td>Titre2:</td>
	  
<td><textarea name='tit2'  cols='35' rows='5' >$l2[3]</textarea></td>
          <td valign='top'>&nbsp;</td>";
		  
		   echo"<tr> <td>Text2:</td>
	  
<td><textarea name='txt2'  cols='35' rows='5' >$l2[4]</textarea></td>
          <td valign='top'>&nbsp;</td>";
	  
      
  echo" <td colspan='2'>
   <input type='submit' name='mod'  value='Modifier' />
   <input type='reset' name='annuler'  value='Annuler' />"; 
   
   
   if(isset($_POST['mod']))
 {

$entete=$_POST['entete'];
$tit1=$_POST['tit1'];
$txt1=$_POST['txt1'];
$tit2=$_POST['tit2'];
$txt2=$_POST['txt2'];


$reqt = $dbh->prepare('UPDATE strategiearticle SET entete='.$entete.',titre1='.$tit1.',text1='.$txt1.',titre2='.$tit2.',text2='.$txt2.'');

$reqt->execute();



}

	
echo" </tr> </table> </form>"; 
echo"</center>"; 
  ?> 

Merci ,
A voir également:

13 réponses

cacao
 
j'imagine en fait que le formulaire se trouve sur la même page où tu vérifies les infos qu'il renvois : câd : 'Mstrategie.php'.
C'est corrigé ... j'ai pas testé ... j'ai juste déplacé ce qui devait être déplacé. bref ...

  <?php 

if(isset($_POST['mod']))
 {

$entete=$_POST['entete'];
$tit1=$_POST['tit1'];
$txt1=$_POST['txt1'];
$tit2=$_POST['tit2'];
$txt2=$_POST['txt2'];


$reqt = $dbh->prepare('UPDATE strategiearticle SET entete='.$entete.',titre1='.$tit1.',text1='.$txt1.',titre2='.$tit2.',text2='.$txt2.'');

$reqt->execute();



}
else
{
 

 $res2 = $dbh->prepare("select * from strategiearticle ");
  $res2->execute();
  $l2 = $res2->fetch();

 
 echo" <form class='niceform'  method='post' action='Mstrategie.php'>
    <center>

     <td> </td>
     <table width='100%' border='0' cellspacing='0' cellpadding='5'>  ";
  
    echo" <td width='15%'>Entête</td>
        <td width='70%'><textarea name='entete'  cols='35' rows='5' >$l2[0]</textarea></td></td>
        <td width='15%' id='errOffset'> </td></tr>
      <td> </td>
  
         <tr> <td valign='top'>Titre1:</td>
        <td><textarea name='tit1'  cols='35' rows='5' >$l2[1]</textarea></td>
          <td valign='top'> </td>
     
           </tr> <td> </td>";
       echo"<tr> <td>Text1:</td>
   
<td><textarea name='txt1'  cols='35' rows='5' >$l2[2]</textarea></td>
          <td valign='top'> </td>";
    
    echo"<tr> <td>Titre2:</td>
   
<td><textarea name='tit2'  cols='35' rows='5' >$l2[3]</textarea></td>
          <td valign='top'> </td>";
    
     echo"<tr> <td>Text2:</td>
   
<td><textarea name='txt2'  cols='35' rows='5' >$l2[4]</textarea></td>
          <td valign='top'> </td>";
   
      
  echo" <td colspan='2'>
   <input type='submit' name='mod'  value='Modifier' />
   <input type='reset' name='annuler'  value='Annuler' />"; 
   
 
echo" </tr> </table> </form>"; 
echo"</center>"; 
}
  ?> 
1
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   6
 
Bonjour,
Est-ce que tu rentres dans le if(isset($_POST.........) ? si tu affiches les valeurs passées par POST elles correspondent bien à ton attente?

Aussi tu ne mets pas de "WHERE" dans ta requête donc tous les champs seront modifiés....
0
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oui il m'affiche bien les données de la base dans les champs de saisi
mais le souci c'est que quand je clique sur le button modifier il modifie pas la base ,il ya pas de where parce que il ya pas de test a faire
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   6
 
Tu as pu tester ta requête directement dans ton SGBD?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai pas compris ta question !!
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   6
 
Et bien est-ce que tu as pu tester ta requête directement dans PHPMyAdmin (ou autre si tu utilises une autre base de données)
C'est-à-dire tu vas dans PHPMyAdmin ensuite tu cliques pour exécuté du SQL puis tu exécutes ta requête...

(je crois que ton problème viens de ta requete car tu oublies de mettre des guillemets entre une chaine de caractères ;) )
0
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oui je la tester ça marche
0
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
quelles guillemets si vous plait?
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   6
 
Si j'ai bien compris :
'UPDATE strategiearticle SET entete="'.$entete.'",titre1="'.$tit1.'",text1="'.$txt1.'",titre2="'.$tit2.'",text2="'.$txt2.'"'
devrait mieux marcher
0
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai dejà essayer et ça marche pas :(
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription   Statut Membre Dernière intervention   6
 
mince :/ et tu as déjà testé ca :
$reqt = $dbh->prepare("UPDATE strategiearticle SET entete='$entete',titre1='$tit1',text1='$txt1',titre2='$tit2',text2='$txt2' ");
?
0
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
oui je l'essayé et ça fonctionne toujours pas
0
cacao
 
sur la page Mstrategie.php

peux-tu écrire au début du fichier

<?php
  echo "<pre>";

  print_r($_POST);

  echo "</pre>";
?>


ensuite rempli ton formulaire et vérifies que tu as bien quelque chose dans ton $_POST
0
butterfly235 Messages postés 19 Date d'inscription   Statut Membre Dernière intervention  
 
j'ai l'écris mais rien ne ce passe
0