url dans code php - PHP - Programmation
Marsh Posté le 20-11-2008 à 00:18:51
simple si ya aucun affichage avac la ligne 35 : tu remplace echo message par :
header('Location: tapge.php');
avec variable si tu veut
header('Location: tapge.php?var1=1&var2=2');
Marsh Posté le 20-11-2008 à 00:30:38
merci pour ta réponse mais je viens d'essayer ton code mais il ne fonctionne pas. J'ai oublié de préciser que le lien vise vers une page en htm
Marsh Posté le 20-11-2008 à 01:29:45
seagull6 a écrit : merci pour ta réponse mais je viens d'essayer ton code mais il ne fonctionne pas. J'ai oublié de préciser que le lien vise vers une page en htm |
j' ai appliqué ton code comme ceci (avec le lien du forum) mais ça ne fonctionne pas pourquoi?
merci
Code :
|
Marsh Posté le 20-11-2008 à 08:27:45
comment çà "çà ne fonctionne pas ?" ?
message d'erreur ? si oui lequel ??
Marsh Posté le 20-11-2008 à 09:04:08
Bonjour,
voici le message d'erreur
Warning: Cannot modify header information - headers already sent by (output started at /mnt/107/sdb/c/c/lien vers page/envoi.php:8) in /mnt/107/sdb/c/c/lien vers page/envoi.php on line 43
désolé pour mon niveau de connaissance en la matière, merci
Marsh Posté le 20-11-2008 à 09:12:21
et bien avant une modification des headers (ici pour une redirection) il ne faut aucune sortie de texte (pas le moindre echo, saut de ligne ou html avant l'appel de la fonction)
Marsh Posté le 20-11-2008 à 09:19:49
ok mais j'ai besoin de mes echo ? comment puis-je modifier le code pour que ça fonctionne stp
merci encore
Marsh Posté le 20-11-2008 à 09:21:37
si tu veux rediriger directement la personne alors tu n'en as pas besoin. Qu'est ce que tu veux faire alors ?
rediriger vers ta page, ou alors rester sur celle ci et afficher un lien ?
Marsh Posté le 20-11-2008 à 09:27:05
en fait, une fois le formulaire rempli, sur clic sur "envoyer", si les champs ne sont pas corrects(mail, message), alors = message d'erreur correspondant, sinon c'est ok, alors renvoie vers ma page d'accueil
merci
Marsh Posté le 20-11-2008 à 09:36:15
Code :
|
Si il n'y a aucun soucis, $ok vaut true, on envoit le mail et si tout fonctionne on redirige.
Sinon, on affiche les différentes erreurs stockées dans $error.
C'est un exemple, tu peux très bien procéder différemment.
Marsh Posté le 20-11-2008 à 09:48:58
est ce que tu pourrais incérer ton code dans le mien stp en indiquant ou je dois mettre le lien vers ma page .htm car je suis vraiment à la ramasse sur le sujet.
merci encore pour ton attention
Marsh Posté le 20-11-2008 à 10:01:33
non, c'est très simple ! s'il y a eu des erreurs tu les stockes puis les affiche, sinon, tu envoi le mail et tu rediriges.
Marsh Posté le 20-11-2008 à 10:03:31
le 2eme code que tu as fourni est correct.
Il faut simplement que, avant la ligne 1 (qui commence par "<?php..." ), il n'y ait rien d'envoyé au client.
pour vérifier ca, quand tu reçois
Code :
|
tu regardes tout ce qu'il y a affiché avant, et que tu fasses en sorte que ça ne soit pas envoyé (c'est à dire que ca ne s'affiche pas)
Marsh Posté le 20-11-2008 à 10:10:44
seagull6 a écrit : ok je persiste |
mais il n'y a rien avant si ce n'est l'entête de la page?
Code :
|
Marsh Posté le 20-11-2008 à 10:26:08
seagull6 a écrit : |
TIP : l'entête ce n'est pas "rien", c'est l'entête.
Marsh Posté le 20-11-2008 à 14:56:04
ton
Code :
|
doit précéder le <html> et n'importe quoi d'autre avant (si ton truc est bien fait, il ne devrait rien avoir avant le <html> (sauf le doctype, mais passons)
et rien, c'est rien. ni un espace ni un retour à la ligne. La première ligne de ton script doit être :
Code :
|
c'est pas toujours simple à faire, surtout après coup. mais c'est comme ça ;-)
Note que tu as d'autres moyens de faire des redirection que des redirections coté serveur : tu peux faire des redirections en html (bof) ou encore en javascript (bof bof).
Marsh Posté le 22-11-2008 à 01:16:55
Bonsoir,
je suis enfin arrivé à ce que j'attendais et je voulais vraiment remercier tout ceux qui m'on aidé dans ce post, merci à nabbo
pour sa précision apportée (il a compris mon niveau mais je compte bien progresser...)
ci-dessous, ma page php telle qu'elle est (si ça peut servir à quelqu'un..)sauf les adresse bien sûr
Code :
|
Marsh Posté le 22-11-2008 à 04:06:46
pour info (les puristes me corrigeront si c'est pas le cas),
Code :
|
s'écrit plutôt
Code :
|
et surtout (encore une fois les puristes me corrigeront...)
tu ne sembles pas filtrer les variables postées (en dehors du mail)
notamment les variables nom, message, etc (en gros, tout ce qui apparait dans tes headers.
Du coup, quelqu'un de mal intentionné (un mec parano, et il en faut, te dirait : c'est le prochain visiteur de ton site) peut injecter des caractères spéciaux dans ces champs, et transformer ton script en boite à spam.
Mais là, je n'ai pas les corrections exactes à apporter.
Je t'invite à demander à ton ami google des infos sur les "headers injections" en php, avec la fonction mail.
Marsh Posté le 20-11-2008 à 00:14:16
Bonjour,
voici un code php de formulaire que j'ai trouvé sur le net et je remercie au passage tout ceux qui mettent à disposition leur travail pour aider les moins connaisseur à concevoir leur site .
je voudrais juste, si possible, remplacer la ligne 35 (echo "message envoyé"; ), par une instruction visant vers un lien url d'une autre page de mon site (j'ai parcouru le web en vein pour trouver la soluce et pourtant je suis sûr que vous ne ferez qu'une bouchée de ma question ).
merci d'avance