Actualisation
bedidaquin01
-
le hollandais volant Messages postés 5294 Statut Membre -
le hollandais volant Messages postés 5294 Statut Membre -
Bonjour,
pour insérer les données d'un formulaire dans ma base de donnée j'ai fais ce code(ci dessous).
mais quand j'actualise la page il me réenregistre ses mêmes informations dans la base de donnée. pourriez vous regarder mon script et me dit la cause aussi comment y remédier.
Page:
pour insérer les données d'un formulaire dans ma base de donnée j'ai fais ce code(ci dessous).
mais quand j'actualise la page il me réenregistre ses mêmes informations dans la base de donnée. pourriez vous regarder mon script et me dit la cause aussi comment y remédier.
Page:
<h1>Fichier -> Marque appareil</h1>
<form method="post" action="ajout.php">
<fieldset>
<p>code:<input name="Code" type="text" value="<?php echo htmlentities($Codep=$_GET['Codeparamcom']); ?>" size="10" maxlength="3"/></p>
<p>Designation:<input type="text" name="Marque" tabindex="20" align="texttop"/></p>
<p>Premiere position:<input type="text" name="Val1" tabindex="20" align="texttop"/></p>
<p>Deuxieme position:<input type="text" name="Val2" tabindex="20" align="texttop"/></p>
<input type="submit" value="Valider" name="Valider" />
<input type="reset" value="annuler" />
</fieldset>
</form>
<?php
include('Connections/dbb.php');
//recuperation des valeurs des variables
if(isset($_POST['Code'])) $Code=$_POST['Code'];
else $Code="";
if(isset($_POST['Marque'])) $Marque=$_POST['Marque'];
else $Marque="";
if(isset($_POST['Val1'])) $Val1=$_POST['Val1'];
else $Val1="";
if(isset($_POST['Val2'])) $Val2=$_POST['Val2'];
else $Val2="";
if(empty($Code) || empty($Marque) || empty($Val1) || empty($Val2)) echo 'Remplir tous les champs';
else
{
//on se connecte a MYSQL
$dbb=mysql_connect($hostname_dbb, $username_dbb, $password_dbb) or die('Erreur de connexion ' . mysql_error());
// on sélectionne la base
mysql_select_db($database_dbb) or die('Erreur de selection ' . mysql_error());
// on crée la requête SQL
$requet= 'INSERT INTO paramcom (Code, Marque, Val1, Val2) VALUES ("'.$Code.'", "'.$Marque.'", "'.$Val1.'", "'.$Val2.'")';
// on execute la requete
$insert_requet=mysql_query($requet)or die('selection echouée' . mysql_error());
// affichage des données
if($insert_requet){
echo('L\'insertion a été correctement effectuée');
}
else
{
echo('L\'insertion à échouée');
}
mysql_close();
}
?>
</div>
1 réponse
Salut,
Lors d'une requête $_POST, les données sont conservées coté serveur, car la page est générée suite à un clic sur ta page.
Pour réinitialiser ça, il faut actualiser la page via PHP, de façon à avoir une page comme si on n'avait pas cliqué sur « envoyer ».
En bas du script, il faut mettre quelque chose ainsi, en PHP : (mais il faudrait que le PHP et le HTML soient sur des pages différentes.
Lors d'une requête $_POST, les données sont conservées coté serveur, car la page est générée suite à un clic sur ta page.
Pour réinitialiser ça, il faut actualiser la page via PHP, de façon à avoir une page comme si on n'avait pas cliqué sur « envoyer ».
En bas du script, il faut mettre quelque chose ainsi, en PHP : (mais il faudrait que le PHP et le HTML soient sur des pages différentes.
header('Location: '.$_SERVER['PHP_SELF']);
mais si j'ai bien compris ,
je creais un formulaire html pour la saisie des infos et une page php pour le traitement de ce formulaire dont j'ajoute header('Location: '.$_server['php_self']);
mais comment on actualise la page via php
Si on envoie sur la même page, c'est une réactualisation.
Attention per contre, à bien mettre ce code dans un "if" qui teste si le message a été posté : sinon on se retrouve avec une boucle de redirection infinie