A voir également:
- Rafraichirune page php
- Supprimer page word - Guide
- Imprimer tableau excel sur une page - Guide
- Page d'accueil - Guide
- Page privée - Guide
- Page accueil iphone - Guide
3 réponses
Tu fais une requete de selection pour vérifier que ce que tu ajoute n'est pas deja dans la base
Si c'est présent tu fais un exit, sinon tu fais l'insertion
Ainsi si tu actualises la page, t'aura un message qui dit que c'est deja ajouté (message que tu dois mettre toi même dns le script PHP, bien entendu).
Ca devrait marcher ;)
A+
Jon
Si c'est présent tu fais un exit, sinon tu fais l'insertion
Ainsi si tu actualises la page, t'aura un message qui dit que c'est deja ajouté (message que tu dois mettre toi même dns le script PHP, bien entendu).
Ca devrait marcher ;)
A+
Jon
Deux autres solutions :
1-
Séparer la page de traitement et le formulaire en 2 fichiers
form.php et traitement.php (par exemple) Tu termines traitement.php par un redirect à form.php. Une formule que j'aime bien:
form.php:
Et traitement.php:
C'est surtout pratique pour un traitement complexe. La réponse de Jon est certainement plus simple et pratique si le traitement se faire en moins de 10 lignes au début du fichier.
2- Récupérer une erreur SQL (dublicata impossible). Quand tu crées ta base de données, tu crées un champ index unique. Le INSERT insère des données dans ce champs. MySql va se plaindre si un refresh est fait (impossible d'insérer. Duplicata impossible). Tu peux récupérer l'erreur avec mysql_errno() et mysql_error() et afficher le message en conséquence. Évidemment, ça ne s'applique pas à toutes les situations.
Caro
1-
Séparer la page de traitement et le formulaire en 2 fichiers
form.php et traitement.php (par exemple) Tu termines traitement.php par un redirect à form.php. Une formule que j'aime bien:
form.php:
<?if isset($_GET("err")) echo '<div class=\'err\'>'.$_GET("err").'</div>'?> ... <form action="traitement.php"> ....
Et traitement.php:
... if isset($error) header("Location: form.php?err=$error"); else header("Location: form.php");
C'est surtout pratique pour un traitement complexe. La réponse de Jon est certainement plus simple et pratique si le traitement se faire en moins de 10 lignes au début du fichier.
2- Récupérer une erreur SQL (dublicata impossible). Quand tu crées ta base de données, tu crées un champ index unique. Le INSERT insère des données dans ce champs. MySql va se plaindre si un refresh est fait (impossible d'insérer. Duplicata impossible). Tu peux récupérer l'erreur avec mysql_errno() et mysql_error() et afficher le message en conséquence. Évidemment, ça ne s'applique pas à toutes les situations.
Caro