Récuperer un id d'une base de donné en php

Fermé
slayer418 - 27 oct. 2007 à 20:38
 slayer418 - 27 oct. 2007 à 22:05
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.

2 réponses

gryzzly Messages postés 4608 Date d'inscription lundi 7 novembre 2005 Statut Contributeur Dernière intervention 24 octobre 2020 1 331
27 oct. 2007 à 22:02
0
Bonjour,
Merci ca marche, maintenant je voudrais savoir si y'aurait pas une facon de faire que le nom du fichier .html est sois la valeur de $prenom et qui se créer automatiquement si il n'existe pas?
0