header et redirection

Eléphant du PHP | 216 Messages

06 mars 2006, 22:24

Bonjour,
j'effectue un test ede formulaire.
Et lorsque le formulaire est bien remplie j'effectuer une redirection :

Code : Tout sélectionner

header("Location: ok_client.htm");
j'ai l'erreur suivante :

Cannot modify header information - headers already sent by (output started at c:\program files\easyphp1-7\www\lldiffusion\crecli.php:115) in c:\program files\easyphp1-7\www\lldiffusion\crecli.php on line 297


et quand je vais à la ligne 115 j'ai cela :

Code : Tout sélectionner

<legend style="color:blue">Créer votre Compte</legend>
on dit qu'il ne faut pas mettre de html avant le header, mais pour créer un formulaire on est obligé de mettre du HTML, j'ai un peu de mal à comprendre...
pouvez-vous me donner un coup de main.
merci d'avance. :wink:

Mammouth du PHP | 19672 Messages

06 mars 2006, 23:12

Dans la mesure où même un simple espace a été envoyé vers le navigateur, tu ne peux plus utiliser la fonction header(). Pour faire dans ce cas une redirection, il te reste la solution JavaScript avec window.location()
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Eléphant du PHP | 216 Messages

06 mars 2006, 23:56

avec javascript, voilà ce que j'utilise :


<?
echo '<script language="javascript">';
											echo "window.location = 'ok_client.htm'";
											echo '</script>';

?>

'est juste un bout du code.
La redirection marche bien.
mais le souci c'est que je ne peux plus cliquer sur précédent (pour revenir sur le formulaire par exemple).
Quand je clique su précédent, c'est comme si le code ci-dessous était exécuté à nouveau et du coup, je me retrouve toujours sur la page ok_client...
est-ce normal :?:

Mammouth du PHP | 19672 Messages

07 mars 2006, 00:02

Alors mets dans un lien html :
<a href="ok_client.htm">Vers la page ok</a>
J'avoue que je ne comprends pas bien ce que tu veux faire globalement :-k
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Mammouth du PHP | 1967 Messages

07 mars 2006, 00:09

voici mon avis mais ce n'est que mon avis ...
<?php
if (isset($_POST['Submit']))
{header("Location: ok_client.htm");}
?>
<form methode="POST"  action="">
le contenu du formulaire
et le bouton Submit
</form>
voila le formulaire est lancé, et le header fonctionne après pression sur le bouton envoyer
Spols
pour les fan de rubik's cube ou pour les curieux ==> le portail francophone du rubik's cube

Eléphanteau du PHP | 15 Messages

07 mars 2006, 02:56

on dit qu'il ne faut pas mettre de html avant le header, mais pour créer un formulaire on est obligé de mettre du HTML, j'ai un peu de mal à comprendre...
Bonjour
De toute façon la redirection est instantanée, PERSONNE ne pourra lire ce que tu as mis avant ton header :)
Raf
Entre deux solutions, toujours choisir la troisième