Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

ENVOYER UN HEADER TRANSPORTANT DES VARIABLES À L'AIDE DE COMBINAISON JAVASCRIPT/PHP + DES ASTUCES.


Information sur la source

Catégorie :Astuces Niveau : Débutant Date de création : 08/10/2003 Vu : 4 080

Note :
5 / 10 - par 1 personne
5,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (5)
Ajouter un commentaire et/ou une note

Description

J'ai trouvé un script sur le net (différement), d'ou l'idée me vient de le modifier pour mes besoins(dépasser le message génant: headers already sent...)quand on ai obligé de rédiger le header au milieu de la page PHP,

 

Conclusion

Voilà la solution:


EXEMPLE:
Supposant quand a créé une page formulaire.htm avec des champs nom email titre et message et pour simplifier on a créé une page de vérification nommée verify.php

la page verify.php
<?

//Au suivant la varible $head (vous pouvez changer le nom de la variable  ,biensur le meme
//doit etre recopier au milieu du script javascript. Vous pouvez également changer le nom de la //page ou les informations seront affichées pour que les visiteurs puissent voir ce qu'ils ont //écrit el laissé comme messages.

$head=header("location:informations.php?w=$nom&x=$email&y=$titre&z=$message");

//Les différentes étapes pour vérifier le formulaire (champs vides , validité d'e-mail...)

//Surement mysql_query ("INSERT INTO `nomdelatable` VALUES ('','$nom', '$email','$titre','$message' )"); // Le premier vide est réservé à l'ID qui éxiste surement dans la base de données.

//Au suivant le script JavaScript permettant de dépasser le problème .Si vous avez changeé le nom //de la variable  $head au début le meme changement doit s'effectuer dans le script.

?><HEAD>
<SCRIPT language="JavaScript">
<!--
location.replace("<? echo $head; ?>");
//-->
</SCRIPT>
<?

//Des fins probables comme mysql_close();
?>


Peut etre vous dites pourquoi ne pas afficher les informations envoyées par le visiteur dans la meme page?
Pour moi c'était pour éviter les problèmes d'affichage (des slashes avant les apostrophes) car si vous faites dans cette page des expressions tel ...stripslashes.. les informations s'afficherons correctemnt dans la page mais risquent de ne pas etre recuilli correctemnt dans la base de données .

Pour surmenter ce  problème:

la page informations.php

<?
//POUR SUPPRIMER LES SLASHES AVANT LES APOSTROPHES.

//POUR LE NOM
$nom=StripSlashes($w);
$w=Stripslashes($nom);

//POUR LE MAIL
$email=Stripslashes($x);
$x=Stripslashes($mail);

//POUR LE TITRE
$titre=Stripslashes($y);
$y=Stripslashes($titre);

//POUR LE MESSAGE
$message=Stripslashes($z);
$z=Stripslashes($message);

echo "Merci <b>$w</b> pour votre participation .(ou n'importe expression) Vous avez laissé:<br>E-mail:<b>$x</b><br>Objet:<b>$y</b><br>Votre message:<br><b><font face=verdana color=blue  size=2>$z</font></b>";

//ça n'est pas nécessaire d'écrire à chaque ligne echo""; Vous avez aussi le choix de la police //de la couleur ainsi que de sa taille sans mettre ni "" ni '' au milieu et ça marche avec moi //parfaitement avec le trio PHP4-APACHE-MYSQL sous windows XP.


//Autre avantage, seulement les slashes avant les apostrophes qui ne s'afficheront pas mais des //typiques comme http://www... s'afficheront normalement.
?>

Problème ou remarque ?
Réception puis réponse avec plaisir:  sidoummoudz@yahoo.fr

Bonne chance les débutants comme moi, hasta la proxima...

 

Commentaires et avis

signaler à un administrateur
Commentaire de apz le 13/05/2004 17:41:40

j'ai un probleme dans le meme sens :

par exemple quand je verifie mes champs et qu'il y'a une erreur je fais history.back() ou history.go(-1) pour revenir a mon formulaire avec conservation des entrees des champs deja faites.

mais voila la page est toutes blanche avec un avertissement :

Avertissement : expiration du délai pour cette page  

ou les champs du formuliare sont tous vides !!!

que se passe-t-il donc ?

Merci.

signaler à un administrateur
Commentaire de apz le 13/05/2004 17:51:00

j'ai un probleme dans le meme sens :

par exemple quand je verifie mes champs et qu'il y'a une erreur je fais history.back() ou history.go(-1) pour revenir a mon formulaire avec conservation des entrees des champs deja faites.

mais voila la page est toutes blanche avec un avertissement :

Avertissement : expiration du délai pour cette page  

ou les champs du formuliare sont tous vides !!!

que se passe-t-il donc ?

Merci.

signaler à un administrateur
Commentaire de apz le 13/05/2004 18:01:10

j'ai un probleme dans le meme sens :

par exemple quand je verifie mes champs et qu'il y'a une erreur je fais history.back() ou history.go(-1) pour revenir a mon formulaire avec conservation des entrees des champs deja faites.

mais voila la page est toutes blanche avec un avertissement :

Avertissement : expiration du délai pour cette page  

ou les champs du formuliare sont tous vides !!!

que se passe-t-il donc ?

Merci.

signaler à un administrateur
Commentaire de apz le 13/05/2004 18:11:38

je m'exuses pour le triple post :)

il faut effacer les surplus, merci admin

signaler à un administrateur
Commentaire de frdtech le 11/10/2005 16:41:52

Ton astuce semble très interressante, mais c'est tellement confus ...
Tes commentaires sont très mal formulés, mal présentés et en plus c'est bourré de fautes (disons de frappe)...
C'est dommage.

Si j'ai bien compris, tu essayes de faire passer ton entête de PHP à Javascript pour l'enregistrer,
Tu ecris :
$head=header("location:informations.php...
Hors le prototype PHP de header est:
void header ( string string [, bool replace [, int http_response_code]])
Que vaut donc $head ?

Je ne vais pas plus loin pour le moment et ne note pas.

Ajouter un commentaire



Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,250 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.