Page 1 sur 1

formulaire et conditions

Posté : 08 juin 2006, 09:31
par Moker
Bonjour,

je cherche a faire un formulaire d'i,sertion dans une base pour la partie back office d'un site.

ce formulaire demande quelle rubrique ajouter a la base, une fois le champs renseigné et le formulaire validé, un script insert la valeur dans la bdd.

seulement j'aimerait qu'aprés l'insertion effectuée, le script redirige vers une autre page, car si l'utilisateur rafraichit la page a ce moment, il insert une seconde fois la valeur :(

voici le code :

add.php:
$_ADD = isset($_GET["add"])?$_GET["add"]:NULL;
switch($_ADD){
	case "rubrique":
	require_once "add_rubrique.php";
	break;
	
	case "service":
	require_once "add_service.php";
	break;
	
	case "personne":
	require_once "add_personne.php";
	break;
}
add_rubrique.php:
<?php

if(isset($_POST["rubrique"]) && $_POST["rubrique"] == "Ajouter" && !empty($_POST["nom"])){
	// insertion dans la base
	$sql = "INSERT INTO rubrique (nom) VALUES(\"".$_POST["nom"]."\");";
	$ins = mysql_query($sql);
	// si insertion ok:
	if($ins){
		echo "<br />La rubrique \"".$_POST["nom"]."\" à bien été ajoutée dans la base";
		// puis redirection pour eviter un rafraichissement de l'utilisateur
		// .......
	}else{
		echo "<br />Un probleme est survenu, veuillez essayer un à nouveau";
	}
}else{
?>
<center>Ajouter une rubrique</center>
<form action="" method="post">
<fieldset>
	<legend>Nom de la rubrique:</legend>
	<input type="text" name="nom">
	<input type="submit" name="rubrique" value="Ajouter" />
</fieldset>
</form>
<?php
}
?>
auriez vous une idée pour eviter ce probleme ?

Posté : 08 juin 2006, 11:55
par mere-teresa
Tu as plusieurs solutions : pour ton souci, tu peux mettre l'action de ton formulaire vers une autre page. Cependant pour la suite de ton dév, tu as peut-être intérêt à vérifier que la donnée n'est pas déjà présente dans la base, pour éviter les doublons...

Posté : 08 juin 2006, 14:19
par Moker
merci beaucoup mere-theresa :wink:

je vais opter pour la verification de doublon en sql, sinon le switch que j'utilise pour inclure mes pages ne fonctionneras plus.

merci beaucoup :)