Rechercher : dans
Par :

Envoi formulaire, site free, php

Dernière réponse le 8 déc 2007 à 17:22:08 Pedritoooo, le 5 déc 2007 à 17:11:24 
 Signaler ce message aux modérateurs

Bonjour,

Voilà plusieurs semaines que je cherche, cherche et recherche, sur google, des forums etc. mais rien à faire je n'arrive pas à recevoir les données que j'inscris dans mon formulaire en ligne sur ma boite mail.

Je commence à désespérer

Voilà le script de mon formulaire


<form method=POST action=traitement.php >
<input type=hidden name=subject value=formmail>

<br/>

<P> <FONT SIZE=4 COLOR="grey"><b>Formulaire de commande</b></FONT> </P>

<br/>
<p class="MsoNormal"><input name="Sexe" value="M" checked="checked" type="radio">Mr <input name="Sexe" value="F" type="radio">Mme <input name="Sexe" value="D" type="radio">Mlle</p>

<p class="MsoNormal"><b>Votre Nom</b>
<br><input name="Nom" type="text"></p>

<p class="MsoNormal"><b>Votre Prénom</b>
<br><input name="pseudo" type="text"></p>

<p class="MsoNormal"><b>Votre Adresse postale complète</b>
<br><textarea name="Adresse" rows="3" cols="20"></textarea></p>

<p class="MsoNormal"><b>Nature de l'évènement (Mariage, Anniversaire, Film d'entreprise, Film de fiction etc.)</b>
<br><input name="evenement" type="text"></p>

<p class="MsoNormal"><b>Nombre d’heure(s) et de minute(s) de rushes (totalité de ce vous avez filmé) à traiter</b>
<br>(si vous ne le savez pas, nous nous engageons à vous communiquer leur durée éxacte)
<br><input name="rushes" type="text"></p>

<p class="MsoNormal"><b>Votre Adresse Email</b>
<br><input name="email" type="text"></p>

<p class="MsoNormal"><b>Vous pouvez ici indiquer vos commentaires, questions et attentes</b>
<br><textarea name="Observations" rows="5" cols="40"></textarea></p>

<p class="MsoNormal"><input name="jours_semaine" value="conditionsgenerales" type="checkbox">En cliquant ici je certifie avoir lu et accepté <a href="http://montagedefilms.free.fr/index.php/?conditionsgnrales" target="_blank"> >les conditions générales< </a> applicables aux prestations de montage vidéo</p>

<p class="MsoNormal"><input value=" Envoyer " type="submit"><span style="font-weight: bold;"></p>
</form>


J'ai donc un traitement.php également:

<?php
$msg_erreur = "Erreur. Les champs suivants doivent être obligatoirement remplis :<br/><br/>";
$msg_ok = "Votre demande a bien été prise en compte.";
$message = $msg_erreur;
define('MAIL_DESTINATAIRE','MONADRESSE@free.fr'); // remplacer par votre email
define('MAIL_SUJET','Message du formulaire de example.com');

// vérification des champs
if (empty($_POST['civilite']))
$message .= "Votre civilité<br/>";
if (empty($_POST['nom']))
$message .= "Votre nom<br/>";
if (empty($_POST['prenom']))
$message .= "Votre prénom<br/>";
if (empty($_POST['adresse']))
$message .= "Votre adresse<br/>";
if (empty($_POST['demande']))
$message .= "Votre demande<br/>";
if (empty($_POST['nombreheure']))
$message .= "Rushes<br/>";
if (empty($_POST['adresseemail']))
$message .= "Votre adresse email<br/>";
if (empty($_POST['comments']))
$message .= "Votre message<br/>";

// si un champ est vide, on affiche le message d'erreur
if (strlen($message) > strlen($msg_erreur)) {

echo $message;

// sinon c'est ok
} else {

foreach($_POST as $index => $valeur) {
$$index = stripslashes(trim($valeur));
}

$interets = $_POST['interets'];
$sqlinterets = '';
for ($i=0; $i<count($interets); $i++)
{
$sqlinterets .= $interets[$i];
$sqlinterets .= ', ';
}

//Préparation de l'entête du mail:
$mail_entete = "MIME-Version: 1.0\r\n";
$mail_entete .= "From: {$_POST['nom']} "
."<{$_POST['email']}>\r\n";
$mail_entete .= 'Reply-To: '.$_POST['email']."\r\n";
$mail_entete .= 'Content-Type: text/plain; charset="iso-8859-1"';
$mail_entete .= "\r\nContent-Transfer-Encoding: 8bit\r\n";
$mail_entete .= 'X-Mailer:PHP/' . phpversion()."\r\n";

// préparation du corps du mail
$mail_corps = "Message de : $civilite $nom\n";
$mail_corps .= "Adresse : $adresse, $codepostal $ville, $pays\n";
$mail_corps .= "Ses centres d'intérêts : $sqlinterets\n\n\n";
$mail_corps .= $comments;

// envoi du mail
if (mail(MAIL_DESTINATAIRE,MAIL_SUJET,$mail_corps,$mail_entete)) {

//Le mail est bien expédié
echo $msg_ok;
} else {

//Le mail n'a pas été expédié
echo 'Une erreur est survenue lors de l\'envoi du formulaire par email';
}

}
?>

Lorsque j'essaie le formulaire, je reviens à ma page d'acceuil et c'est tout. Je ne reçois aucun mail.
Quelqu'un peut il m'aider? Je suis totalement perdu.
J'ai lu qu'il fallait peut être "sendmail" ou je ne sais quoi

Merci de votre aide!

Configuration: Windows XP
Firefox 2.0.0.11

Meilleures réponses pour « Envoi formulaire, site free, php » dans :
[Webmaster] Un formulaire de contact pour votre site VoirCe formulaire permet d'avoir une page pour être contacté sur son site, sans utiliser de logiciel de messagerie. La personne qui vous contacte indique son adresse, l'objet du message et son message (évidemment). Le code est une version...
[Outils] Freewares pour la création de sites Voir1. Éditeurs WYSIWYG 2. Éditeurs de code 3. Client FTP 4. Graphisme et retouche d'images 5. Graphisme de style FLASH 6. Édition audio 7. Serveur web Freewares pour la création de sites Vu le nombre de demandes pour créer un site,...
PHP - Récupération de données VoirPHP rend très simple la récupération de données envoyées par l'intermédiaire de formulaires HTML. Création d'un formulaire Grâce à la balise FORM du langage HTML, il est très simple de créer des formulaires comprenant : des champs de saisie des...
PHP - Mail et fonctions réseau VoirPHP étant un langage consacré au Web, il possède bien évidemment des fonctions lui permettant de communiquer avec le "monde extérieur" à l'aide de fonctions standards. Le service le plus utilisé sur Internet étant la messagerie électronique, il est...

1

Christounet, le 5 déc 2007 à 17:25:15

Bonjour,

La fonction mail est parfois bloquée chez certains herbegeurs gratuits, tu trouveras plus d'infos sur le forum de CCM en suivant le lien ci-dessous:

Mail PHP

J'espère que celà pourra t'aider

A plus

Répondre à Christounet

2

le père, le 5 déc 2007 à 17:31:48

Bonjour

J'utilise régulièrement la fonction mail chez free, elle marche bien tant que tu respectes les limites : pas plus de 20 destinataires à la fois, plus une limite sur le nombre de messages par semaine.
Tu reviens à ta page d'accueil sans aucun message ? Ni confirmation ni échec de l'envoi ?

Répondre à le père

3

Pedritoooo, le 5 déc 2007 à 18:07:59

Merci pour vos réponses.
Le père, oui c'est ça le pire, je n'ai rien de rien, je reviens uniquement à la page d'accueil et c'est tout, aucune confirmation.
Je débute et j'essaie de réaliser mon site perso, je dois avouer que tous s'est bien passés mais je bloque depuis longtemps sur ce formulaire...

Répondre à Pedritoooo

4

le père, le 5 déc 2007 à 18:39:52

Si tu reviens à la page d'accueil, c'est que ton traitement.php n'est même pas appelé.
Peux-tu le supprimer provisoirement pour voir si tu tombes sur une page inconnue ?
Sinon, peux-tu faire un echo "coucou" au début de ton php pour voir si tu y passes.

Répondre à le père

5

Pedritoooo, le 5 déc 2007 à 20:05:28

Je l'ai supprimé et en effet ça ne change rien, j'arrive sur ma page d'accueil
Alors là je ne comprends vraiment pas

Par contre je n'ai pas compris, faire un echo "coucou"? C'est à dire?

Répondre à Pedritoooo

6

le père, le 5 déc 2007 à 21:43:21

Par contre je n'ai pas compris, faire un echo "coucou"?
ça voulait dire insérer une ligne :
echo "coucou";
au début du script, juste pour voir si on y entre.

Mais laisse tomber puisqu'on n'y entre pas. Le problème vient de la page qui contient le formulaire, pas de traitement.php.
Tu as sans doute quelque chose qui empêche le formulaire de se comporter normalement. Peux-tu donner le code complet de la page avec le formulaire ? Au fait, c'est bien celle que tu appelles "page d'accueil" ?

Répondre à le père

7

Pedritoooo, le 6 déc 2007 à 02:25:40

Le code de formulaire.php est celui que j'ai donné plus haut, il est entier
Non quand je dis page d'accueil c'est la page d'accueil de mon site, c'est ça que je comprends pas
En fait, pour résumer, sur mon site j'ai dîu créé des pages connexes que je dois envoyer via mon client ftp dans un dossier appelé "share"
Dedans j'ai donc mis formulaire.php et traitement.php; lorsque dans le menu de mon site on clique sur "formulaire de commande" on arrive sur le formulaire (la page connexe "?formulaire"); et ce que je ne comprends pas, c'est quand j'appuie sur "envoyer" de mon formulaire, j'arrive sur la page d'accueil, pourtant si on regarde l'adresse en haut, elle se termine bien par "traitement.php"; pourquoi?
Et je viens de découvrir qu'à ce moment (page d'accueil mais traitement.php) si je veux vider le cache (ctrl+f5) et bien il me met un message comme quoi cette page contient quelque chose envoyer par POST, et que si je cntinue ça sera perdu... c'est donc que ça fonctionne un peu

L'adresse de mon site: http://montagedefilms.free.fr

Quelle est la solution?
Merci beaucoup de m'aider en tous les cas!

Répondre à Pedritoooo

8

le père, le 6 déc 2007 à 10:23:27

OK, compris !!!!

merci d'avoir donné l'adresse de ton site. J'ai essayé d'envoyer le formulaire et je constate que ça envoie à l'adresse http://montagedefilms.free.fr/index.php/?formulaire pour le formulaire
Alors j'ai bêtement essayé http://montagedefilms.free.fr/index.php/?traitement
et ça a bien lancé le script de traitement.
Donc ça devrait marché avec si tu modifies dans <FORM action=http://montagedefilms.free.fr/index.php/?traitement
probablement même <FORM action=/index.php/?traitement, qui serait plus portable

Ton index.php a l'air de faire de drôles de magouilles, ça m'étonnerait qu'il soit de toi !

Répondre à le père

9

Pedritoooo, le 6 déc 2007 à 12:46:49

Non ce n'est pas de moi, j'utilise dotclear
Si l'index est compliqué c'est peut être parce qu'il a fallu que je rajoute une page d'accueil fixe, alors qu'avant il y avait une liste de billets, comme dans un blog...

J'ai fait ce que tu m'as dit (au début de formulaire.php c'est bien ça? J'ai changé:
<form method=POST action=traitement.php >
pour
<form method=POST action=index.php/?traitement>

Et j'arrive sur la page /?traitement mais là il me met un message d'erreur, alors que j'ai tout bien rempli:
Erreur. Les champs suivants doivent �tre obligatoirement remplis :

Votre civilit�
Votre nom
Votre pr�nom
Votre adresse
Votre demande
Rushes
Votre adresse email
Votre message

Le problème doit être plus profond que ça non?

Répondre à Pedritoooo

10

Pedritoooo, le 6 déc 2007 à 18:46:15

Personne?

Répondre à Pedritoooo

11

le père, le 6 déc 2007 à 21:19:34

<form method=POST action=index.php/?traitement>

non, tu as oublié un /

<form method=POST action=/index.php/?traitement>

Répondre à le père

12

Pedritoooo, le 7 déc 2007 à 15:12:19

Merci.
Ca ne change rien malheureusement, je tombe toujours sur la même page, avec "Erreur ..."

Répondre à Pedritoooo

13

le père, le 7 déc 2007 à 16:06:41

Je ne me suis jamais penché sur le fonctionnement interne de dotclear, mais visiblement il tripote des choses.

Peux-tu ajouter au début de ton script traitement.php :
print_r ($_HOST);
echo __FILE__;
et me dire ce qui se passe ?

Répondre à le père

14

Pedritoooo, le 7 déc 2007 à 18:51:50

Non, ça ne change rien, même page, sauf quelques mots qui s'ajoutent avant: si je mets ce que tu m'as donné avant <php dans le script:

print_r ($_HOST); echo __FILE__; Erreur. Les champs suivants doivent �tre obligatoirement remplis :

Votre civilit�
Votre nom
Votre pr�nom
Votre adresse
Votre demande
Rushes
Votre adresse email
Votre message

et si je le mets après:
/mnt/163/sdb/f/d/montagedefilms/share/related/traitement.phpErreur. Les champs suivants doivent �tre obligatoirement remplis :

Votre civilit�
Votre nom
Votre pr�nom
Votre adresse
Votre demande
Rushes
Votre adresse email
Votre message

merci de m'aider en tous les cas

Répondre à Pedritoooo

15

le père, le 7 déc 2007 à 22:19:33

J'installe dotclear chez moi pour voir

Répondre à le père

16

le père, le 8 déc 2007 à 02:02:03

Bonsoir,

Pardon, c'était echo $_POST; et non pas $_HOST; !!!
Et bien sûr (?) il fallait le mettre après le <?php sinon c'est n'est pas interpreté comme du PHP.

Peux-tu recommencer ? pas pesoin du __FILE__

J'ai fait l'essai chez moi et ça se passe bien : je récupère bien les valeurs passées à mon formulaire, mais :
Si l'index est compliqué c'est peut être parce qu'il a fallu que je rajoute une page d'accueil fixe, alors qu'avant il y avait une liste de billets, comme dans un blog...
J'ai un petit peu peur que tu aies fait des modifs 'sauvages'

Répondre à le père

17

le père, le 8 déc 2007 à 03:17:36

Re-Bonsoir.

Tu m'empêches de dormir, mais là je viens de mettre le doigt sur un truc à se cogner la tête contre les murs tellement c'est c*n.
Les champs que tu vérifies n'ont pas le même nom que ceux du formulaire !!!!! Pas étonnant qu'ils soient vides !!!!!!!!

Sexe <-> civilite
Nom <-> nom (majuscule et minusculen pas pareil !)
Prenom <-> pseudo
Adresse <-> adresse
etc...

Le temps que j'ai passé sur une énormité pareille ! Mon orgueil en prend un coup.

On devrait bientôt approcher de l'envoi de mail. Je prévois un grand moment de rigolade là encore.

Répondre à le père

18

Pedritoooo, le 8 déc 2007 à 13:35:12

MERCI !!!

Ahah, oui en fait c'était tout bête, mais je débute vraiment, donc bon, j'avais pas fait attention; c'est comme la page d'accueil fixe c'est un plug in, je n'ai touché à rien (de ma propre initiative)

Bon donc c'est parfait; j'ai juste une dernière petite question, mais si c'est pas possible c'est pas grave

Pour le message de remerciement, j'aimerais ajouter une image, ce qui serait bien ce serait qu'elle se trouve à gauche du texte de remerciement; alors j'ai essayé avec un code comme ça: <img src="http://***" alt="" /> ceci au niveau du txte de remerciement, entre les " " mais malheureusement ça ne marche pas, je m'en doutais, c'est surtout les guillemets dans les guillemets qui trouble tout, et du coup ça donne un erreur.

Si vous aviez la solution ça serait chouette, si non c'est pas bien grave.

Même si c'était simple pour toi merci le père!

Répondre à Pedritoooo

19

le père, le 8 déc 2007 à 14:30:40

Les guillemets dans les guillemets, ça c'est facile.
Il faut remplacer les guillemets à l'intérieur par \"

Répondre à le père
Collection CommentÇaMarche.net