Comment revenir à la ligne dans nomsde champs de formulaire
Résolujlb59 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
- Comment revenir à la ligne dans nomsde champs de formulaire
- Revenir à la ligne dans une cellule excel mac - Guide
- Partage de photos en ligne - Guide
- Site de vente en ligne particulier - Guide
- Formulaire de réclamation facebook - Guide
- Revenir à windows 10 - Guide
17 réponses
6 mars 2024 à 12:18
bonjour, je pense que tu dois adapter ton code php.
Ça je sais le faire!
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.
6 mars 2024 à 18:45
Comme je teste en local avec Laragon, c'est comme si c'était en ligne, non ?
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.
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.
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.
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question7 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.
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!
7 mars 2024 à 08:03
Attends de pouvoir envoyer des messages avant de fignoler comment cela va s'afficher.
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?
7 mars 2024 à 09:33
Tu as envoyé un message en local? Et tu le reçois dans ta boîte à messages?
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 !
7 mars 2024 à 10:11
sans voir le code... impossible de te dire quelle est l'erreur
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.
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.
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
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!
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.
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.
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
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.
8 mars 2024 à 10:08
change la version... c'est facile
au moins en php 5.6
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
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.
8 mars 2024 à 12:37
super
j'ai mis le sujet en résolu
8 mars 2024 à 12:58
Merci beaucoup.