Bonjour,
J’arrive sur un prog php avec un identifiant passé par la methode Get.
Avec cet identifiant, je fais une interrogation en table et récupère 3 informations :
Un nom, une version et une info 1 ou 0.
if (!empty ($_GET['id']))
{
$requete= "SELECT * FROM matable WHERE T_id = '" . $_GET['id'] . "'";
if ($resultat = mysqli_query($link, $requete))
{
$ligne = mysqli_fetch_array($resultat);
$id_fiche = $_GET['id'];
$_POST['version'] = htmlentities($ligne['T_version']);
$_POST['nom'] = htmlentities($ligne['T_nom']);
if ($ligne['T_valide'] == 1)
{
$_POST['valide'] = 'checked';
}
}
}
Avec ces trois informations, je renseigne un formulaire comme ceci:
<form name="form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post" enctype="multipart/form-data">
Version <?php echo (!empty($_POST['version'])) ? $_POST['version'] : ''; ?>
<p></p>
Nom <input type="text" name="nom" value="<?php echo (!empty($_POST['nom'])) ? $_POST['nom'] : '';?>"/>
<p></p>
Valide <input type="checkbox" name="valide" <?php echo (!empty($_POST['valide'])) ? $_POST['valide'] : '';?>>
<p></p>
<input type="hidden" name="id_fiche" value= <?php echo $id_fiche ?>>
<INPUT TYPE="SUBMIT" VALUE="Valider" name="Envoi">
</form>
Jusque là ca marche bien.
Dans ce formulaire, l’information ‘version’ apparaît mais ne peut etre modifiée. Je n’ai donc pas mis de balise « type = … » pour cette info.
Lorsque je valide mon formulaire, je vérifie que le nom est bien renseigné. Si ce n’est pas le cas, alors j’affiche un message d’erreur.
En cas d’erreur, je souhaite réafficher les informations (normal) et c’est là ou ca cloche car mon information ‘version’ n’apparaît plus ni l’information ‘valide’ si elle était à 1 !?
Comment faire pour garder les informations ? Je pensais qu’une fois les variables renseignées au début à la réception du Get resteraient renseignées mais à priori non … ?
Merci pour vos lumières.[/php][/code]