PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 21-12-2010 11:40:37

himron
Membre
Inscription : 02-12-2010
Messages : 44

formulaire et date

Bonjour,

ca fait quelques jours que je me casse la tete sur un probleme et je n'arrive pas a trouver la solution sur le net. j'espere que vous pourrez m'aider. (je ne suis ni informaticien ni programmeur, juste autodidacte... parfois ca aide pas)

je suis en train de construire un site php-mysql. dans ce site, je fais des pages-formulaire pour ecrire le contenu du site (disons des articles). des pages pour les modifier et des pages pour les supprimer. plus évidememnt une page globale dont le contenu changera en fonction de l'article demandé. pas trop compliqué jusque la.

mais je souhaite garder une trace de "qui" a ecrit l'article et "quand" (date du jour). ainsi que de "qui" et "quand" l'a mis a jour.

la partie "qui" a été résolue, c'est le "quand" qui pose probleme. j'ai décidé d'utiliser une fonction NOW() (mais est ce la plus appropriée ?), et j'ai réussit a l'insérer dans le formulaire de creation de page. (ci dessous)

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "ajoutpage")) {
  $insertSQL = sprintf("INSERT INTO pages (numcategorie, titre, texte1, texte2, texte3, texte4, nomauteur, dateauteur) VALUES (%s, %s, %s, %s, %s, %s, %s, NOW())",
                       GetSQLValueString($_POST['categorie'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['texte1'], "text"),
                       GetSQLValueString($_POST['texte2'], "text"),
                       GetSQLValueString($_POST['texte3'], "text"),
                       GetSQLValueString($_POST['texte4'], "text"),
                       GetSQLValueString($_POST['nomauteur'], "int"),
                       GetSQLValueString($_POST['dateauteur'], "date"));

par contre, pour la page d'update, la séquence de programmation n'est plus la meme et je n'arrive pas a insérer le NOW().

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "detailpage")) {
  $updateSQL = sprintf("UPDATE pages SET numcategorie=%s, titre=%s, texte1=%s, texte2=%s, texte3=%s, texte4=%s, nomauteur=%s, dateauteur=%s, nomupdate=%s, dateupdate=%s WHERE idpage=%s",
                       GetSQLValueString($_POST['categorie'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['texte1'], "text"),
                       GetSQLValueString($_POST['texte2'], "text"),
                       GetSQLValueString($_POST['texte3'], "text"),
                       GetSQLValueString($_POST['texte4'], "text"),
                       GetSQLValueString($_POST['nomauteur'], "int"),
                       GetSQLValueString($_POST['dateauteur'], "date"),
                       GetSQLValueString($_POST['nomupdate'], "int"),
                       GetSQLValueString($_POST['dateupdate'], "date"),
                       GetSQLValueString($_POST['idpage'], "int"));

j'ai essayé de remplacer le %s concerné, ou le $_POST, mais ca ne donne rien (ca fait meme foirer la page).

auriez vous un conseil ou mieux une solution  a me proposer ?
en vous remerciant d'avance

Hors ligne

#2 21-12-2010 13:01:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

Saluton,
NOW() ne retourne pas qu'une date, mais la date et l'heure courante.
D'autre part GetSQLValueString n'étant pas une fonction PHP, j'ignore comment elle est censée traiter $_POST['dateupdate'] et $_POST['dateauteur']


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#3 21-12-2010 16:39:31

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

c'est justement la date et heure que je souhaite garder en mémoire (dans mysql, c'est un champ datetime). c'est donc pour cela que NOW() me semblait approprié.

Hors ligne

#4 21-12-2010 18:52:24

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

himron a écrit :

c'est justement la date et heure que je souhaite garder en mémoire (dans mysql, c'est un champ datetime). c'est donc pour cela que NOW() me semblait approprié.

Alors tout est pour le mieux, pour cet aspect du moins.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#5 22-12-2010 11:34:31

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

pour le 1er code (que j'ai mis en exemple), oui en effet.
mais ca ne m'explique toujours pas comment je peux faire de meme avec le 2eme code....
je dois associer NOW() a la valeur de "dateupdate", et je n'y arrive pas.

peut etre que mon 1er message devait etre trop détaillé et que personne n'arrive a comprendre le probleme que j'y explique...

Hors ligne

#6 22-12-2010 15:21:30

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : formulaire et date

heu ben dateupdate=now() ?

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#7 22-12-2010 15:37:27

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

Je n'ai toujours pas eu d'éclaircissement concernant la fonction GetSQLValueString.
D'autre part qu'est censé contenir $_POST['dateupdate'] ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#8 22-12-2010 16:39:34

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

la fonction "getsqlstringvalue" est une fonction générée automatiquement par DW quand on fait un formulaire pour insérer des valeurs dans une base de donnée. je n'en sais pas plus que ce qui est sur le net

"dateupdate" et "dateauteur" sont deux champs "datetime" dans la base de donnée mysql.
"dateauteur" doit contenir la date-heure a laquelle l'article a été écrit (valeur not null)
"dateupdate" est la date-heure a laquelle qqn aurait fait une mise a jour de cet article (valeur etant null au depart)

donc $_POST['dateupdate'] serait rempli par NOW() au moment ou qqn reprend l'article pour y faire une modification.
un peu comme si vous editez un message du forum... et que c'est ensuite indiqué en bas de votre message "edité par XX a telle date et heure".

Hors ligne

#9 22-12-2010 17:56:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

himron a écrit :

la fonction "getsqlstringvalue" est une fonction générée automatiquement par DW

Nous y voilà !!!

himron a écrit :

$_POST['dateupdate'] serait rempli par NOW() au moment ou qqn reprend l'article pour y faire une modification.

rempli (je préfère renseigné, mais bon, je chipotte)mais par qui, grand dieu ?


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#10 23-12-2010 10:08:47

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

automatiquement par le formulaire
sinon je fais simplement un champ de texte et l'auteur de l'article peut mettre la date qu'il veut (meme en 2023 ou en 1758 s'il veut), ce qui n'est pas tres utile.
désolé d'avoir apparemment mal compris ta question, je pensais ceci évident. comme quoi, il ne faut présumer de rien wink

ok pour "renseigné", désolé pour mon vocabulaire déplorable.
PS : j'adore quand on "chipote", c'est la que j'apprend des trucs wink

Hors ligne

#11 23-12-2010 11:29:29

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

Alors ce qui m'échappe c'est pourquoi $_POST['dateupdate'] pose problème et pas $_POST['dateauteur'] (ou l'inverse, je ne sais plus roll)


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#12 23-12-2010 11:41:18

moogli
Modérateur
Inscription : 08-05-2009
Messages : 336
Site Web

Re : formulaire et date

dans ton cas tu remplace les $_POST['date*'] par now() dans la requete SQL à l'insertion et à l'update comme ça pas de prise de tête avec le formulaire et sa répond à ton besoin.

@+


Il en faut peu pour être heureux pompompompompompompompompompompom

Hors ligne

#13 23-12-2010 23:06:10

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

@Maljuna : oui ca m'echappe aussi. mais peut etre est ce du a la structure différente du code ? (supposition)

@ Moogli : remplacer le $POST complet ? ca peut se faire ? le "code" saura a quoi le NOW est lié sans cette indication ? ok j'essaye ca demain matin avec quelques autres tests et je vous tiens au jus.
merci.

Hors ligne

#14 24-12-2010 02:49:37

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

Encore un truc, avant de soumettre la requête à MySQL, peux-tu faire

echo "/* $updateSQL */;

et nous dire ce que tu vois quand tu demandes à ton navigateur d'afficher le code source de la page.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#15 24-12-2010 11:19:25

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

@ moogli : j'ai essayé

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "detailpage")) {
  $updateSQL = sprintf("UPDATE pages SET numcategorie=%s, titre=%s, texte1=%s, texte2=%s, texte3=%s, texte4=%s, nomauteur=%s, dateauteur=%s, nomupdate=%s, dateupdate=NOW() WHERE idpage=%s",
                       GetSQLValueString($_POST['categorie'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['texte1'], "text"),
                       GetSQLValueString($_POST['texte2'], "text"),
                       GetSQLValueString($_POST['texte3'], "text"),
                       GetSQLValueString($_POST['texte4'], "text"),
                       GetSQLValueString($_POST['nomauteur'], "int"),
                       GetSQLValueString($_POST['dateauteur'], "date"),
                       GetSQLValueString($_POST['nomupdate'], "int"),
                       GetSQLValueString(NOW(), "date"),
                       GetSQLValueString($_POST['idpage'], "int"));

comme tu m'as conseillé et j'obtiens

Fatal error: Call to undefined function NOW() in D:\sites\WAMP\www\fablc3\admin-page-update.php on line 95

donc ce n'est pas non plus le bon endroit pour placer le NOW().


j'ai essayé la commande directement dans mysql et la ca marche :

UPDATE pages SET `dateupdate`=NOW() WHERE idpage=7

la base de donnée integre bien la nouvelle date. donc la fonction NOW() fonctionne bien pour le champ "dateupdate".

@Maljuna :
je viens maintenant d'essayer ce code sur ma page, juste avant le formulaire d'update :

<?php echo "$updateSQL" ; ?>

et j'obtiens :

Notice: Undefined variable: updateSQL in D:\sites\WAMP\www\fablc3\admin-page-update.php on line 139

en affichant la page dans le navigateur.
le code source donne :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="styles.css">
</head>
 
<body>
<p>
        <span class="titrepage">Update / correction d'une page</span>
        <br />
      </p>
      <p><br />
<b>Notice</b>:  Undefined variable: updateSQL in <b>D:\sites\WAMP\www\fablc3\admin-page-update.php</b> on line <b>139</b><br />
<br />
      </p>
      <form id="choixpage" name="choixpage" method="post" action="/fablc3/admin-page-update.php">
        <p>
          <label for="listepages" class="texte">Liste des pages : </label>
          <select name="listepages" id="listepages">
                        <option value="6"selected="selected">test date</option>
                        <option value="5"selected="selected">test page 2</option>
                        <option value="7"selected="selected">test page memb2d</option>
                        <option value="1"selected="selected">titre 1.1</option>
                        <option value="2"selected="selected">titre 1.2</option>
                        <option value="3"selected="selected">titre 2.1</option>
                      </select>
          <input type="submit" name="select" id="select" value="selectionner cette page" />
        </p>
</form>
      <form id="detailpage" name="detailpage" method="POST" action="/fablc3/admin-page-update.php?">
        <p>
          <label for="titre" class="texte">Titre de la page :</label>
          <input name="titre" type="text" id="titre" value="" />
          <br />
          <label for="categorie" class="texte">Catégorie de la page :</label>
          <select name="categorie" id="categorie">
                        <option value="1">Notre compagnie</option>
                        <option value="2">Nos activites</option>
                        <option value="3">A propos d'
archerie</option>
                        <option value="4">Un peu d'Histoire</option>
                      </select>
          <br />
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 1/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte1" id="texte1" cols="60" rows="10"></textarea>
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 2/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte2" id="texte1" cols="60" rows="10"></textarea>
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 3/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte3" id="texte1" cols="60" rows="10"></textarea>
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 4/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte4" id="texte1" cols="60" rows="10"></textarea>
          <input name="idpage" type="hidden" id="idpage" value="" />
          <input name="nomauteur" type="hidden" id="nomauteur" value="" />
          <input name="dateauteur" type="hidden" id="dateauteur" value="" />
          <input name="nomupdate" type="hidden" id="nomupdate" value="" />
          <input name="dateupdate" type="hidden" id="dateupdate" value="" />
        </p>
        <p>
          <input type="submit" name="envoyer" id="envoyer" value="valider les modifications" />
        </p>
        <input type="hidden" name="MM_update" value="detailpage" />
      </form>
    <p> </p>
</body>
</html>
 

a titre de comparaison, je vous met aussi le detail du code php de la page (avec les informations de connextions a la bdd), ceci venant de dreamweaver :

 <?php require_once('Connections/cnxfablc.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

$editFormAction = $_SERVER['PHP_SELF'];
if (isset($_SERVER['QUERY_STRING'])) {
  $editFormAction .= "?" . htmlentities($_SERVER['QUERY_STRING']);
}

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "detailpage")) {
  $updateSQL = sprintf("UPDATE pages SET numcategorie=%s, titre=%s, texte1=%s, texte2=%s, texte3=%s, texte4=%s, nomauteur=%s, dateauteur=%s, nomupdate=%s, dateupdate=NOW() WHERE idpage=%s",
                       GetSQLValueString($_POST['categorie'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['texte1'], "text"),
                       GetSQLValueString($_POST['texte2'], "text"),
                       GetSQLValueString($_POST['texte3'], "text"),
                       GetSQLValueString($_POST['texte4'], "text"),
                       GetSQLValueString($_POST['nomauteur'], "int"),
                       GetSQLValueString($_POST['dateauteur'], "date"),
                       GetSQLValueString($_POST['nomupdate'], "int"),
                       GetSQLValueString(NOW(), "date"),
                       GetSQLValueString($_POST['idpage'], "int"));

  mysql_select_db($database_cnxfablc, $cnxfablc);
  $Result1 = mysql_query($updateSQL, $cnxfablc) or die(mysql_error());

  $updateGoTo = "/fablc3/admin-panneau.php";
  if (isset($_SERVER['QUERY_STRING'])) {
    $updateGoTo .= (strpos($updateGoTo, '?')) ? "&" : "?";
    $updateGoTo .= $_SERVER['QUERY_STRING'];
  }
  header(sprintf("Location: %s", $updateGoTo));
}

if (!function_exists("GetSQLValueString")) {
function GetSQLValueString($theValue, $theType, $theDefinedValue = "", $theNotDefinedValue = "")
{
  if (PHP_VERSION < 6) {
    $theValue = get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;
  }

  $theValue = function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch ($theType) {
    case "text":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;    
    case "long":
    case "int":
      $theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case "double":
      $theValue = ($theValue != "") ? doubleval($theValue) : "NULL";
      break;
    case "date":
      $theValue = ($theValue != "") ? "'" . $theValue . "'" : "NULL";
      break;
    case "defined":
      $theValue = ($theValue != "") ? $theDefinedValue : $theNotDefinedValue;
      break;
  }
  return $theValue;
}
}

mysql_select_db($database_cnxfablc, $cnxfablc);
$query_rslistepages = "SELECT idpage, titre FROM pages ORDER BY titre ASC";
$rslistepages = mysql_query($query_rslistepages, $cnxfablc) or die(mysql_error());
$row_rslistepages = mysql_fetch_assoc($rslistepages);
$totalRows_rslistepages = mysql_num_rows($rslistepages);

$colname_rspagedetail = "-1";
if (isset($_POST['listepages'])) {
  $colname_rspagedetail = $_POST['listepages'];
}
mysql_select_db($database_cnxfablc, $cnxfablc);
$query_rspagedetail = sprintf("SELECT * FROM pages WHERE idpage = %s", GetSQLValueString($colname_rspagedetail, "int"));
$rspagedetail = mysql_query($query_rspagedetail, $cnxfablc) or die(mysql_error());
$row_rspagedetail = mysql_fetch_assoc($rspagedetail);
$totalRows_rspagedetail = mysql_num_rows($rspagedetail);

mysql_select_db($database_cnxfablc, $cnxfablc);
$query_rscategorie = "SELECT numcategorie, titrecategorie FROM categories";
$rscategorie = mysql_query($query_rscategorie, $cnxfablc) or die(mysql_error());
$row_rscategorie = mysql_fetch_assoc($rscategorie);
$totalRows_rscategorie = mysql_num_rows($rscategorie);

$colname_rsid = "-1";
if (isset($_SESSION['MM_Username'])) {
  $colname_rsid = $_SESSION['MM_Username'];
}
mysql_select_db($database_cnxfablc, $cnxfablc);
$query_rsid = sprintf("SELECT id, surnom FROM membres WHERE surnom = %s", GetSQLValueString($colname_rsid, "text"));
$rsid = mysql_query($query_rsid, $cnxfablc) or die(mysql_error());
$row_rsid = mysql_fetch_assoc($rsid);
$totalRows_rsid = mysql_num_rows($rsid);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "[url]http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd[/url]">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" type="text/css" href="styles.css">
</head>

<body>
<p>
        <span class="titrepage">Update / correction d'une page</span>
        <br />
      </p>
      <p><?php echo "$updateSQL" ; ?><br />
      </p>
      <form id="choixpage" name="choixpage" method="post" action="/fablc3/admin-page-update.php">
        <p>
          <label for="listepages" class="texte">Liste des pages : </label>
          <select name="listepages" id="listepages">
            <?php
do {  
?>
            <option value="<?php echo $row_rslistepages['idpage']?>"<?php if (!(strcmp($row_rslistepages['idpage'], $row_rslistepages['idpage']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rslistepages['titre']?></option>
            <?php
} while ($row_rslistepages = mysql_fetch_assoc($rslistepages));
  $rows = mysql_num_rows($rslistepages);
  if($rows > 0) {
      mysql_data_seek($rslistepages, 0);
    $row_rslistepages = mysql_fetch_assoc($rslistepages);
  }
?>
          </select>
          <input type="submit" name="select" id="select" value="selectionner cette page" />
        </p>
</form>
      <form id="detailpage" name="detailpage" method="POST" action="<?php echo $editFormAction; ?>">
        <p>
          <label for="titre" class="texte">Titre de la page :</label>
          <input name="titre" type="text" id="titre" value="<?php echo $row_rspagedetail['titre']; ?>" />
          <br />
          <label for="categorie" class="texte">Catégorie de la page :</label>
          <select name="categorie" id="categorie">
            <?php
do {  
?>
            <option value="<?php echo $row_rscategorie['numcategorie']?>"<?php if (!(strcmp($row_rscategorie['numcategorie'], $row_rspagedetail['numcategorie']))) {echo "selected=\"selected\"";} ?>><?php echo $row_rscategorie['titrecategorie']?></option>
            <?php
} while ($row_rscategorie = mysql_fetch_assoc($rscategorie));
  $rows = mysql_num_rows($rscategorie);
  if($rows > 0) {
      mysql_data_seek($rscategorie, 0);
    $row_rscategorie = mysql_fetch_assoc($rscategorie);
  }
?>
          </select>
          <br />
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 1/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte1" id="texte1" cols="60" rows="10"><?php echo $row_rspagedetail['texte1']; ?></textarea>
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 2/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte2" id="texte1" cols="60" rows="10"><?php echo $row_rspagedetail['texte2']; ?></textarea>
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 3/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte3" id="texte1" cols="60" rows="10"><?php echo $row_rspagedetail['texte3']; ?></textarea>
        </p>
        <p>
          <label for="texte1"><span class="texte">Texte (partie 4/4)</span></label>
          <span class="texte">:</span><br />
          <textarea name="texte4" id="texte1" cols="60" rows="10"><?php echo $row_rspagedetail['texte4']; ?></textarea>
          <input name="idpage" type="hidden" id="idpage" value="<?php echo $row_rspagedetail['idpage']; ?>" />
          <input name="nomauteur" type="hidden" id="nomauteur" value="<?php echo $row_rspagedetail['nomauteur']; ?>" />
          <input name="dateauteur" type="hidden" id="dateauteur" value="<?php echo $row_rspagedetail['dateauteur']; ?>" />
          <input name="nomupdate" type="hidden" id="nomupdate" value="<?php echo $row_rsid['id']; ?>" />
          <input name="dateupdate" type="hidden" id="dateupdate" value="" />
        </p>
        <p>
          <input type="submit" name="envoyer" id="envoyer" value="valider les modifications" />
        </p>
        <input type="hidden" name="MM_update" value="detailpage" />
      </form>
    <p> </p>
</body>
</html>
<?php
mysql_free_result($rslistepages);
mysql_free_result($rspagedetail);
mysql_free_result($rscategorie);
mysql_free_result($rsid);
?>
 

Bon, je vais maintenant poursuivre mes preparatifs pour ce soir. je vous remercie pour votre aide et je vous souhaite un excellent noel. je reprendrai contact ce weekend (apres avoir émergé des brumes festives wink )
meilleurs voeux a tous.

Dernière modification par himron (24-12-2010 11:22:44)

Hors ligne

#16 24-12-2010 14:42:08

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

himron a écrit :

@ moogli : j'ai essayé

if ((isset($_POST["MM_update"])) && ($_POST["MM_update"] == "detailpage")) {
  $updateSQL = sprintf("UPDATE pages SET numcategorie=%s, titre=%s, texte1=%s, texte2=%s, texte3=%s, texte4=%s, nomauteur=%s, dateauteur=%s, nomupdate=%s, dateupdate=NOW() WHERE idpage=%s",
                       GetSQLValueString($_POST['categorie'], "int"),
                       GetSQLValueString($_POST['titre'], "text"),
                       GetSQLValueString($_POST['texte1'], "text"),
                       GetSQLValueString($_POST['texte2'], "text"),
                       GetSQLValueString($_POST['texte3'], "text"),
                       GetSQLValueString($_POST['texte4'], "text"),
                       GetSQLValueString($_POST['nomauteur'], "int"),
                       GetSQLValueString($_POST['dateauteur'], "date"),
                       GetSQLValueString($_POST['nomupdate'], "int"),
                       GetSQLValueString(NOW(), "date"),
                       GetSQLValueString($_POST['idpage'], "int"));

comme tu m'as conseillé et j'obtiens

Fatal error: Call to undefined function NOW() in D:\sites\WAMP\www\fablc3\admin-page-update.php on line 95

donc ce n'est pas non plus le bon endroit pour placer le NOW().

cette ligne ne sert plus à rien

                       GetSQLValueString(NOW(), "date"),

d'autant que NOW() est une fonction MySQL et non PHP.

himron a écrit :

@Maljuna :
je viens maintenant d'essayer ce code sur ma page, juste avant le formulaire d'update :

<?php echo "$updateSQL" ; ?>

Ce n'est pas ce que j'ai demandé, j'ai demandé que PHP affiche le contenu de la variable $updateSQL en commentaire dans le source HTML.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#17 25-12-2010 15:36:42

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

afficher en commentaire dans le code source html ?
heuu... au risque de passer pour un super-naze, peux tu me dire comment faire parce que la seule facon d'afficher le contenu d'une variable, a ma connaissance, est la fonction echo.

donc si tu pouvais préciser le code que tu veux que j'insere sur la page, j'apprendrais qqch.
merci

Hors ligne

#18 25-12-2010 15:39:20

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : formulaire et date

Un commentaire html s'affiche de la sorte :

<!-- commentaire html -->

Donc avec echo :

echo "<!-- $variable -->";

smile

Cela aura pour effet de ne pas être visible sur la page, et donc uniquement dans le code source généré.

Dernière modification par xTG (25-12-2010 15:40:16)

Hors ligne

#19 25-12-2010 20:19:41

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

Hé ben, il est temps que je prenne ma retraite, moi.
Confondre /* */ avec  <!-- -->.
Ou alors adieu chouchenn et autres douceurs.
Merci xTG.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#20 25-12-2010 21:47:17

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : formulaire et date

Maljuna Kris a écrit :

Hé ben, il est temps que je prenne ma retraite, moi.
Confondre /* */ avec  <!-- -->.
Ou alors adieu chouchenn et autres douceurs.
Merci xTG.

Boarf t'étais pas si loin tout de même, juste inversé deux langages. Tant que tu le fais pas durant tes consultations professionnelles. tongue

Hors ligne

#21 28-12-2010 17:08:09

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

ok, placer des commentaires qui expliquent ou identifient telle ou telle partie de code, ca je vois.
mais quelle serait l'utilité d'afficher une variable en commentaire ?
on affiche qqch dont on a besoin (donc visible) sur la page.
on place en commentaire quelque chose dont un visiteur n'a pas besoin, mais dont on a besoin au moment ou on programme la page...

quelle serait l'utilité d'afficher une variable en echo, dans un commentaire (donc invisible) ? en quoi cela pourra t il m'aider a insérer une date NOW dans ma base mysql ???

j'avoue etre un peu perdu la.

Hors ligne

#22 28-12-2010 18:06:08

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : formulaire et date

Afficher des variables de debug à même la page qui va être visible par n'importe quel visiteur est très moche.
C'est pour cela que Kris te demandait de faire le debug mais en commentaire html. Ainsi le visiteur ne sera pas gêné par ton debug.

Hors ligne

#23 29-12-2010 08:39:14

Maljuna Kris
Infantimigulo
Lieu : Douarnenez 29100 Breizh Izel
Inscription : 08-05-2009
Messages : 2 453
Site Web

Re : formulaire et date

En phase de développement, et surtout un débutant, doit se donner le maximum de moyens pour visualiser les phases occultes de ses essais sans perturber la recherche de rendu visuel final.
Ces verrues seront ensuite otées du code final mis en exploitation.
On gagne toujours à jeter un œil critique tant sur le rendu final au sens CSS, que sur le code HTML sous-jacent.
Ce qui se cache sous ce que l'on voit en dit souvent long sur l'état d'esprit qui a présidé à la production.
Nous fréquenterions moins les restaurants si nous avions plus souvent l'occasion de faire un tour dans les cuisines. Et je ne parle pas des officines de l'industrie alimentaire, mon petit Candide.


Gloire à qui n'ayant pas d'idéal sacro-saint,
Se borne à ne pas trop emmerder ses voisins. G. Brassens Don Juan 1976.
Avĉjo MoKo kantas
La chaîne YouTube MoKo Papy

Hors ligne

#24 29-12-2010 11:16:01

himron
Membre
Inscription : 02-12-2010
Messages : 44

Re : formulaire et date

ah ok je vois. ce n'est cependant pas un probleme actuellement. le candide ne l'est pas tellement : il développe son site en local. aucun risque donc de géner les visiteurs avec des codes foireux... vu qu'il n'y a pas de visiteurs a part moi wink

donc l'afficher en commentaire ou visible, le resultat est le meme normalement (si je me goure pas dans mon raisonnement) : j'ai un message d'erreur (repris ci dessus )

Notice: Undefined variable: updateSQL in D:\sites\WAMP\www\fablc3\admin-page-update.php on line 139

je reviens donc a ma question : la variable est indéfinie, qu'est ce que ca m'apprend et en quoi cela peut il résoudre mon probleme de NOW() dans mon formulaire ?


merci d'avance

Hors ligne

#25 29-12-2010 12:09:54

xTG
GrandGourou
Inscription : 18-06-2009
Messages : 1 127
Site Web

Re : formulaire et date

Cela implique que tu as mis le echo avant le sprintf() qui associe une valeur à cette variable ou bien que la condition dans laquelle se trouve le sprintf n'est jamais vraie et donc le sprintf n'a jamais lieu.

Hors ligne

Pied de page des forums