2010-08-30 3 views
0

Lorsqu'un utilisateur crée son propre compte, s'il y a une erreur, je veux les rediriger vers la même page mais afficher les erreurs en haut.Envoi de messages d'erreur à une autre page?

Quelle est la meilleure façon de faire cela?

+1

Pourquoi la redirection? Pourquoi ne pas simplement imprimer l'erreur? Utilisez un modèle si vous souhaitez séparer le traitement des données de la sortie de données. – Gumbo

+0

Parce que si un utilisateur remplit les zones de saisie et qu'il saisit des informations erronées, lorsqu'il appuie sur "register", je veux qu'il soit redirigé vers la page d'enregistrement et informé de l'erreur. –

+0

Envoyez simplement les données du formulaire à la même page et effectuez la validation avant de sortir le formulaire. Ensuite, vous pouvez imprimer une erreur et remplir le formulaire. – Gumbo

Répondre

3

Structure page suivante (en pseudo-code rugueux)

if (doing a post) { 
    process input 
    if (post is ok) { 
     redirect to success page 
    } else { 
     build error messages 
    } 
} 

if (error messages available) { 
    display errors 
} 

display form(filled in with previously submitted values) 
+0

C'est ce que je fais, mais est-il un moyen de le faire sans combiner PHP et HTMl dans la même page –

+0

sûr, utilisez un système de modèle. mais quel que soit le type de système de gabarit que vous utilisez, à un certain point, le code/html doit être mélangé. –

0

j'enregistre l'erreur dans la session et le retirer une fois qu'il a été rendu. Comme vous allez probablement annuler l'exécution des pages sur une redirection, il n'atteindra jamais le code responsable du rendu, le laissant ainsi dans la session.

1

J'aime créer une fonction nommée set_feedback() qui définit l'erreur dans une variable de session. alors j'ai cette autre fonction get_feedback() qui récupère l'information et annule la variable.

Questions connexes