[RESOLU] Formulaire fonctionne en PHP 5.2 et pas en 5.3

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Formulaire fonctionne en PHP 5.2 et pas en 5.3

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par moogli » 29 août 2013, 16:33

Modération :
Puisque ta question est résolue, je l'indique en cliquant sur le bouton "Mettre le sujet en tant que Résolu" pour que les futures personnes qui voudront consulter ce sujet sachent qu'il contient une solution.

Tu peux réaliser cette opération toi-même en cliquant sur le bouton vert situé en haut de la page à côté du titre, si tu as posté le 1er message en tant que membre (inscrit et identifié).

Alors... inscris-toi !!! ;)

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par xTG » 29 août 2013, 13:01

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Invité » 29 août 2013, 12:40

Bonjour et merci,

C'est tout bon j'ai ajouté une ligne :
$mail=$_POST['mail'];

Sinon, comment activer l'affichage des erreurs et le niveau de rapport à E_ALL ?

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par moogli » 28 août 2013, 18:22

comme le reste la variable $mail n'existe pas...

Active l'affichage des erreurs et le niveau de rapport à E_ALL sinon tu ne va pas t'en sortir.

@+

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 28 août 2013, 17:49

Bon ça marche presque, caractères accentués et tout et tout (juste le from et reply (si quelqu'un sait pourquoi ... merci encore) :

$_POST['message'] = htmlentities($_POST['message'], ENT_QUOTES,'UTF-8');
$_POST['mess'] = htmlentities($_POST['mess'], ENT_QUOTES,'UTF-8');
$_POST['nom'] = htmlentities($_POST['nom'], ENT_QUOTES,'UTF-8');
$_POST['prenom'] = htmlentities($_POST['prenom'], ENT_QUOTES,'UTF-8');

$_POST['message'] ="";
$_POST['message'] ="\n";
$_POST['message'] = $_POST['message']."Fiche contact site Web\n";
$_POST['message'] = $_POST['message']."--------------------------------------- \n";
$_POST['message'] = $_POST['message']."Nom :\t".$_POST['nom']."\n";
$_POST['message'] = $_POST['message']." \n";
$_POST['message'] = $_POST['message']."Prenom :\t".$_POST['prenom']."\n";
$_POST['message'] = $_POST['message']." \n";
$_POST['message'] = $_POST['message']."E-Mail :\t".$_POST['mail']."\n";
$_POST['message'] = $_POST['message']." \n";
$_POST['message'] = $_POST['message']."Message :\t\t".$_POST['mess']."\n";
$_POST['message'] = $_POST['message']." \n";
$_POST['message'] = $_POST['message']."--------------------------------------- \n";
mail ( "[email protected]","Fiche Contact Site : ".$_POST['prenom']." ".$_POST['nom'],$_POST['message'],"From:$mail\nReply-To:$mail");

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 28 août 2013, 16:48

Bon ça ne fonctionne pas (du moins pas complètement).

L'affichage des noms et prenoms dans l'objet du mail fonctionnent et l'affichage du message ($mess) dans le corps du mail également, tout le reste non (l'affichage du nom, prénom et email dans le corps du mail et le from et reply ).

Pour le ""From:$mail\nReply-To:$mail"" j'ai remis cette syntaxe car si je déclare les variables avec $_POST['mail'] ... j'ai une erreur le cript ne fonctionne pas .

Voici mon script :


$message ="";
$message ="\n";
$message = $message."Fiche contact site Web\n";
$message = $message."--------------------------------------- \n";
$message = $message."Nom :\t".$_POST['nom']."\n";
$message = $message." \n";
$message = $message."Prenom :\t".$_POST['prenom']."\n";
$message = $message." \n";
$message = $message."E-Mail :\t".$_POST['mail']."\n";
$message = $message." \n";
$message = $message."Message :\t\t".$_POST['mess']."\n";
$message = $message." \n";
$message = $message."--------------------------------------- \n";
mail ( "[email protected]","Fiche Contact Site : ".$_POST['prenom']." ".$_POST['nom'],$_POST['message'],"From:$mail\nReply-To:$mail");

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 28 août 2013, 16:21

Merci je m'y mets de suite !!

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par xTG » 28 août 2013, 10:41

$message = $message."Nom :\t".$_POST['nom']."\n";
Voici la syntaxe.

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 28 août 2013, 09:55

bon je me suis emballé en fait il y des trucs qui ne fonctionnent pas .
l'affichage des noms et prenoms dans l'objet du mail fonctionnent et l'affichage du message ($mess) dans le corps du mail également, tout le reste non (l'affichage des noms et prénoms dans le corps du mail le from et reply ).

Auriez vous un cours ou la syntaxe à utiliser pour remplacer :

$message ="";
$message ="\n";
$message = $message."Fiche contact site Web\n";
$message = $message."--------------------------------------- \n";
$message = $message."Nom :\t".$nom."\n";
$message = $message." \n";
$message = $message."Prenom :\t".$prenom."\n";
$message = $message." \n";
$message = $message."E-Mail :\t".$mail."\n";
$message = $message." \n";
$message = $message."Message :\t\t".$mess."\n";
$message = $message." \n";
$message = $message."--------------------------------------- \n";
mail ( "[email protected]","Fiche Contact Site de : ".$nom." ".$prenom,$message,"From: $mail\nReply-To: $mail");

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 28 août 2013, 09:38

SUPEEEER !

Merci beaucoup en fait j'ai juste à remplacer mes $variable par $_POST['variable'] .

ça marche impec merci infiniment !

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par moogli » 27 août 2013, 19:39

Salut,

Non tu as sûrement un problème de register globals

Ce paramètre est désactivé par défaut depuis php 4.2.0 (sortie le 29 août 2000 il y a donc 13 ans) et supprimé depuis php 5.4.

Il te faut revoir ton formulaire pour coller a un mode de fonctionnement plus moderne, sécurisé et moins "bordélique" ;)

Un tuto sur le fonctionnement des formulaires http://www.lephpfacile.com/cours/8-recu ... ormulaires


@+

Re: Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 27 août 2013, 17:39

bon je viens de réussir à passer en 5.2 chez OVH et ... j'ai le même problème, INCROYABLE.
Je ne comprends pas ça vient peut-etre de ma page contact.html qui appelle ce formulaire.
pfffffff !

Formulaire fonctionne en PHP 5.2 et pas en 5.3

par Mickey2705 » 27 août 2013, 16:07

Bonjour,

Bonjour, tout est dans le titre le même formulaire chez Amen en PHP 5.2 fonctionne et chez OVH il envoie le texte mais pas les variables.
Voici le script :
(Merci pour votre aide)


$message ="";
$message ="\n";
$message = $message."Fiche contact site Web\n";
$message = $message."--------------------------------------- \n";
$message = $message."Nom :\t".$nom."\n";
$message = $message." \n";
$message = $message."Prenom :\t".$prenom."\n";
$message = $message." \n";
$message = $message."E-Mail :\t".$mail."\n";
$message = $message." \n";
$message = $message."Message :\t\t".$mess."\n";
$message = $message." \n";
$message = $message."--------------------------------------- \n";
mail ( "[email protected]","Fiche Contact Site de : ".$nom." ".$prenom,$message,"From: $mail\nReply-To: $mail");
// ------------------------------------------------------------------------- //


// ---------------------------- Success Message ---------------------------- //
?>
<html><head><title>merci</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"><style type="text/css">
<!--
body {
background-image: url(images/fond_2.jpg);
}
.Style1 {color: #000066}
p {
color: #CCC;
}
p {
font-weight: bold;
}
p {
text-align: center;
}
p {
font-size: large;
}
p {
font-family: Gabriola, "Times New Roman", Times, serif;
font-weight: bold;
}
-->
</style></head>
<body background="images/fond_2.jpg">

<p align="center" class="Style1">&nbsp;</p>
<p align="center" class="Style1">&nbsp;</p>
<p><br>
</p>
<p>Merci, Votre message a bien &eacute;t&eacute; envoy&eacute;, <br>
nous vous r&eacute;pondrons dans les meilleurs d&eacute;lais.</span> <span class="Style1"><br>
</span></p>
<pre>&nbsp; </pre>
<p align="center" class="Style1"><A HREF="contact.html"><img src="images/fermer.png" width="155" height="29"></A><br>
</p>
</div>
<div align="center"></div>
</body>
</html>