And Garfunkel voili voilou | Rebonjour,
Je reprends mon topic precedent meme si ce n'est pas exactement le meme probleme (que j'ai resolu depuis) !! Maintenant, j'aimerais savoir si quelqu'un a une idee pourquoi tous mes champs $_POST['blabla'] sont vides ? Car quand je ne mets pas en commentaire les lignes 179 a 186, la ligne dans la bdd correspondant a cette modification se vide.
En fait j'aimerais bien recuperer ce que l'utilisateur change comme champ et modifier ensuite dans la base de donnees avec la requete Update.
Bon laissons place a mon joli code
Code :
- <? include("connection.php" );
- //prendre les id des coordinator et des lecturer avec les sesssions ex :
- $sesCoordinatorID ="10002000";
- $sesLecturerID ="100100";
- ?>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
- <html>
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
- <title>Edition of the discussion board title</title>
- <?
- //importation des fichiers pour le calendrier
- ?>
- <style type="text/css">@import url(calendar-system.css);</style>
- <script type="text/javascript" src="calendar.js"></script>
- <script type="text/javascript" src="calendar-en.js"></script>
- <script type="text/javascript" src="calendar-setup.js"></script>
- </head>
- <body>
- <?
- //recupere l id du dtitleid a partir de la page edidbcat.php
- $iDTitleID=$_GET["DTitleID"];
- //requete sur la bdd acces a toutes les valeurs de la table dtitle
- $sql="SELECT * FROM dtitle WHERE DTitleID=$iDTitleID";
- $mysql=mysql_query($sql);
- $recMessage=mysql_fetch_array($mysql);
- //recuperation des donnees de la table et mise dans des variables
- $DTitleID=$recMessage["DTitleID"];
- $category_id=$recMessage["category_id"];
- $DTitle=$recMessage["DTitle"];
- $Note=$recMessage["Note"];
- $MaxMark=$recMessage["MaxMark"];
- $Password=$recMessage["Password"];
- $Status=$recMessage["Status"];
- $Attachement=$recMessage["Attachement"];
- $StartDate=$recMessage["StartDate"];
- $EndDate=$recMessage["EndDate"];
- $DatePosted=$recMessage["DatePosted"];
- //Dates
- echo '<td><input type="hidden" name="DatePosted"/></td>';
- echo '<td><input type="hidden" name="DateEdited"/></td>';
- //format de la EditedDate
- $DateEdited=date('Y-m-d H:i:s');
- ?>
- <!--formulaire-->
- <form name="form1" method="post" action="EditionDBTitle.php">
- <table width="398" border="1" align="center" cellpadding="0" cellspacing="0">
- <tr bgcolor="#FFFFFF">
- <td width="145">Title : </td>
- <td width="237"><input type="text" name="DTitle" value="<? echo $DTitle ?>"/></td>
- </tr>
- <tr>
- <td>Message :</td>
- <td><textarea name="Note" cols=20 rows=5 ><? echo $Note ?></textarea></td>
- </tr>
- <tr>
- <td>MaxMark :</td>
-
- <td><input type="text" name="MaxMark" value="<? echo $MaxMark ?>" ></td>
- </tr>
- <tr>
- <td>Password :</td>
- <td><input type="password" name="Password" value="<? echo $Password ?>"></td>
- </tr>
- <tr>
- <td>Status :</td>
- <td><input maxlength="1" size="1" type="text" name="Status" value="<? echo $Status ?>" /></td>
- </tr>
- <tr>
- <td>Category :</td>
- <form method="post">
- <td><select name="category_id">
- <?
- //requete mysql pour choper les category dans la table
- $nb_category=mysql_query("SELECT COUNT(*) AS nb_category FROM DCATEGORY" );
- $nom_category=mysql_query("SELECT category_desc FROM DCATEGORY" );
- //boucle pour pour mettre les categories dans une liste deroulante
- $i=1;
- while($name_category = mysql_fetch_array($nom_category))
- {
- ?>
- <option value="<? echo $i; ?>" selected><? echo $name_category[0]; ?></option>
- <?
- $i = $i + 1;
- }
- echo'</form>';
- //recupere ce qu'il y a contenu dans le formulaire
- if (isset($_POST['category_id']))
- {
- $category_id=htmlentities($_POST['category_id']);
- }
-
- //suite du formulaire?>
- </select></td>
- </tr>
- <tr>
- <td>Attachement :</td>
- <td><input type="file" name="Attachement" value="<? echo $Attachement ?>"></td>
- </tr>
- <tr>
- <td>Start Date : </td>
- <td>
- <? //calendrier en javascript pareil pour startdate que enddate?>
- <input type="text" value="<? echo $StartDate ?>" name="StartDate" id="StartDate" readonly="1" />
- <img src="img.gif" id="f_trigger_c"
- style="cursor: pointer; border: 1px solid red;"
- title="Date selector"
- onmouseover="this.style.background='red';"
- onmouseout="this.style.background=''" />
- <script type="text/javascript">
- Calendar.setup({
- inputField : "StartDate",
- ifFormat : "%Y-%m-%d",
- button : "f_trigger_c",
- align : "Tl",
- singleClick : false
- });
- </script>
- </td>
- </tr>
- <tr>
- <td>End Date : </td>
- <td>
- <input type="text" value="<? echo $EndDate ?>" name="EndDate" id="EndDate" readonly="1" />
- <img src="img.gif" id="f_trigger_c"
- style="cursor: pointer; border: 1px solid red;"
- title="Date selector"
- onmouseover="this.style.background='red';"
- onmouseout="this.style.background=''" />
- <script type="text/javascript">
- Calendar.setup({
- inputField : "EndDate",
- ifFormat : "%Y-%m-%d",
- button : "f_trigger_c",
- align : "Tl",
- singleClick : false
- });
- </script></td>
- </tr>
- <tr>
- <td> </td>
- <td> </td>
- </tr>
- <tr>
- <? //suite du formulaire dernier bouton?>
- <td colspan="2"><div align="center">
- <a href="EditionDBTitle.php?DTitleID=<? echo $iDTitleID ?>"> <input align="middle"type="submit" name="Submit" value="Submit"> </a>
- <a href="EditDBCat.php?cat_id=<? echo $category_id ?>"> <input align="middle"type="submit" name="Submit" value="EditDBCat"> </a>
- <input type="reset" name="Reset" value="Reset">
- </div></td>
- </tr>
- </table>
- </form>
- <?
- //interaction with the mysql database
- echo "$DTitleID"; echo'<br>'; echo "$category_id"; echo'<br>'; echo "$DTitle"; echo'<br>'; echo "$Note"; echo'<br>'; echo "$MaxMark"; echo'<br>'; echo "$Password"; echo'<br>'; echo "$Status"; echo'<br>'; echo "$Attachement"; echo'<br>'; echo "$StartDate"; echo'<br>'; echo "$EndDate"; echo'<br>'; echo "$DatePosted"; echo'<br>'; echo "$DateEdited";
- echo'<br>';
- echo "les posts maintenant :";
- //if ((isset($sesLecturerID))&&(isset($sesCoordinatorID))&& (isset($category_id)) )
- //{
- //$sesLecturerId = htmlentities ($_SESSION['sesLecturerId']);
- //$sesCoordinatorID = htmlentities ($_SESSION['sesCoordinatorID']);
- //si les champs sont modifies alors ils seront enregistres
- if($_POST['DTitle']!=$recMessage["DTitle"]){$DTitle = htmlentities ($_POST['DTitle']);}
- if($_POST['Note'] != $recMessage["Note"]){$Note = htmlentities ($_POST['Note']);}
- if($_POST['MaxMark']!=$recMessage["MaxMark"]){$MaxMark = htmlentities ($_POST['MaxMark']);}
- if($_POST['Status']!=$recMessage["Status"]){$Status = htmlentities ($_POST['Status']);}
- if($_POST['StartDate']!=$recMessage["StartDate"]){$StartDate = htmlentities ($_POST['StartDate']);}
- if($_POST['EndDate']!=$recMessage["EndDate"]){$EndDate = htmlentities ($_POST['EndDate']);}
- if($_POST['Attachement']!=$recMessage["Attachement"]){$StartDate = htmlentities ($_POST['Attachement']);}
- if($_POST['Password']!=$recMessage["Password"]){$Password = htmlentities ($_POST['Password']);}
- /*if (isset($_POST['DTitle'])){if($_POST['DTitle']!=$recMessage["DTitle"]){$DTitle = htmlentities ($_POST['DTitle']);}}
- if (isset($_POST['Note'])){if($_POST['Note'] != $recMessage["Note"]){$Note = htmlentities ($_POST['Note']);}}
- if (isset($_POST['MaxMark'])){if($_POST['MaxMark']!=$recMessage["MaxMark"]){$MaxMark = htmlentities ($_POST['MaxMark']);}}
- if (isset($_POST['Status'])){if($_POST['Status']!=$recMessage["Status"]){$Status = htmlentities ($_POST['Status']);}}
- if (isset($_POST['StartDate'])){if($_POST['StartDate']!=$recMessage["StartDate"]){$StartDate = htmlentities ($_POST['StartDate']);}}
- if (isset($_POST['EndDate'])){if($_POST['EndDate']!=$recMessage["EndDate"]){$EndDate = htmlentities ($_POST['EndDate']);}}
- if (isset($_POST['Attachement'])){if($_POST['Attachement']!=$recMessage["Attachement"]){$StartDate = htmlentities ($_POST['Attachement']);}}
- if (isset($_POST['Password'])){if($_POST['Password']!=$recMessage["Password"]){$Password = htmlentities ($_POST['Password']);}}
- */
- //traitement du password (changement de la requete mysql)
- //$_POST['Password'] != 'NULL' ||
- //if ($Password != 'NULL')
- //{
- $sql="UPDATE dtitle SET category_id='$category_id', LecturerID='$sesLecturerID', CoordinatorID='$sesCoordinatorID', DTitle='$DTitle', Note='$Note', MaxMark='$MaxMark', DatePosted='$DatePosted', StartDate='$StartDate', EndDate='$EndDate', Status='$Status', Attachement='$Attachement', Password='$Password', DateEdited='$DateEdited' WHERE DTitleID=$iDTitleID";
- //}
- //else
- //{
- //$sql="UPDATE dtitle SET category_id='$category_id', LecturerID='$sesLecturerID', CoordinatorID='$sesCoordinatorID', DTitle='$DTitle', Note='$Note', MaxMark='$MaxMark', DatePosted='$DatePosted', StartDate='$StartDate', EndDate='$EndDate', Status='$Status', Attachement='$Attachement', Password='', DateEdited='$DateEdited' WHERE DTitleID=$iDTitleID";
- //}
- $mysql=mysql_query($sql) or die(mysql_error());
- echo "sql is $sql";
- mysql_close();
- //}
- ?>
- </body>
- </html>
|
Si je mets en commentaire les lignes 179 a 186 et que j'enleve les commentaires des lignes 187 a 194 alors j'obtiens exactement ce qui etait stocke dans la base de donnees et non les modifications La requete sql fonctionne bien je comprend pas vraiment pourquoi ca plantouille ...
Est ce qu'on peut melanger la methode post (pour le formulaire ligne 50) et la methode get (pour recup l'id du titre ligne 158) a partir de la page precedente qui est ici en fait la meme page
Message édité par And Garfunkel le 18-05-2006 à 20:21:55
|