Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

Formulaire php pas au top ! [Résolu]

Forum informatique > Aide création et gestion de site > Formulaire php pas au top ! [Résolu]

<<<1>>>

[Page 1 sur 1 - 8 messages]
Informations Messages

parfait radin

Avatar de parfait radin
41 messages
Disquette
Disquette

Lien direct Le 04 Avril 2011 à 21h34

Bonjour,

J'ai essayé de récupérer le code php et html sur le Net
pour créer un formulaire sur mon site.

Il fonctionne à peu près car les mails partent et arrivent
bien, mais il manque des données. Je précise que je ne
comprends rien du tout au php, ni à sa logique de
fonctionnement.

Je vais vous mettre le code. Pouvez vous me dire ce qui ne
va pas au niveau de ce code, svp ?

Merci,

Christian


<?php 
$nom=$_POST['nom'];
$prenom=$_POST['prenom'];
$email=$_POST['email'];
$message=$_POST['message'];

/////voici la version Mine
$headers = "MIME-Version: 1.0\r\n";

//////ici on détermine le mail en format text
$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";

////ici on détermine l'expediteur et l'adresse de réponse
$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";

$subject="$objet";
$destinataire="[email protected]"; //remplacez "[email protected]" par votre adresse e-mail
$body="$message";
if (mail($destinataire,$subject,$body,$headers)) {
echo "Votre mail a bien été envoyé<br>";
} else {
echo "Une erreur s'est produite";
}
?></p>
<p align="center">Pour retourner vers la page d'accueil<br>
cliquez <a href="http://www.credit-immobilier-infos.com">ICI
</a></p>




------------------------------------------------------------------------------------- --------------------------------------------------

<h4>FORMULAIRE DE CONTACT</h4>
<form method="post" action="traitement.php">

<fieldset>
<legend>Vos coordonnées</legend> <!-- Titre du fieldset -->

<label for="nom">Quel est votre nom ?</label><br />
<input type="text" name="nom" id="nom" tabindex="10" /><br />

<label for="prenom">Quel est votre prénom ?</label><br />
<input type="text" name="prenom" id="prenom" tabindex="20" /><br />

<label for="email">Quel est votre e-mail ?</label><br />
<input type="text" name="email" id="email" tabindex="30" /><br />
</fieldset>

<fieldset>
<legend>Motif de votre demande</legend> <!-- Titre du fieldset -->

<p>
<input type="radio" name="souhait" value="Partenariat" id="Partenariat" tabindex="40" /> <label for="Partenariat">Partenariat</label><br />
<input type="radio" name="souhait" value="Echange de lien" id="Echange de lien" tabindex="50" /> <label for="Echange de lien">Echange de lien</label><br />
<input type="radio" name="souhait" value="Suggestion pour le site" id="Suggestion pour le site" tabindex="60" /> <label for="Suggestion pour le site">Suggestion pour le site</label><br />
<input type="radio" name="souhait" value="autre" id="autre" tabindex="70" /> <label for="autre">Autre</label><br />
</p>

<p>
<label for="message">Message :</label><br />
<textarea name="message" id="message" cols="40" rows="4" tabindex="80"></textarea>
</p>
</fieldset>
<p>
<input type="submit" /> <input type="reset" />
</p>

</form>

 

Publicité

Pouzy

Avatar de Pouzy
14213 messages
No-Life
No-Life
Administrateur
Administrateur

Lien direct Le 04 Avril 2011 à 22h27

Coucou,

Quel est le souci exact ? Tu penses simplement que la structure n'est pas propre, ou est-ce que le script ne marche pas du tout ?
Hello

Devenez fan d'Aidoweb sur Facebook o/ - N'oubliez pas de cliquer sur [Résolu] une fois votre problème réglé
 

parfait radin

Avatar de parfait radin
41 messages
Disquette
Disquette

Lien direct Le 04 Avril 2011 à 22h33

Salut,

le script fonctionne mais je voulais savoir s'il était propre.

Voici la page :

http://www.credit-immobilier-infos.com/contact

Mais quand la personne coche le motif de sa demande,
ça n'apparait pas dans le mail que je reçois.

Christian

 

Jester

Avatar de Jester
17 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 05 Avril 2011 à 12h51

Le souhait n'apparais pas est c'est normal, car php ne le traite pas, je vais essayer de te corriger ça :

EDIT : ce script rencontre des problèmes, le mec envoie des variable inexistantes, je corrige ça

EDIT2 : j'ai corriger le script et donner une utilité aux variables crées dont il ne se servais pas genre : objet, il y avais pas de formulaire objet, nom, prénom, souhait et mail n'apparaissais pas le mail, j'ai donc refait la mise en forme, et mon script fonctionne sur une seul page, la page contact.php voici le code :



<?php
if (!empty ($_POST['nom']) && !empty ($_POST['prenom']) && !empty ($_POST['email']) && !empty ($_POST['souhait']) && !empty ($_POST['message']) && !empty ($_POST['objet']) )
{
$nom=$_POST['nom'];

$prenom=$_POST['prenom'];

$email=$_POST['email'];

$message=htmlspecialchars($_POST['message']);

$objet = $_POST['objet'];

// Rajout du souhait
$souhait = $_POST['souhait'];



/////voici la version Mine

$headers = "MIME-Version: 1.0\r\n";



//////ici on détermine le mail en format text

$headers .= "Content-type: text/plain; charset=iso-8859-1\r\n";



////ici on détermine l'expediteur et l'adresse de réponse

$headers .= "From: $nom <$mail>\r\nReply-to : $nom <$mail>\nX-Mailer:PHP";



$subject= htmlspecialchars($objet);

$destinataire="[email protected]"; //remplacez "[email protected]" par votre adresse e-mail

$body= '<p>Mr '.$nom.' '.$prenom.' Vous écrit pour '.$souhait.', vous pouvez le recontacter à '.$email.'<br />Voici son message :<br /><br /> '.$message.'<br /><br />_______<br />Le bot charger des messages</p>';

//Je ne comprend pas pourquoi il renomme encore une fois c'est variable subject et body, celle-ci sont déjà simplifier au début, je vais donc en profiter pour les sécuriser le htmlspecialchars() empêche d'utiliser du html dans le formulaire

if (mail($destinataire,$subject,$body,$headers)) {

echo "Votre mail a bien été envoyé";

} else {

echo "Une erreur s'est produite";

}


}
else
{
?>
<h4>FORMULAIRE DE CONTACT</h4>
<form method="post" action="contact.php">

<fieldset>
<legend>Vos coordonnées</legend> <!-- Titre du fieldset -->

<label for="nom">Quel est votre nom ?</label>
<input type="text" name="nom" id="nom" tabindex="10" />

<label for="prenom">Quel est votre prénom ?</label>
<input type="text" name="prenom" id="prenom" tabindex="20" />

<label for="email">Quel est votre e-mail ?</label>
<input type="text" name="email" id="email" tabindex="30" />
</fieldset>

<fieldset>
<legend>Motif de votre demande</legend> <!-- Titre du fieldset -->

<p>
<input type="radio" name="souhait" value="Un partenariat" id="Partenariat" tabindex="40" /> <label for="Partenariat">Partenariat</label>
<input type="radio" name="souhait" value="Un echange de lien" id="Echange de lien" tabindex="50" /> <label for="Echange de lien">Echange de lien</label>
<input type="radio" name="souhait" value="Une suggestion pour le site" id="Suggestion pour le site" tabindex="60" /> <label for="Suggestion pour le site">Suggestion pour le site</label>
<input type="radio" name="souhait" value="Un autre motif" id="autre" tabindex="70" /> <label for="autre">Autre</label>
</p>
<p>
Objet : <input type="text" name="objet" />
</p>
<p>
<label for="message">Message :</label>
<textarea name="message" id="message" cols="40" rows="4" tabindex="80"></textarea>
</p>
</fieldset>
<p>
<input type="submit" value="Envoyer" onclick="this.form.submit();this.disabled=true;this.value='En cours'"/> <input type="reset" value="Annuler"/>
</p>

</form>
<?php
}
?>



Essaye ça et dit moiClin d'oeil

en principe tu reçois un mail sous cette forme :


Citation

Mr Dupont Marc Vous écrit pour Un partenariat, vous pouvez le recontacter à [email protected]
Voici son message :

Bonjour,
J'aimerais que nos site sois partenaire blablabla

_______
Le bot charger des messages



Voilà, c'est déjà plus jolie non?:-P

Seul un développeurs pour avoir plusieurs string dans l'array :)
 

parfait radin

Avatar de parfait radin
41 messages
Disquette
Disquette

Lien direct Le 05 Avril 2011 à 23h08

Bonjour et merci d'avoir passé du temps pour moi.

Excuses-moi, mais j'ai essayé ton code et je l'ai vite remis comme
il était avant. En effet, ne m'en veut pas mais c'était une vraie cata.

La mise en page était bouleversée, il y avait du texte et des chiffres
de mélangé de partout. Même pas pu testé le fonctionnement !

A+

Christian

 

parfait radin

Avatar de parfait radin
41 messages
Disquette
Disquette

Lien direct Le 07 Avril 2011 à 00h03

On m'a donné la solution sur un autre site.

Merci quand même.

Christian

 

Jester

Avatar de Jester
17 messages
Barrette de RAM
Barrette de RAM

Lien direct Le 07 Avril 2011 à 11h15

Yop,

Oui j'ai oublier quelques balise <br /> de saut de ligneClin d'oeil

perso le formulaire est en place sur mon petit site Ici et il fonctionne nikelClin d'oeil

Seul un développeurs pour avoir plusieurs string dans l'array :)
 

parfait radin

Avatar de parfait radin
41 messages
Disquette
Disquette

Lien direct Le 08 Avril 2011 à 00h41

Bonjour,

Quel code faut-il mettre alors ?

J'ai pompé ça sur ton site, c'est bon et ça suffit ?

<div class="haut_contenu">Formulaire de contact  :</div><div class="fond_contenu"><!-- Cadre de news -->
Formulaire de contact du webmaster.<br />
<br />
<br />
<form method="post" action="contact2.php"><input type="hidden" name="PHPSESSID" value="6500aca5003b7dffe628028a7738d9ee" />

<fieldset>
<legend>Vos coordonnées</legend> <!-- Titre du fieldset -->

<label for="nom">Quel est votre nom ?*</label>

<input type="text" name="nom" id="nom" tabindex="10" /><br />

<label for="prenom">Quel est votre prénom ?*</label>
<input type="text" name="prenom" id="prenom" tabindex="20" /><br />

<label for="email">Quel est votre e-mail ?*</label>
<input type="text" name="email" id="email" tabindex="30" /><br />
</fieldset>


<fieldset>
<legend>Motif de votre demande*</legend> <!-- Titre du fieldset -->



<input type="radio" name="souhait" value="Un partenariat" id="Partenariat" tabindex="40" /> <label for="Partenariat">Partenariat</label>
<input type="radio" name="souhait" value="Un problème technique" id="problème techique" tabindex="50" /> <label for="problème technique">Problème techique</label>
<input type="radio" name="souhait" value="Une suggestion pour le site" id="Suggestion pour le site" tabindex="60" /> <label for="Suggestion pour le site">Suggestion pour le site</label>
<input type="radio" name="souhait" value="Un renseignement" id="renseignement" tabindex="70" /> <label for="renseignement">Renseignement</label>
<input type="radio" name="souhait" value="Un autre motif" id="autre" tabindex="80" /> <label for="autre">Autre</label><br /><br />


<label for="objet">Objet * :</label> <input type="text" name="objet" id="objet"/><br /><br /><br />

<label for="message">Message *:</label>
<textarea name="message" id="message" cols="40" rows="4" tabindex="90">

 

<<<1>>>

[Page 1 sur 1 - 8 messages]

Forum informatique > Aide création et gestion de site > Formulaire php pas au top ! [Résolu]