Avez-vous déjà eu "Erreur d'appel"

Signaler
Messages postés
9
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
29 mars 2007
-
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009
-
Bonjour
je vous explique mon pb ; d'abord, je débute depuis 2 jours mais je m'accroche.
en fait j'ai fait un formulaire html avec simplement deux cases à cocher, un message que le visiteur peut me laisser et son email.

le formulaire est envoyé en post et traité avec un fichier php (traitement.php)

tout marche presque bien ; je reçois bien les mails en html
avec le message texte du visiteur quand il n'a pas saisi un message qui contient 'Entrée' (retour chariot)
s'il fait cela, alors j'ai un message Erreur d'appel #1.5...etc

exemple :
message du visiteur :
"en tant que visiteur je trouve votre site bien"
===> ça passe et je le reçois bien

message du visiteur :
"en tant que visiteur je trouve votre site bien.

et franchement bravo"
===> ça passe pas et je vois le message d'erreur prévu dans traitement.php et donc je ne reçois pas le mail

auriez-vous une idée ?

d'avance merci
dès que ça marche, je mettrai l'exemple en ligne

damien

5 réponses

Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

essaye en mettant htmlentities('le message du visiteur') avant l'envoi de mail peut etre que cela corrigera le probleme

htmlentities($LeMessage,ENT_QUOTES,"ISO-8859-15")

voici ce que dit le manuel php a propos de htmlentities

******************************

htmlentities
(PHP 3, PHP 4 , PHP 5)

htmlentities -- Convertit tous les caractères éligibles en entités HTML
Description
string htmlentities ( string string [, int quote_style [, string charset]])

htmlentities est identique à la fonction htmlspecialchars(), sauf que tous les caractères qui ont des équivalents en entités HTML sont effectivement traduits. Comme htmlspecialchars(), cette fonction prend un deuxième argument optionnel, qui indique comment doivent être traités les guillemets doubles et simples. Vous pouvez utiliser l'une des constantes suivantes :

Tableau 1. Constantes disponibles pour quote_style

Nom Description
ENT_COMPAT Convertit les guillemets doubles, et ignore les guillemets simples
ENT_QUOTES Convertit les guillemets doubles et les guillemets simples
ENT_NOQUOTES Ignore les guillemets doubles et les guillemets simples

[...] (j'ai coupé le texte original pour ne garde que la partie interessante)

Exemple 1. Exemple avec htmlentities()

<?php
$str = "Un 'apostrophe' en gras";

// Affiche : Un 'apostrophe' en gras
echo htmlentities($str);

// Affiche : Un 'apostrophe' en gras
echo htmlentities($str, ENT_QUOTES);
?>


Voir aussi html_entity_decode(), get_html_translation_table(), htmlspecialchars(), nl2br() et urlencode().

*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)

Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

et aussi met l'attribut de ton champ texte multiligne pour le retour de ligne a PHYSICAL, j'ai fait cela pour ma source d'envoi mail et je n'ai pas rencontré de problemes, voila donc mes solutions ;-)
*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)

Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.
Messages postés
9
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
29 mars 2007

ok super
je vais essayer et je te tiens au courant
merci beaucoup
Messages postés
9
Date d'inscription
samedi 4 septembre 2004
Statut
Membre
Dernière intervention
29 mars 2007

bonjour
alors voila, j'ai essayé
dans le formulaire contact j'ai bien mis physical
et dans le php, j'ai mis htmlentities mais j'ai une erreur

je ne pense pas que cela soit du à cette fonction mais plutot à la syntaxe de if (elle sert à vérifier si le mail est bon sinon elle affiche un message d'erreur); j'ai le message suivant à la validation du formulaire:

Parse error: parse error, unexpected T_IF in .........traitement.php on line 25

voici pour indication traitement php :

et là je coince pour le moment

qu'en pense-tu ?

damien

<?php
$destinataire= "lodam@yahoo.com";

$date = date("d-m-Y");
$heure = date("H:i");

$from = "From:$email\n";
$from .= "MIME-Version: 1.0\n";
$from .= "Content-type: text/html; charset= iso-8859-1\n";

$corps = "<html>";
$corps .= " Vous avez reçu un message. Le voici:

";
$corps . = "$texte

";
$corps .= "Il a été envoyé le :";
$corps .= "$date à $heure

";
$corps .= " par l'email suivant: ";
$corps . = "$email

";
$corps .= "cliquez pour lui repondre

";
$corps .= "";
$corps .= "</html>";

htmlentities($corps,ENT_QUOTES,"ISO-8859-15")

if (mail($destinataire,$sujet,$corps,$from))
echo "<center>

Formulaire envoyé! Merci. Vous allez être redirigé dans 2 secondes</center>\n";
else
echo("<center>

<h2>Nous ne pouvons actuellement traiter votre demande

Merci de réessayer plus tard.");
?>
Messages postés
249
Date d'inscription
mardi 24 octobre 2000
Statut
Membre
Dernière intervention
28 août 2009

L'erreur retournée est due au fait que tu ais oublié le ; au bout du htmlentities

Et l'autre probleme vient du fait que le if n'est pas correct

if(condition){
code:
}

Il faut des crochets pour faire comme tu veux faire

if (mail($destinataire,$sujet,$corps,$from)) {
code1;
} else {
code2;
}

*************
On a parfois de la chance dans son malheur, moi par exemple, je me suis blessé avec une boite de sparadraps (P.Geluck)

Si vous désirez vous ajouter dans mes contacts MSN, veuillez m'envoyer un message via ce site.