Modification ne fonctionne pas

Fermé
butterfly - 24 juil. 2013 à 15:29
 cacao - 25 juil. 2013 à 22:43
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

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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
24 juil. 2013 à 15:40
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 mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 15:51
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 vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
24 juil. 2013 à 16:05
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 mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 16:09
j'ai pas compris ta question !!
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
24 juil. 2013 à 16:18
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 mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 16:23
oui je la tester ça marche
0
butterfly235 Messages postés 19 Date d'inscription mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 16:24
quelles guillemets si vous plait?
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
24 juil. 2013 à 16:29
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 mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 16:32
j'ai dejà essayer et ça marche pas :(
0
apprendreEtSeDevelopper Messages postés 65 Date d'inscription vendredi 22 juillet 2011 Statut Membre Dernière intervention 18 octobre 2013 6
24 juil. 2013 à 16:34
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 mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 20:21
oui je l'essayé et ça fonctionne toujours pas
0
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 mercredi 24 juillet 2013 Statut Membre Dernière intervention 20 août 2013
24 juil. 2013 à 21:59
j'ai l'écris mais rien ne ce passe
0