2010-10-11 8 views
1

J'ai une page php qui génère un formulaire. L'attribut action du formulaire est la page elle-même. Après que l'utilisateur soumet le formulaire, la même page est chargée, mais cette fois une variable POST est définie, de sorte que la page exécute un autre script pour gérer les données entrantes à partir du formulaire. Je le fais en utilisant une fourchette conditionnelle:Utiliser le même fichier php pour afficher le formulaire et recevoir les données du formulaire

if(isset($_POST['var'])){ 
    generate form 
}else{ 
    insert $_POST data into database 
} 

Je voudrais savoir si c'est ok ou une mauvaise idée.

Répondre

1

La partie incorrecte définit l'attribut d'action sur le script. L'omettre indique complètement au navigateur qu'il devrait être posté sur la même URL.

1

Vous pouvez même aller dans la mesure de vérifier si les données ont été présentées à travers AJAX pour le différencier d'une soumission de forme régulière:

if ($_SERVER['X_REQUESTED_WITH']=='XMLHttpRequest') 
    // AJAX 
2

Je suis d'accord avec Ignacio. À part cela, cela ressemble à une approche assez standard si vous n'avez pas besoin de plus de complexité. Une chose très importante: assurez-vous de valider et de désinfecter ces données avant qu'elles ne pénètrent dans la base de données.