Faormulaires et date/heure locales [Résolu]

Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Dernière intervention
22 décembre 2014
- - Dernière réponse : jytest
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Dernière intervention
22 décembre 2014
- 26 juil. 2010 à 14:05
Bonjour à tous.

Je veux faire un code relatif aux formulaires.
J'y demande le système date et heure locale, par date_default_timezone_set("Europ/Brussels), car mon serveur se trouve au Danemark (one.com)
Le message reçu est vide, car apparemment, il y a un problème dans la date... Cela ne m'affiche que Dimanche, et de plus nous sommes lundi...
Je suis bloqué" sur ce code depuis hier et rien n'y fait.
Pouvez-vous me consacrer un peu de votre temps pour m'aider à solutionner cette(ces) erreur(s) ?
D'avance, je vous en remercie.
A bientôt.

<?php
date_default_timezone_set('Europe/Brussels');
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier",utf8_encode("Février"),"Mars","Avril","Mai","Juin","Juillet",utf8_encode("Août"),"Septembre","Octobre","Novembre",utf8_encode("Décembre"));

$temps = time();
$datefr = $jour[date("w",temps)]." ".date("d",temps)." ".$mois[date("n",temps)]." ".date("Y",temps);
$heurefr = date("H:i:s",temps);

switch($concerne) {
case 'CRE':
$concerne = utf8_encode('CREATION');
break;
case 'IMP':
$concerne = utf8_encode('IMPRESSION');
break;
case 'WEB':
$concerne = utf8_encode('WEB DESIGN');
break;
default:
$concerne = utf8_encode('Ordre général');
}
$societe = ucwords(strtolower($societe));
$nom = strtoupper(strtolower($nom));
$localite = strtoupper(strtolower($localite));
$prenom = ucwords(strtolower($prenom));

$destinataire = "info@trucmuche.com";
$objet = "Demande de Renseignements www.trucmuche.com";

$msg = "\n";
$msg .= "=====================\n";
$msg .= "Message provenant d'un $RadioGroup1\n";
$msg .= "\n";
$msg .= "Entreprise : $societe\n";
$msg .= ">>> Contact : $nom $prenom\n";
$msg .= "$adresse\n";
$msg .= "$pays - $codepostal $localite\n";
$msg .= utf8_encode("Tél : ")."$tel\n";
$msg .= "Email : $email\n";
$msg .= "\n\n";
$msg .= "Concerne : $concerne\n";
$msg .= "\n";
$msg .= "Message :\n";
$msg .= "$message\n";
$msg .= "\n";
$msg .= "============================\n";
$msg .= "\n";

$entete = "From: trucmuche <> \n";
$entete .= "Reply-To: $destinataire \n\n";
$entete .= "Content-Type: text/plain; charset=\'UTF-8\' \n";
$entete .= "Content-Disposition: inline \n";
$entete .= "Content-Transfer-Encoding: 7bit \n";
$entete .= "MIME-Version: 1.0 \n";
$entete .= "Date: $datefr $heurefr \n";

mail(utf8_decode($destinataire),utf8_decode($objet), utf8_decode($msg), utf8_decode($entete));

Header("Location: ../formulaire01.html");
?>



jyd
Afficher la suite 

Votre réponse

3 réponses

Meilleure réponse
Messages postés
57
Date d'inscription
mardi 5 mars 2002
Dernière intervention
12 août 2010
3
Merci
Bonjour,

A priori pas de souci de codage sauf peut être, en ce qui concerne tes variables. JE suppose que les variables $concerne, $societe, $nom .... viennent d'un formulaire qui a été été poster par formulaire01.html.

Possibilité 1, le mail contient le texte du msg mais les variables sont vides:

Tel que tu les utilises cela signifie que ton PHP possède l'option REGISTER_GLOBAL=ON (option du PHP.INI) si toutefois cette option a été basculée à ON (ce qui est généralement le cas, pour du PHP 5 alors que sur PHP 4 souvent à ON. Solution utilisation de $_POST (pour formulaire en METHOD=POST) ou $_GET(pour formulaire en METHOD=GET) ou $_REQUEST (pour les deux méthodes).

Possibilité 2: La messagerie n'arrive pas à lire le mail, les logiciel de messagerie ne s'autorise par toujours tous les type de caractères. Le plus simple est de vérifier dans le logiciel de messagerie la source du message si cela est possible et bien voir que les infos sont incluse mais pas lu par le client SMTP. Dans ce cas, il faut voir $entete pour faire les réglages adéquat comme

$entete .= "Content-Type: text/plain; charset=\'UTF-8\' \n";  
$entete .= "Content-Transfer-Encoding: 7bit \n";


Utiliser des Caractères codés sur 8 Bits (UTF-8) avec un transfert 7 bits

A titre de test on peut essayer avec des entetes à blanc et voir le résultat.

Bon courage
______oOOO________OOOo________

RaftY, du code C commode!

Merci RaftY 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 97 internautes ce mois-ci

Commenter la réponse de RaftY
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Dernière intervention
22 décembre 2014
0
Merci
J'avance.
Mon problème de date est résolu...
MAIS j'ai encore un message vide en retour.
Pourquoi? A l'aide, svp.
Bonjour à tous.
PS: le pire, c'est qu'avant cela fonctionnait, mais plus maintenant !!!

<?php
date_default_timezone_set('Europe/Brussels');
$jour = array("Dimanche","Lundi","Mardi","Mercredi","Jeudi","Vendredi","Samedi");
$mois = array("","Janvier",utf8_encode("Février"),"Mars","Avril","Mai","Juin","Juillet",utf8_encode("Août"),"Septembre","Octobre","Novembre",utf8_encode("Décembre"));

$temps = time();
$datefr = $jour[date("w",temps)]." ".date("d",temps)." ".$mois[date("n",temps)]." ".date("Y",temps);
$heurefr = date("H:i:s",temps);

switch($concerne) {
case 'CRE':
$concerne = utf8_encode('CREATION');
break;
case 'IMP':
$concerne = utf8_encode('IMPRESSION');
break;
case 'WEB':
$concerne = utf8_encode('WEB DESIGN');
break;
default:
$concerne = utf8_encode('Ordre général');
}
$societe = ucwords(strtolower($societe));
$nom = strtoupper(strtolower($nom));
$localite = strtoupper(strtolower($localite));
$prenom = ucwords(strtolower($prenom));

$destinataire = "info@trucmuche.com";
$objet = "Demande de Renseignements http://www.trucmuche.com";

$msg = "\n";
$msg .= "=====================\n";
$msg .= "Message provenant d'un $RadioGroup1\n";
$msg .= "\n";
$msg .= "Entreprise : $societe\n";
$msg .= ">>> Contact : $nom $prenom\n";
$msg .= "$adresse\n";
$msg .= "$pays - $codepostal $localite\n";
$msg .= utf8_encode("Tél : ")."$tel\n";
$msg .= "Email : $email\n";
$msg .= "\n\n";
$msg .= "Concerne : $concerne\n";
$msg .= "\n";
$msg .= "Message :\n";
$msg .= "$message\n";
$msg .= "\n";
$msg .= "============================\n";
$msg .= "\n";

$entete = "From: trucmuche <> \n";
$entete .= "Reply-To: $destinataire \n\n";
$entete .= "Content-Type: text/plain; charset=\'UTF-8\' \n";
$entete .= "Content-Disposition: inline \n";
$entete .= "Content-Transfer-Encoding: 7bit \n";
$entete .= "MIME-Version: 1.0 \n";
$entete .= "Date: $datefr $heurefr \n";

mail(utf8_decode($destinataire),utf8_decode($objet), utf8_decode($msg), utf8_decode($entete));

Header("Location: ../formulaire01.html");
?>

jyd
Commenter la réponse de jytest
Messages postés
315
Date d'inscription
dimanche 27 novembre 2005
Dernière intervention
22 décembre 2014
0
Merci
tu ass raison, il y a eu un changement chez one.com...

Pour solutionner cela, je fais
$nom = $_POST['nom']
etc.

Cela marche.
Merci à toi

jyd
Commenter la réponse de jytest

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.