Comment revenir à la ligne dans nomsde champs de formulaire

Résolu
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 - Modifié le 7 mars 2024 à 09:37
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 - 8 mars 2024 à 12:58

Bonjour à tous,

J'ai fait un formulaire mais lors de la réception de celui-ci, toutes la lignes sont les unes en dessous de autres.

Pour les essais en local, ça sort au format texte, mais en ligne ça ira dans la boite de réception de l'utilisateur.

To: <xxxxxxxxxxxxxx@laposte.net>
Subject: Nouveau message de contact
Content-Type: text/plain; charset="UTF-8";

Nouveau formulaire de contact
=====================
Nom: XXXXXXXXXXXX
Email: xxxxxxxxxxx@laposte.net
Téléphone: 065xxxxxx
Sujet: Juste pour essai 
Besoin: Demande de dupplicata
Message: dgbfdgbs

Seulement, je voudrais mettre une ligne vide supplémentaire, dans des champs particuliers, mais comment faire, j'ai essayé '\n" mais ça va.

To: <xxxxxxxxxxlaposte.net>
Subject: Nouveau message de contact
Content-Type: text/plain; charset="UTF-8";
(Mettre à la place ce "Content-Type", la date d'envoi comme)
Date d'envoi du formulaire : 06/03/2024 à 14h32

Nouveau formulaire de contact
=====================
Nom: XXXXXXXXXXXX

Email: xxxxxxxxxxxxx@laposte.net
Téléphone: 065xxxxx

Sujet: Juste pour essai 

Besoin: Demande de dupplicata
Message: dgbfdgbs

En plus, je voudrais mettre dans "$header" la date d'envoi et non pas "Content-Type" qui sans grande utilité.

$fields = array('name' => 'Nom', 'email' => 'Email', 'phone' => 'Téléphone', 'subject' => 'Sujet',  'besoin' => 'Besoin', 'message' => 'Message'); 
$headers = array('Content-Type: text/plain; charset="UTF-8";',);

Merci d'avance de votre aide.


Windows / Edge 122.0.0.0


A voir également:

17 réponses

yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 Ambassadeur 1 557
6 mars 2024 à 12:18

bonjour, je pense que tu dois adapter ton code php.

0

Ça je sais le faire!

0
yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
6 mars 2024 à 12:36

Tu ne peux pas totalement préparer le message en l'affichant dans un navigateur.

Par exemple, le header du message n'est pas destiné à être affiché, il contient des informations techniques à propos du message.

1
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5 > yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024
6 mars 2024 à 18:45

Comme je teste en local avec Laragon, c'est comme si c'était en ligne, non ?

1
yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557 > jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024
6 mars 2024 à 20:03

En effet.  Cepandant, tu ne peux pas comparer ce que la page affiche dans un navigateur et ce qu'elle va envoyer dans un message.

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
6 mars 2024 à 21:31

De quelle comparaison veux-tu parler?

Tu voudrais dire que si je n'ai pas d'erreurs en local, il y a de fortes chances d'en avoir en ligne?

Si tel est le cas, cela viendrait de l'hébergeur parce que chez Free, pas moyen de modifier le cmode.

Il faut accéder à l'espace mais comme j'ai perdu le pwd, j'ai demandé à Free qui doit me l'envoyer par la poste, alors que le téléphone ou le SMS serait tout aussi bien, et beaucoup plus rapide.


0
yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
7 mars 2024 à 07:35

Tu prépares ton texte destiné à être affiché dans la boite de réception de l'utilisateur en l'affichant au format texte.

Cela ne fonctionne pas ainsi, les deux méthodes étant très différentes.  C'est vrai pour le passage à la ligne, ainsi que pour d'autres éléments, comme le header, qui n'a de sens que dans l'envoi de messages.

0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2024 à 01:03

Bonjour,

Pour commencer, les retours à la ligne dépendent du logiciel qui "ouvre" le fichier texte.

Si le  \n  ne suffit pas,  tu peux essayer en \r\n

Par contre, pour l'envoi du mail, je te conseille de passer par le format html. Ainsi tu pourras faire la mise en page que tu souhaites assez facilement.

NB: Tu sembles indiquer que tu héberges ton site sur free ...  hors, free limite fortement l'envoi de mails.

Pour contourner le souci, je t'invite à regarder des services tel que mailjet ou sendinblue.

Tu peux aussi essayer de passer par phpmailer en utilisant, par exemple, ta boite gmail pour l'envoi des mails.


0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
7 mars 2024 à 05:23

Bonjour Jordane45,

Ton idée est bonne et je n'avais pas pensé à ça sur le coup.

Concernant Free, je sais que certains mail fonctionnent mieux que d'autres chez eux.

J'ai pris celui-ci comme modèle car dans mon espace "qi98", il fonctionne assez bien.

C'est sûr que le résultat est compact, mais pour moi, ça n'a pas d'importance.

Par contre, pour l'association dont j'ai fait le site, d'abord, je fais mes essais en local, et ensuite en ligne chez Free.

Mais tu penses bien que je ne vais pas le laisser là, je recherche un hébergeur "pas trop cher", et il n'est chez Free pour avoir l'approbation de l'association DSD.

Concernant le mail chez "qi98", il est fait en .html mais est enregistré comme .php.

Où c'est plus compliqué pour moi, c'est au niveau du contrôle d'envoi, qui lui est en pur .php.

Il y a pas mal de choses oubliées, comme les "Array" et les variables "&xxxx"

Autres choses, tu me cites "mailjet" et bien d'autres encore, mais je n'ai jamais eu l'occasion de m'en servir. Par contre " phpmailer" est sans doute très bien, mais avec Free, ça ne va pas du tout.

Merci de tes renseignements et bonne journée.


0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
7 mars 2024 à 07:57

Oui, je crois comprendre, mais qu'est ce que tu entends par format texte puisque tu me dis que ça ne fonctionne pas comme ça?

Les écarts entre certaines lignes lors de la réception, ce serait quand même plus fluide.

Ça fait comme si uns secrétaire tapait du texte au km... après seulement, c'est mis en place !

En fait, je ne comprends pas très bien où tu veux en venir!


0
yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
7 mars 2024 à 08:03

Attends de pouvoir envoyer des messages avant de fignoler comment cela va s'afficher.

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
7 mars 2024 à 08:22

J'ai testé en local et la réception se fait bien, en local tout au moins.

Comme je l'ai dit, j'ai repris ce modèle sur mon site "qi98", et comme tout va bien là, je ne vois pas pourquoi il en serait autrement ailleurs?


0
yg_be Messages postés 23402 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 décembre 2024 1 557
7 mars 2024 à 09:33

Tu as envoyé un message en local?  Et tu le reçois dans ta boîte à messages?

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
7 mars 2024 à 09:40

Eh oui! Je savais bien qu'il y aurait eu des problèmes avec le contact.

Voilà ce qui est retourner :

--------------------------------------------------------
Parse error: syntax error, unexpected '{' in /mnt/113/sdb/d/2/jlb59/pages/contact/contact-ctrl.php on line 31
-----------------------------------------

Alors où je n'y comprend plus rien, c'est que c'est les mêmes codes que le contact de qi989, qui lui, fonctionne très bien!

Alors, en local, tout est bien, du coup je l'ai mis en ligne et patatrac, ça déconne !


0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2024 à 10:11

sans voir le code... impossible de te dire quelle est l'erreur 

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
7 mars 2024 à 10:29

Tu as raison mais je suis en ville.

Je t'enverrai ça vers midi, comme tu auras le temps de voir, et parallèlement, je t'enverrai la partie de l'erreur dans le code de qi98.

A tout à l'heure.


0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
Modifié le 7 mars 2024 à 12:19

Voilà les 2 code (jlb59 et qi98), ils sont pratiquement similaires.

je t'envoie une partie des codes, à toi de me dire si tu les veux en totalité!

JLB59 :
C'est la ligne sous le "try
{
" qui provoque l'"erreur.

/*
 *  EN ENVOIE!
 */

error_reporting(E_ALL & ~E_NOTICE);

try
{
    if(count($_POST) == 0) throw new Exception('Le formulaire est vide');
            
    $emailText = "Nouveau formulaire de contact\r\n=====================\r\n";

    foreach ($_POST as $key => $value) {
        // Si le champ existe dans le tableau $ fields, incluez-le dans l'e-mail 
        if (isset($fields[$key])) {
            $emailText .= "$fields[$key]: $value\n";
        }
    }

    // Tous les en-têtes nécessaires pour l'e-mail.
	$headers = array('Date d\'envoi :', date('d/m/Y H:i'));

    // Envoie email
    mail($sendTo, $subject, $emailText, implode("\r\n", $headers));

    $responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch (Exception $e)
{
    $responseArray = array('type' => 'danger', 'message' => $errorMessage);
}

Le même code pour QI98 :

/*
 *  EN ENVOIE!
 */

error_reporting(E_ALL & ~E_NOTICE);

try
{
    if(count($_POST) == 0) throw new Exception('Le formulaire est vide');
            
    $emailText = "Vous avez un nouveau message de votre formulaire de contact\n=============================\n";

    foreach ($_POST as $key => $value) {
        // Si le champ existe dans le tableau $ fields, incluez-le dans l'e-mail 
        if (isset($fields[$key])) {
            $emailText .= "$fields[$key]: $value\n";
        }
    }

    // Tous les en-têtes nécessaires pour l'e-mail.
    $headers = array('Content-Type: text/plain; charset="UTF-8";',);

    // Envoie email
    mail($sendTo, $subject, $emailText, implode("\n", $headers));

    $responseArray = array('type' => 'success', 'message' => $okMessage);
}
catch (Exception $e)
{
    $responseArray = array('type' => 'danger', 'message' => $errorMessage);
}

Personnellement, je pense que ça vient de l'hébergeur.

Comme c'est 2 espaces différents, ils ne sont pas exactement les mêmes.


0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2024 à 12:57

quelle version de PHP est actuellement utilisé sur ton site ?

chez free, c'est une vielle version...  il faut la monter de version.

tu trouveras sans mal des tutos qui expliquent comment faire sur Internet

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
7 mars 2024 à 14:36

Aux dernières, c'est la version 8 

J'ai vu ça car j'ai un petit html+php qui permet de voir la version actuelle.

Moi, pareil, j'ai vu ça récemment.

Au tout début, j'avais mis php5 dans .htaccess, mais j' au modifié il y a 2 ou 3 mois 

De toute manière, c'est la même version pour mes 2 sites, alors, je me demande pourquoi l'un va bien et pas l'autre?

Parce qu'en plus, c'est le même code!


0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2024 à 17:15

J'aimerai bien que tu nous mettes un imprime écran du phpinfo pour vérifier ....

Quoi qu'il en soit .. ce n'est pas la ligne après le "try" qui pose problème.. mais la ligne du "try".

Assures toi de ne pas avoir copié/collé un caractère invisible  en supprimant le retour à la ligne et tout espace se trouvant entre le mot "try" et son accolade ouvrante.

Assure toi également que ton fichier est correctement encodé en utf8 ( voir chapitre 1 de ce lien :   https://forums.commentcamarche.net/forum/affich-37584944-php-html-caracteres-accentues-et-l-utf8 )

NB: je parle bien de l'encodage du fichier lui même.. pas de ce que tu as "déclaré" dans ton code !

PS: Ton message d'erreur parle de la ligne 31 ... hors là .. c'est à la ligne 7 .. il serait bien de montrer  l'entièreté du fichier.


0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
Modifié le 7 mars 2024 à 18:32

Oui, chez CCM, c'est le numéro automatique de la capture mais si j'avais envoyé la totalité du code, tu verrais sans doute la ligne 31.

Un grand merci pour ces liens qui me seront très utiles.

Pour les version, mea-culpa, j'ai confondu avec le local !

Je vois aussi que chez JLB59 et QI98 le build  est de 2007, et en local de 2022.

Version en local
Version pour QI98
Version pour JLB59

0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
7 mars 2024 à 19:26

Donc il faut bien que tu montes ta version de PHP sur tes autres sites.

TRY/CATCH est apparu vers la php 5

Et de toutes façons, php 5 est carrément obsolète... il faudrait, si tu peux, monter au minimum à la version 7

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
8 mars 2024 à 07:13

Bonjour Jordane45,

Comme tu as vu les captures d'écran, chez Free c'est la version 4 et 5, donc, totalement obsolète comme tu dis.

De toute manière, je n'ai plus rien à vendre. En 1999, c'était cool, mais comme c'est largement dépassé, je vais en rester là et faire la passe car je préfère baisser les bras.

Merci pour toutes tes infos.

Bonne journée.


0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
8 mars 2024 à 10:08

change la version... c'est facile

au moins en php 5.6

http://ti1.free.fr/index.php/free-et-les-versions-de-php/

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
Modifié le 8 mars 2024 à 10:35

Ton idée est bonne, mais pour moi, c'est compliqué à comprendre.

C'est un peu comme-ci sur une carte grise c'était enregistré comme Maserati alors qu'en réalité, c'est une 205???

Et bien pour .htaccess (carte grise) et le disque du de Free (205), pour moi, ça y ressemble; difficile de comprendre ce genre de raisonnement.

Ce fameux .htaccess, je l'ai fait au plus simple parce que pour l'instant, y a grand chose de compliqué... sauf le contact qui ne se fait pas

Au passage, comme j'avais des problèmes sur JLB59, j'ai tout mis dans un répertoire temporaire de QI98, et ai lancé le programme; le contact se passe bien.

php56 1

DirectoryIndex index.php
# PHP Memory Limit
php_value memory_limit 128M
# Définir le codage de caractères pour certains fichiers 
AddDefaultCharset utf-8 .css .htm .html .xhtml .php 

0
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
8 mars 2024 à 12:19

Avec le .htaccess que j'avais mis, pourtant ça vient d'un forum connu, j'avais simplement rajouté la 1ère ligne, j'avais l'erreur 500 lorsque je voulais accéder au site.
J'ai donc retiré tout ce qui était sous "php56 1" et maintenant, c'est cool, même le contact se fait bien;

Un big merci Jordane45, ton aide et ta perspicacité ont résolu mes problèmes, qui me mettaient en tête de baisses les bras en parlant de mes problèmes.

Donc tout est résolu. Y a moyen de le faire savoir parce que j'ai pas fait gaffe?

Bonne journée.


0
jordane45 Messages postés 38346 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 16 décembre 2024 4 717
8 mars 2024 à 12:37

super

j'ai mis le sujet en résolu 

1
jlb59 Messages postés 343 Date d'inscription mercredi 25 août 2004 Statut Membre Dernière intervention 8 mars 2024 5
8 mars 2024 à 12:58

Merci beaucoup.


0