Bon ben y a plus qu'à testerDe cette façon, l'utilisateur une fois redirigé vers une autre page avec la fonction header(), les données du formulaire sont perdues.
if($_SERVER['HTTP_REFERER'] == page1.php) {
header('Location: page2.php');
exit(); }
J'ai pas trop d'idée pour l'instant <form method="post" action="Administration.php">
<h2>Ajouter un produit:</h2>
nom du produit:<input type="text" name="nom"/><br/>
rubrique:<select name="rubrique">
<option value="alimentation">Alimentation</option>
<option value="cuisine">Cuisine</option>
<option value="jouets">Jouets</option>
</select><br/>
description du produit:<textarea name="description"></textarea><br/>
<input type="hidden" name="password" value="motdepasse" />
<input type="submit" name="add" value="Valider"/>
</form>
if(isset($_POST['add']))
{
$result = mysqli_query($link, "INSERT INTO produit (nom, rubrique, description) VALUES ('".$_POST['nom']."','".$_POST['rubrique']."', '".$_POST['description']."') ") or trigger_error('requete invalide', E_USER_ERROR);
if($result)
{
echo '"'.$_POST['nom'].'" a été ajouté au catalogue.<br/>';
}
}
Le formulaire et le script étant sur la page Administration.php
Mais si tu peux !... en renvoyant une variable dans ton header.Hmm, comment faire si le formulaire renvoi sur la même page ?
Si je traite le formulaire et une redirection dans la foulée, je ne peux plus confirmer le traitement du formulaire.
if ($_POST['formulaire'])
{
if ($traitement de formulaire == 'ok') {$mes = 1;} else {$mes = 2;}
header("Location: page2.php?mes=$mes");
exit(); }
}
$message = null;
if (isset($_GET['mes']))
{
switch($_GET['mes'])
{
case "1" : $message = 'Traitement ok';break;
case "2" : $message = 'Traitement NON ok';break;
}
}
if (isset($message)) echo $message;
Ben ça peut prêter à confusion... La redirection tu la mets bien ou tu veux tant que tu n'as rien fait afficher avant.Il faut juste faire attention de ne rien envoyé avant ta redirection, donc soit mettre la redirection au début de ton script...