Problème avec un Update ...

Eléphanteau du PHP | 29 Messages

29 oct. 2007, 12:28

Bonjour,

J'ai un petit soucis avec ma requete update ..
voici le code de la page entiere
<?
include("admin_header2.php5");
?>
<script language="JavaScript" type="text/JavaScript">
<!--
function MM_reloadPage(init) {  //reloads the window if Nav4 resized
  if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
    document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
  else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_showHideLayers() { //v6.0
  var i,p,v,obj,args=MM_showHideLayers.arguments;
  for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
    if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
    obj.visibility=v; }
}

function MM_jumpMenu(targ,selObj,restore){ //v3.0
  eval(targ+".location='"+selObj.options[selObj.selectedIndex].value+"'");
  if (restore) selObj.selectedIndex=0;
}

function MM_openBrWindow(theURL,winName,features) { //v2.0
  window.open(theURL,winName,features);
}
//-->
</script>
<style type="text/css">
<!--
.Style4 {
	font-size: 12px;
	font-family: "Segoe UI";
}
.Style8 {font-size: 14px; font-family: "Segoe UI"; }
#Layer1 {
	position:absolute;
	left:467px;
	top:290px;
	width:767px;
	height:682px;
	z-index:1;
}
.Style11 {color: #000000}
.Style12 {font-size: 12px}
.Style13 {color: #000000; font-size: 12px; }
-->
</style>


<div id="Layer1">
  <form action="modif_menu2.php5" method="post"  name="ajout_produit" >
    <span class="Style4">Ajouter un Menu    </span>
    <p>
<?
$error = 0;
if(isset($_POST['valid']) == false || $_POST['valid'] != 1)
{

	//Récupération des informations sur le site
	$requete_txt = "SELECT * FROM menu WHERE `menu_semaine` = '".$_GET['pays']."' and menu_jour = '".$_GET['dep']."' and admin_id = '".$_GET['dep3']."'";
	$info = $bdd->result_to_array($bdd->query($requete_txt));
		$_POST['menu_entree1'] = $info[0][3];
		$_POST['menu_entree2'] = $info[0][4];
		$_POST['menu_entree3'] = $info[0][5];
		$_POST['menu_entree4'] = $info[0][6];
		$_POST['menu_resistance1'] = $info[0][7];
		$_POST['menu_resistance2'] = $info[0][8];
		$_POST['menu_resistance3'] = $info[0][9];
		$_POST['menu_resistance4'] = $info[0][10];
		$_POST['menu_resistance5'] = $info[0][11];
		$_POST['menu_legume1'] = $info[0][12];
		$_POST['menu_legume2'] = $info[0][13];
		$_POST['menu_legume3'] = $info[0][14];
		$_POST['menu_fromage1'] = $info[0][15];
		$_POST['menu_fromage2'] = $info[0][16];
		$_POST['menu_fromage3'] = $info[0][17];
		$_POST['menu_dessert1'] = $info[0][18];
		$_POST['menu_dessert2'] = $info[0][19];
		$_POST['menu_dessert3'] = $info[0][20];
}

//Verification des résultats
if(isset($_POST)==true && $_POST['valid'] == 1)
{
	if(strlen($_POST['menu_semaine']) <= 0)
	{
	    $error = 1;
		print("Il y a une erreur !");
	}
		if($error == 0)
		{
			$requete_txt = "
			UPDATE `menu` SET
			`menu_entree1` = '".$_POST['menu_entree1']."',
			`menu_entree2` = '".$_POST['menu_entree2']."',
			`menu_entree3` = '".$_POST['menu_entree3']."',
			`menu_entree4` = '".$_POST['menu_entree4']."',
			`menu_resistance1` = '".$_POST['menu_resistance1']."',
			`menu_resistance2` = '".$_POST['menu_resistance2']."',
			`menu_resistance3` = '".$_POST['menu_resistance3']."',
			`menu_resistance4` = '".$_POST['menu_resistance4']."',
			`menu_resistance5` = '".$_POST['menu_resistance5']."',
			`menu_legume1` = '".$_POST['menu_legume1']."',
			`menu_legume2` = '".$_POST['menu_legume2']."',
			`menu_legume3` = '".$_POST['menu_legume3']."',
			`menu_fromage1` = '".$_POST['menu_fromage1']."',
			`menu_fromage2` = '".$_POST['menu_fromage2']."',
			`menu_fromage3` = '".$_POST['menu_fromage3']."',
			`menu_dessert1` = '".$_POST['menu_dessert1']."',
			`menu_dessert2` = '".$_POST['menu_dessert2']."',
			`menu_dessert3` = '".$_POST['menu_dessert3']."'
			 WHERE `menu_semaine` = '".$_GET['pays']."' and menu_jour = '".$_GET['dep']."' and admin_id = '".$_GET['dep3']."' ;  ";
			
			$bdd->query($requete_txt);
			hydrus_utils_alert("Le menu a bien été mofidié.");
			echo $requete_txt;
			//hydrus_utils_redirect("modif_menu.php5");
			}
}


?>
      <? print("<a href='modif_menu1.php5'>Pr&eacute;c&eacute;dent</a>");?>
      <input type="hidden" name="valid" value="1"  />
    </p>
    <table width="525" border="0" class="Style4">
      <tr >
        <td  class="Style11 Style12">Utilisateur :</td>
        <td><input name="menu_utilisateur" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_GET['dep3'])."\" "); ?>/>        </td>

      </tr>
      
      <tr >
        <td  class="Style11 Style12">Semaine : </td>
        <td><input name="menu_semaine" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_GET['pays'])."\" "); ?>/>        </td>
        <td >&nbsp;</td>
      </tr>
      <tr >
        <td  class="Style13">Jour :</td>
        <td><input name="menu_jour" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_GET['dep'])."\" "); ?>/></td>
        <td >&nbsp;</td>
      </tr>
      
      <tr >
        <td width="145"  class="Style11 Style12">Entr&eacute;e N&deg;1  : </td>
        <td width="305"><input name="menu_entree1" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_entree1'])."\" "); ?>/>        </td>
        <td width="61" >&nbsp;</td>
      </tr>
      <tr >
        <td  class="Style13">Entr&eacute;e N&deg;2 :</td>
        <td><input name="menu_entree2" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_entree2'])."\" "); ?>/></td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Entr&eacute;e N&deg;3 : </td>
        <td><input name="menu_entree3" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_entree3'])."\" "); ?>/></td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Entr&eacute;e N&deg;4 : </td>
        <td><input name="menu_entree4" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_entree4'])."\" "); ?>/></td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Plat de R&eacute;sistance N&deg;1  : </td>
        <td><input name="menu_resistance1" type="text"  size="40" maxlength="70" <? print("value=\"".$_POST['menu_resistance1']."\" "); ?>/></td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Plat de R&eacute;sistance N&deg;2 : </td>
        <td><input name="menu_resistance2" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_resistance2'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Plat de R&eacute;sistance N&deg;3 : </td>
        <td><input name="menu_resistance3" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_resistance3'])."\" "); ?> /></td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Plat de R&eacute;sistance N&deg;4 : </td>
        <td><input name="menu_resistance4" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_resistance4'])."\" "); ?> /></td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Plat de R&eacute;sistance N&deg;5 : </td>
        <td><input name="menu_resistance5" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_resistance5'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td   class="Style13">L&eacute;gumes N&deg;1  : </td>
        <td ><input name="menu_legume1" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_legume1'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">L&eacute;gumes N&deg;2 : </td>
        <td><input name="menu_legume2" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_legume2'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td class="Style13">L&eacute;gumes N&deg;3 : </td>
        <td><input name="menu_legume3" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_legume3'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Fromage N&deg;1 : </td>
        <td><input name="menu_fromage1" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_fromage1'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Fromage N&deg;2 : </td>
        <td><input name="menu_fromage2" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_fromage2'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Fromage N&deg;3 : </td>
        <td><input name="menu_fromage3" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_fromage3'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Dessert N&deg;1 : </td>
        <td><input name="menu_dessert1" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_dessert1'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Dessert N&deg;2 : </td>
        <td><input name="menu_dessert2" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_dessert2'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  class="Style8">
        <td  class="Style13">Dessert N&deg;3 : </td>
        <td><input name="menu_dessert3" type="text" size="40" maxlength="70" <? print("value=\"".stripslashes($_POST['menu_dessert3'])."\" "); ?> />        </td>
        <td >&nbsp;</td>
      </tr>
      <tr  >
        <td colspan='3'><center>
            <h5>
              <input name="submit" type="submit" value="Modifier le menu"/>
            </h5>
        </center></td>
      </tr>
    </table>
  </form>
</div>

<br/>
Voici la requete Update en question :
 UPDATE `menu` SET
			`menu_entree1` = '".$_POST['menu_entree1']."',
			`menu_entree2` = '".$_POST['menu_entree2']."',
			`menu_entree3` = '".$_POST['menu_entree3']."',
			`menu_entree4` = '".$_POST['menu_entree4']."',
			`menu_resistance1` = '".$_POST['menu_resistance1']."',
			`menu_resistance2` = '".$_POST['menu_resistance2']."',
			`menu_resistance3` = '".$_POST['menu_resistance3']."',
			`menu_resistance4` = '".$_POST['menu_resistance4']."',
			`menu_resistance5` = '".$_POST['menu_resistance5']."',
			`menu_legume1` = '".$_POST['menu_legume1']."',
			`menu_legume2` = '".$_POST['menu_legume2']."',
			`menu_legume3` = '".$_POST['menu_legume3']."',
			`menu_fromage1` = '".$_POST['menu_fromage1']."',
			`menu_fromage2` = '".$_POST['menu_fromage2']."',
			`menu_fromage3` = '".$_POST['menu_fromage3']."',
			`menu_dessert1` = '".$_POST['menu_dessert1']."',
			`menu_dessert2` = '".$_POST['menu_dessert2']."',
			`menu_dessert3` = '".$_POST['menu_dessert3']."'
			 WHERE `menu_semaine` = '".$_GET['pays']."' and menu_jour = '".$_GET['dep']."' and admin_id = '".$_GET['dep3']."' ;  "; 
Vous pouvez voir que je fais un requete pour avoir mes infos et j'arrive a les avoir TOUTES sans exceptions . Le truc qui cloche c'est que dans la requete update je n'arrive pas avoir les valeurs .. Ce qui est vraiment etrange parce que si vous regardez bien j'ai fait un un print des valeurs que je demandes..
En effet lorsque je fais un echo de la requete l condition dans la requete est vide ..
 WHERE `menu_semaine` = '".$_GET['pays']."' and menu_jour = '".$_GET['dep']."' and admin_id = '".$_GET['dep3']."' ;  ";
J'obtiens
UPDATE `menu` SET `menu_entree1` = 'a', `menu_entree2` = 'Salade orientale', `menu_entree3` = '', `menu_entree4` = '', `menu_resistance1` = '', `menu_resistance2` = '', `menu_resistance3` = '', `menu_resistance4` = 'Jambon blanc', `menu_resistance5` = '', `menu_legume1` = '', `menu_legume2` = 'Chou fleur en persillade', `menu_legume3` = '', `menu_fromage1` = '', `menu_fromage2` = 'Samos', `menu_fromage3` = '', `menu_dessert1` = '', `menu_dessert2` = 'Crème à la vanille', `menu_dessert3` = '' WHERE `menu_semaine` = '' and menu_jour = '' and admin_id = '' ;
Mais moi ce que je veux c'est
UPDATE `menu` SET `menu_entree1` = 'a', `menu_entree2` = 'Salade orientale', `menu_entree3` = '', `menu_entree4` = '', `menu_resistance1` = '', `menu_resistance2` = '', `menu_resistance3` = '', `menu_resistance4` = 'Jambon blanc', `menu_resistance5` = '', `menu_legume1` = '', `menu_legume2` = 'Chou fleur en persillade', `menu_legume3` = '', `menu_fromage1` = '', `menu_fromage2` = 'Samos', `menu_fromage3` = '', `menu_dessert1` = '', `menu_dessert2` = 'Crème à la vanille', `menu_dessert3` = '' WHERE `menu_semaine` = '42' and menu_jour = 'lundi' and admin_id = 'kerlochj' ;
Merci de votre aide..

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

29 oct. 2007, 12:34

Lorsque tu soumets ton formulaire, il est envoyé à l'url spécifiée dans l'attibut action du formualire, soit "modif_menu2.php5". Les données sont envoyée via la méthode post, donc seront disponible dans $_POST.

Il n'y a donc rien d'étonnant à ce que les valeurs que tu tentes de récupérer dans $_GET soient vides.

Si tu veux les récupérer il te faut soit utiliser des champs dans ton formulaire (j'ai pas vérifier s'ils y étaient déjà) éventuellement de type hidden - et récupérer les valeurs en $_POST. Soit, si tu veux les récupérer en $_GET, il faut les spécifier dans l'url de la page, et donc les préciser dans l'action du formulaire : action="modif_menu2.php5?pays=xxx&dep=yyy&dep3=zzz" :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

d0m
Mammouth du PHP | 1141 Messages

29 oct. 2007, 12:36

as tu vérifie les variables que tu utilises?
echo $_GET['pays'];
echo $_GET['dep'];
echo $_GET['dep3'];

Eléphanteau du PHP | 29 Messages

29 oct. 2007, 12:38

oui oui tout marche ...

d0m
Mammouth du PHP | 1141 Messages

29 oct. 2007, 12:42

oui oui tout marche ...
eh bien la preuve que non puisque tes variables n'aparaissent dans ta requête.

Eléphanteau du PHP | 29 Messages

29 oct. 2007, 12:42

C'est bon j'ai trouvé le truc ! enfaite il fallait mettre a la ligne 63

<form action="" method="post" name="ajout_produit" >

ViPHP
ViPHP | 4039 Messages

29 oct. 2007, 13:13

je crois plutôt que tu as masqué l'erreur par une autre..
Mais qu'importe. (je suis ici - dernier petit projet)
Berze going social.