Encore un problmème de header
Résolu/Fermé
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
-
15 juin 2010 à 12:04
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 15 juin 2010 à 18:19
t671 Messages postés 1419 Date d'inscription lundi 25 février 2008 Statut Membre Dernière intervention 26 février 2024 - 15 juin 2010 à 18:19
A voir également:
- Encore un problmème de header
- Header location php - Astuces et Solutions
- Request header or cookie too large ✓ - Forum Réseaux sociaux
- Php header post ✓ - Forum PHP
- Cannot modify header information - headers already sent by ✓ - Forum PHP
- This report relates to a message you sent with the following header fields - Forum Réseaux sociaux
8 réponses
lezao
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
36
15 juin 2010 à 12:52
15 juin 2010 à 12:52
il n'y a t'il pas un message d'erreur HEADER can't send data , un truc comme ça ?
lezao
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
36
Modifié par lezao le 15/06/2010 à 12:55
Modifié par lezao le 15/06/2010 à 12:55
pourquoi n' y arrivez vous pas par variable de session , mettez vous bien le session_start() ?
lezao : quand tu sais pas , tu me demandes je sais tout....non je déconne...presque tout.
lezao : quand tu sais pas , tu me demandes je sais tout....non je déconne...presque tout.
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
15 juin 2010 à 14:29
15 juin 2010 à 14:29
Je n'ai pas de message d'erreur ! Le script va jusqu'au bout, et un enregistrement à vide est créé dans la base. J'ai l'impression que je perds mes variables ....
Voici mon script de saisie :
Puis le code "verifier.php" :
Puis celui de mise à jour de la base (add.php) :
Et ça fonctionne pô ..... :((
J'ai un résultat à peu près identique en utilisant des Sessions .... C'est à dire qu'un enregistrement à blanc est créé, et j'ai perdu mes données ....
Voici mon script de saisie :
<?php $cryptinstall="../livredor/crypt/cryptographp.fct.php"; include $cryptinstall; if(isset($_POST['message_erreur'])) echo $_POST['message_erreur']; ?> <div class="liste"> <?php echo '<form method="post" action="index_FR.php?page=verifier" value="envoyer" name="soumettre">'; echo "<input type=hidden name=\"id\" value=\"$id\">"; echo '<p><u><b>Votre Nom :</b></u><INPUT type=text name="nom" cols="65" SIZE="50"><br>'; echo '<u><b>Votre adresse mail :</b></u><INPUT type=text name="mail" SIZE="50"><p><center>'; echo '<u><b>Votre commentaire :</b></u><br><textarea cols="65" name="message" id="message" rows="8" wrap="VIRTUAL" accesskey="c" onselect="storeCaret(this);" onclick="storeCaret(this);" onkeyup="storeCaret(this);" onchange="storeCaret(this);" >'.$message.'</textarea><br>'; ?> <input type="reset" value="Effacer"></div> <div class="code"> <table width="587"> <tr><td height="10" align=center width="581"><?php dsp_crypt(0,1); echo'<font size="1">Vous pouvez réinitialiser le code si illisible</font>'; ?></td></tr> <tr><td height="25"></td></tr> <tr><td width="581">Recopier le code pour validation :<input type="text" name="code"><input type="submit" name="submit" value="Envoyer"></td></tr> </table> </div>
Puis le code "verifier.php" :
<?php $nom = $_POST['nom']; $mail = $_POST['mail']; $message = $_POST['message']; $cryptinstall="../livredor/crypt/cryptographp.fct.php"; include $cryptinstall; if (chk_crypt($_POST['code'])) { $nom=$_POST['nom']; $mail=$_POST['mail']; $message=$_POST['message']; header("Location: index_FR.php?page=add&nom=$nom&mail=$mail&message=$message"); } else { $_POST['message_erreur']="Attention ! Soit un champs est vide, soit le code de vérification n'est pas correct !"; } ?>
Puis celui de mise à jour de la base (add.php) :
<?php $nom = $_POST['nom']; $mail = $_POST['mail']; $message = $_POST['message']; $host = 'localhost'; $user = ''; $pass = ''; $db = '..........'; $link = mysql_connect ($host,$user,$pass) or die ('Erreur : '.mysql_error() ); mysql_select_db($db) or die ('Erreur :'.mysql_error()); // On vérifie si les champs sont vides if(empty($nom) OR empty($mail) OR empty($message)) { $_POST['message_erreur']="Attention ! Soit un champs est vide, soit le code de vérification n'est pas correct !"; } else //enregistrement dans la table $jour=date("d"); $mois=date("m"); $annee=date("Y"); $date = "$jour/$mois/$annee"; // on écrit la requête sql $sql = "INSERT INTO livredor (nom, date, mail, message) VALUES('$nom', '$date', '$mail', '$message')"; // on insère les informations du formulaire dans la table mysql_query($sql) or die('Erreur SQL !'.$sql.mysql_error());
Et ça fonctionne pô ..... :((
J'ai un résultat à peu près identique en utilisant des Sessions .... C'est à dire qu'un enregistrement à blanc est créé, et j'ai perdu mes données ....
avion-f16
Messages postés
19246
Date d'inscription
dimanche 17 février 2008
Statut
Contributeur
Dernière intervention
21 avril 2024
4 498
15 juin 2010 à 14:51
15 juin 2010 à 14:51
La fonction session_start() modifie les entêtes HTTP.
Pour pouvoir les modifier, elles ne peuvent pas être envoyées au client (navigateur).
Et elles sont envoyées avant le premier caractère (ou à la fin de l'exécution du script s'il n'y a pas de caractères sortants).
Donc tu dois faire appelles à ces fonctions avant de faire un echo, et il ne doit pas y avoir de caractère (les espaces blancs sont aussi des caractères) en-dehors de « <?php ... ?> ».
Pour pouvoir les modifier, elles ne peuvent pas être envoyées au client (navigateur).
Et elles sont envoyées avant le premier caractère (ou à la fin de l'exécution du script s'il n'y a pas de caractères sortants).
Donc tu dois faire appelles à ces fonctions avant de faire un echo, et il ne doit pas y avoir de caractère (les espaces blancs sont aussi des caractères) en-dehors de « <?php ... ?> ».
<?php session_start() ; ?><!DOCTYPE html PUBLIC "..." "..."> <html xmlns="..." xml:lang="fr" lang="fr"> ... <?php $_SESSION['var'] = 'val'; ?> ... </body> </html>
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
lezao
Messages postés
469
Date d'inscription
dimanche 13 juin 2010
Statut
Membre
Dernière intervention
14 août 2016
36
15 juin 2010 à 15:11
15 juin 2010 à 15:11
faites un simple echo $_POST['nom'];
afin de verifier que la variable arrive bien.
afin de verifier que la variable arrive bien.
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
15 juin 2010 à 15:18
15 juin 2010 à 15:18
Les variables arrivent bien à "verifier.php", mais pas à "add.php".
Donc je les perds au milieu, et je pensais que c'était le header de add.php .....
Pour avion-f16 => je vais déjà tenter de résoudre le problème du passage des variables ci-dessus, après je retenterais en utilisant les sessions .... :)
Donc je les perds au milieu, et je pensais que c'était le header de add.php .....
Pour avion-f16 => je vais déjà tenter de résoudre le problème du passage des variables ci-dessus, après je retenterais en utilisant les sessions .... :)
Leviathan49
Messages postés
257
Date d'inscription
jeudi 10 juin 2010
Statut
Membre
Dernière intervention
22 juillet 2011
70
15 juin 2010 à 17:48
15 juin 2010 à 17:48
Les variables que tu veux récupérer dans add n'arrivent pas dans la variable globale $_POST, quand tu les passe dans l'url, elles arrivent dans $_GET.
Ca donne donc dans add.php:
Ca donne donc dans add.php:
$nom = $_GET['nom']; $mail = $_GET['mail']; $message = $_GET['message'];
t671
Messages postés
1419
Date d'inscription
lundi 25 février 2008
Statut
Membre
Dernière intervention
26 février 2024
11
15 juin 2010 à 18:19
15 juin 2010 à 18:19
Merciiiiiiiiiii Leviathan49 ..............
Ca fonctionne !!!!! :o))
Ca fonctionne !!!!! :o))