Bonjour,
Je viens de commencer un projet pour l'école.
J'ai un formulaire (article.html) qui envoi les infos que j'ai besoins a send.php grâce a un form POST.
Mon probleme est que je veux récuper les infos et les enregistrer dans un fichier .html dont le nom varie selon la valeur d'un des champs d'infos , jusqu'à la sa va mais il ya juste une valeur que je ne réussi pas à obtenir, je vais vous montrer un peu de code pour que vous compreniez mieux:
article.html :
<html>
<head>
<title>Article</title>
<link rel="stylesheet" type="text/css" href="span.css">
<script src="date_script.js" type="text/javascript">
</script>
</head>
<div class="div" id="type1">
</div>
<body OnLoad="namosw_init_clock('type1', 1)">
<form name=form1 action="send.php" method="post" target="_parent">
Nom: <input id="nom" name="nom" value="">
<br><br>Prénom: <input id="prenom" name="prenom" value="">
<br><br>Fiche: <input id="fiche" name="fiche" value="">
<br><br>Image: <input id="image" name="image" value="http:// ">
<br><br>Date: <input id="date" name="date" value="" onmouseover="document.getElementById('date').value = (document.getElementById('type1').innerHTML)">
<br><br><select name="theme">
<option value="actu" selected>Actualité</option>
<option value="musique" selected>Musique</option>
<option value="cinéma" selected>Cinéma</option>
</select>
</body>
<br><br><input name="Submit" value="Envoyer" type="submit">
</form>
</html>
send.php :
<?php
// connexion
$link = mysql_connect("localhost","slayer418","mon password ici");
if(!$link) die (mysql_error());
mysql_select_db("slayer418_db",$link) or die (mysql_error());
// reception des valeurs POST
// pour l'exemple, si elle n'existent pas, on met une valeur vide... mais on pourrait mettre un valeur par défaut
// sauf pour $id_enreg qui definit s'il s'agit d'un insert ou d'un update
$id=(!isset($_POST['id']))?(''):($_POST['id']);
$nom=(!isset($_POST['nom']))?(''):($_POST['nom']);
$prenom=(!isset($_POST['prenom']))?(''):($_POST['prenom']);
$fiche=(!isset($_POST['fiche']))?(''):($_POST['fiche']);
$image=(!isset($_POST['image']))?(''):($_POST['image']);
$theme=(!isset($_POST['theme']))?(''):($_POST['theme']);
$texte=(!isset($_POST['texte']))?(''):($_POST['texte']);
$texte2=(!isset($_POST['texte2']))?(''):($_POST['texte2']);
$date=(!isset($_POST['date']))?(''):($_POST['date']);
// echappement des quotes
$id=mysql_real_escape_string($id, $link);
$nom=mysql_real_escape_string($nom, $link);
$prenom=mysql_real_escape_string($prenom, $link);
$fiche=mysql_real_escape_string($fiche, $link);
$image=mysql_real_escape_string($image, $link);
$theme=mysql_real_escape_string($theme, $link);
$texte=mysql_real_escape_string($texte, $link);
$texte2=mysql_real_escape_string($texte2, $link);
$date=mysql_real_escape_string($date, $link);
if(empty($id)) {
// insertion
$sql = "INSERT INTO `Article` (id, nom, prenom, fiche, image, theme, texte, texte2, date) VALUES (NULL, '$nom', '$prenom', '$fiche', '$image', '$theme', '$texte', '$texte2', '$date')";
}else {
// mise a jour
$sql = "UPDATE `Article` SET nom = '$nom', prenom = '$prenom', fiche = '$fiche', image = '$image', theme = '$theme', texte = '$texte', texte2 = 'texte2', date = '$date' WHERE id = ".$id;
}
$res = mysql_query($sql, $link);
if(!$res) die (mysql_error());
echo "Ajouts/Modifications effectués";
?>
<?
$link = mysql_connect("localhost","slayer418","mon password ici");
if(!$link) die (mysql_error());
mysql_select_db("slayer418_db",$link) or die (mysql_error());
$id = $_POST['id'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$fiche = $_POST['fiche'];
$image = $_POST['image'];
$theme = $_POST['theme'];
$date = $_POST['date'];
$End = "----------------";
$somecontent = "<br>$End<br><br>id: $article->id<br>
<br>Nom: $nom<br>
<br>Prénom: $prenom<br>
<br>Fiche: $fiche<br>
<br>Image: $image<br>
<br>Theme: $theme<br>
<br>Date: $date<br>
<br>
<br>
<br>";
$filename = 'fiche.html';
if (is_writable($filename)) {
if (!$handle = fopen($filename, 'a')){
echo "Impossible d'ouvrir le fichier ($filename)";
exit;}
if (fwrite($handle, $somecontent) === FALSE) {
echo "Impossible d'écrire dans le fichier ($filename)";
exit;}
echo "Merci ;-)";
fclose($handle);}else {
echo "Enregistrement impossible";}
?>
Bon voila vous avez un regarder un peu mon code,vous avez vue dans send.php:
$id = $_POST['id'];
$nom = $_POST['nom'];
$prenom = $_POST['prenom'];
$fiche = $_POST['fiche'];
$image = $_POST['image'];
$theme = $_POST['theme'];
$date = $_POST['date'];
Les valeurs de $nom,$prenom,$fiche,$image,$theme,$date sont enregistrer dans fiche.html mais l'id lui n'affiche pas.
Ma table dans ma base de donnée se nomme Article et j'ai 9 champs dedans:
id, nom, prenom, fiche, image, theme, texte, texte2 et date
id est un auto-increment, je voudrais pouvoir récuperer la valeur de l'id qui va avec les infos marquer dans $nom,$prenom...
Genre pouvoir obtenir le dernier id rentré dans la base de donné et l'afficher dans fiche.html comme le reste des infos.
J'attend vos réponse et si c'est pas clair je réexplique.
Afficher la suite