Page 1 sur 1
réecrire l'url
Posté : 29 oct. 2006, 11:19
par tartpion
salut a tous
voila j'ai cée un formulaire d'inscription a une newsletter trés simplement sauf que le tout est sur une seule page avec un isset() si ya la variable on va mettre les donnees dans la base et on affiche une confirmation sinon ben on affiche le formulaire.
tout marche trés bien sauf que si on s'inscrit et on recharge la page ben la variable demande d'etre encore envoyéé et j'ai le meme probleme sur plusieurs de mes scripts qui sont faits de la meme facon donc je cherche un script qui au chargement de la page me reecrive l'url pour que a chaque fin de chargement si j'actualise je me retrouve sur la bonne page sans avoir les variables envoyees ou bien que je puisse choisir lesquels envoyer exactement
merci d'avance desolé d'avoir été long je voulais etre sur d'etre compris
Re: réecrire l'url
Posté : 29 oct. 2006, 11:22
par Cyrano
...je voulais etre sur d'etre compris
C'est pas gagné
Quelques exemples du code pour illustrer ton propos seraient bienvenus.
Posté : 29 oct. 2006, 11:34
par tartpion
desolé j'ai cru qu'en etant long et sans toucher au code ca passerais alors voila le code en gros
if (isset (variable)
{
on envoi la variable dans la base de donnee
echp " email newsletter bien enregistré";
}
else
{
formulaire inscription newsletter qui fait renvoyer la variable contenant le mail sur la page en cours (rechargement de la page)
}
au total si on s'inscrit tout marche sauf que si on veut recharger la page on a un message est ce que vous voulez revoyer les informations encore une fois et ca c parce que les variables sont dans l'url et donc il doit encre renvoyer le mail dans la base de donnees donc probleme
c'est pas le seule script qui me donne ce probleme c'est pour ca que je ne fais pas ce script la en deux pages et que je veux une possibilité de reecrire l'url une fois les variable utilisées...
je me suis appliqué j'espere que vous allez comprendre
merci d'avance ...
Posté : 29 oct. 2006, 11:41
par Cyrano
Je saisis pas bien. Tu utilises la méthode get avec ton formulaire d'inscription ? Si c'est le cas, c'est pas particulièrement prudent. Ce que je ne comprends toujours pas, c'est ton histoire de rechargement et de ré-écriture d'url.
Essaye de faire un schéma : url de départ, url lorsqu'on valide le formulaire et ce que tu veux faire après.
Posté : 29 oct. 2006, 11:46
par tartpion
pour faire plus simple je vais te donner l'url du site inscris toi a la newsletter avec n'importe quel adresse et regardes ce que ca donne au moment ou tu veux recharger la page .....
http://www.betises.info/index1.php
et ya le meme probleme au niveaux des scripts livre d'or et tribune libre vas voir mets un message et rafraichis la page tu vas voir....
Posté : 29 oct. 2006, 11:51
par Cyrano
Si je fais un F5 après avoir posté, c'est normal, le navigateur va renvoyer le formulaire une nouvelle fois, c'est comme ça pour tous les formulaires. Je ne saisis toujours pas où est le problème.
Posté : 29 oct. 2006, 11:54
par Cyrano
En fait si tu veux éviter ça, il faut inclure une redirection en fin de traitement vers une nouvelle page. Comme ça le F5 ne pourra plus faire autre chose que rafraichir la nouvelle page, mais les données du formulaire n'auront plus cours.
Posté : 29 oct. 2006, 11:55
par tartpion
ben tu me dis c'est comme ca pour tout les formulaires, je me disais ca au debut mais j'ai vu un site qui gardait toujours la meme adresse en haut et il utilisait aussi du php tout marche super sur le site et dans la barre de l'url ca affiche toujours la meme chose
a savoir
http://www.feujworld.fr
jette un coup d'oeuil tout est en php et la barre d'url en haut ne bouge jamais si je pouvais faire la meme chose ce serait super ...
Posté : 29 oct. 2006, 11:59
par Cyrano
Normal, son site est en frames, donc tu as toujours l'url mais la navigation à l'intérieur des frames n'affiche pas les changements d'url dans la barre de navigation.
Posté : 29 oct. 2006, 12:05
par tartpion
a ok je comprends donc ca veut dire que pour moi c'est mort ???
j'utilise aussi une seule page qui ne bouge pas index1.php qui est le designe le menu et tout et puis au millieu ya un switch case qui va chercher la page en fonction de la variable recue (c'est toi qui m'avait donné cette idee ) je peux m'aranger pour le faire ??
et dans le cas des frames quand il envoie des variables par l'url on devrait les voir quand meme ??
Posté : 29 oct. 2006, 12:10
par Cyrano
Non, via les frames, la seule url que tu verras est celle de la page index qui contient les frames. à l'intérieur de chaque frames, il y a des pages indépendantes et tu ne vois pas leurs urls respectives, par contre tu les verras lors du passage du pointeur de souris sur les liens dans la barre de statut en bas de la fenêtre.
Et comme je t'ai dit, la solution, c'est d'effectuer le traitement de ton formulaire avant tout affichage à l'écran et ensuite d'utiliser header vers une nouvelle page. Et dans ce cas le formulaire ne sera pas renvoyé mais la page affichée sera simplement rechargée.
Alors qu'avec des frames, si tu recharges la page, tu vas retomber sur l'index par défaut. Essaye ça avec phpMyAdmin : sélectionne une base quelconque et ensuite fais un F5 : observe ce qui se passe.
Posté : 29 oct. 2006, 12:13
par tartpion
ok super merci a toi cyrano je vais essayer le header si ta pas de nouvelles de moi c'est que ca a marche

Posté : 29 oct. 2006, 13:22
par albat
Au contraire, tu as tout intérêt à donner des nouvelles de toi si ça marche !
Ne serait-ce que pour marquer ce sujet
Résolu...

Posté : 01 nov. 2006, 08:15
par Ultiny
Il serait plus indiqué d'utiliser la méthode POST pour ton formulaire, ça demandera au moins confirmation à l'utilisateur s'il est certain de vouloir reposter sa page.