[Réglé] Comment personnaliser ce script php ?

Ce forum aborde toutes les questions qu'un codeur ou webmaster pourrait se poser, et n'ayant aucun rapport direct avec phpBB.
Tout ce qui peut concerner la récupération des sessions de phpBB sur votre site, doit se faire dans cette section.

Modérateur: Equipe

Règles du forum
A lire impérativement : Règlement de phpBB-fr.com

[Réglé] Comment personnaliser ce script php ?

Messagepar Ishido » 31 Jan 2018 à 16:31

Bonjour à tous,

Je cherche à faire un formulaire de contact.

J'ai trouvé un script php sur le net, j'essai depuis 1H à le personnaliser, mais ça ne fonctionne pas.
Je ne sais pas écrire en php, j'ai essayé de suivre la logique de ce que j avais sous les yeux ( en copiant collant ce qui existe et ensuite j ai modifié, j'ai remplacé de simple mot par des phrases, peut être que les espaces ou accents poses problèmes )

En champs je souhaiterai :

Nom ( obligatoire )
Prénom ( obligatoire )
Téléphone ( obligatoire )
Mail ( obligatoire )
Référence de commandes, si vous en avez une ( peux rester vide )
Les numéros des photos, que vous reconnaissez ( obligatoire )

Voici le code :

Code édité par Steph


Merci pour votre aide :-)
Modifié en dernier par Ishido le 01 Fév 2018 à 15:47, modifié 1 fois.
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar Steph » 31 Jan 2018 à 16:40

Salut,

Le nombre de ligne de code inséré dans votre message est trop important. 20 lignes maxi.
Veuillez fournir un lien vers où télécharger le(s) fichier(s), cela aura le mérite d'être plus pratique.

Pourquoi ne pas tout simplement regarder du côté des extensions plutôt que de prendre le premier code trouvé sur le net.

Non seulement, à ce que tu écris, tu n'y connais rien et en plus tu n'es même pas sûr que c'est sécurisé.

En tout cas tout ce qui ne concerne pas phpBB ne fait pas parti de nos priorités même si ton sujet est dans le bon forum.

phpBB 3.2 inclus déjà un formulaire de contact
Avatar de l’utilisateur
Steph
Administrateur
Administrateur
 
Messages: 18074
Enregistré le: 29 Déc 2008 à 16:48
Localisation: Alsace / Bas-Rhin / France

Re: Comment personnaliser ce script php ?

Messagepar Ishido » 31 Jan 2018 à 16:54

Bonjour,

Merci pour ta réponse rapide.

J'avais zappé le nombre de lignes du code, je met une PJ.

Par sécurisé tu entends que celui qui a mis ce code sur le net, pourrai mettre des lignes de codes malveillantes ? C'est exact, je suis incapable de le savoir, sauf pour un oeil averti du php :-)
Aucun soucis pour les priorités, je sais bien où je suis, j'exige rien, si éventuellement quelqu un qui connait le php, m'aide, c'est sympa, sinon tant pis :-)
Je ne veux pas une extension, mais avoir une url qui pointe vers mon formulaire de contact.
Je suis venu ici, comme à mon habitude depuis 2003, pour avoir une éventuelle aide de la communauté sur un sujet qui n est pas lié directement à phpbb, j'ai donc choisi avec soin le sous forum pour ne pas gêner les intervenants des rubriques liés directement à phpbb
Je ne me tourne pas les pouces en attendant qu'on me fasse tout le job :-) je viens de réussir à ajouter le champ prénom et il fonctionne. Je tente sur les autres champs.
Merci :-)

Le lien du fichier txt avec le code php :
http://dl.free.fr/sK4WCWPZF
ou ici :
https://code.empreintesduweb.com/12390.html
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 31 Jan 2018 à 17:29

Ishido a écrit:Je ne veux pas une extension, mais avoir une url qui pointe vers mon formulaire de contact.

Hello,

Ceci ne vous convient pas?
Steph a écrit:phpBB 3.2 inclus déjà un formulaire de contact


Cordialement
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Comment personnaliser ce script php ?

Messagepar Ishido » 31 Jan 2018 à 17:41

bonjour,

j'ai un forum phpbb privé pour les admins, il sert à échanger des messages concernant une galerie photo qui est en ligne.
Dans cette galerie, je souhaite ajouter un lien qui pointe vers mon formulaire de contact :-)

J'ai réussi à modifier le code pour ajouter le prénom et le téléphone, le seul soucis, je reçois bien le mail sur l adresse mail que j ai mis dans le script, mais je n'ai pas le nom ni le prénom ni le téléphone, juste le mail , l objet et le message
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 31 Jan 2018 à 17:54

Hello,

Tu as réussi à ajouter le prénom et le téléphone dans le formulaire? Car il faut aussi l'ajouter dans le code de traitement du formulaire.

P.S.: votre formulaire se situe à quelle adresse?
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Comment personnaliser ce script php ?

Messagepar Ishido » 31 Jan 2018 à 18:15

salut,
https://code.empreintesduweb.com/12390.html
Oui j'ai réussi à partir de la ligne 110, en copiant collante la ligne existante et en modifiant le nom en ce que je veux comme champ.

Ligne 133, j'ai ajouté les nouveaux champs pour vérifier que les variables sont remplies
Code: Tout sélectionner
if (($nom != '') && ($prénom != '') && ($téléphone != '') && ($email != '') && ($objet != '') && ($message != ''))


Je me rend compte que le mail s en va mais sans tenir compte de ces champs ( enfin de ce que je comprend ), donc je suis en train de modifier la ligne 137, pour ajouter prénom dans un premier temps. Je ne sais pas si après le ' de nom je dois aussi démarrer avec un ' et si un espace est gênant ou pas.
Code: Tout sélectionner
$headers .= 'From:'.$nom.' '.$prénom.' <'.$email.'>' . "\r\n" .


Enfin ligne 193, j'ai ajouté des lignes ( en copiant collant la première et en modifiant le libellé ), en faisant attention de changer le numéro de tabindex

Code: Tout sélectionner
<form id="contact" method="post" action="'.$form_action.'">
	<fieldset><legend>Vos coordonnées</legend>
		<p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /></p>
		<p><label for="prénom">Prénom :</label><input type="text" id="prénom" name="prénom" value="'.stripslashes($prénom).'" tabindex="2" /></p>
		<p><label for="téléphone">Téléphone:</label><input type="text" id="téléphone" name="téléphone" value="'.stripslashes($téléphone).'" tabindex="3" /></p>
		<p><label for="email">Email :</label><input type="text" id="email" name="email" value="'.stripslashes($email).'" tabindex="4" /></p>
	</fieldset>

	<fieldset><legend>Votre message :</legend>
		<p><label for="objet">Objet :</label><input type="text" id="objet" name="objet" value="'.stripslashes($objet).'" tabindex="5" /></p>
		<p><label for="message">Message :</label><textarea id="message" name="message" tabindex="6" cols="30" rows="8">'.stripslashes($message).'</textarea></p>
	</fieldset>


Après si vous avez un autre script connu et fiable, aucun soucis je ne suis pas marié avec celui ci :-) ( j avais trouvé des générateurs de script mais le résultat ne me convenait pas )

Merci
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 31 Jan 2018 à 18:25

En fait lorsque je demandais un lien pour voir le formulaire, je pensais "pour le voir en ligne".

Ton script envoie dans la partie $message le contenu de ton message. C'est dans cette partie que tu dois rajouter le prénom et le téléphone.

Je regarde cela de plus près et je vous donne les lignes à ajouter :wink:
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 31 Jan 2018 à 19:49

Dans votre script, trouver :

Code: Tout sélectionner
function IsEmail($email)
{
    $value = preg_match('/^(?:[w!#$%&'*+-/=?^`{|}~]+.)*[w!#$%&'*+-/=?^`{|}~]+@(?:(?:(?:[a-zA-Z0-9_](?:[a-zA-Z0-9_-](?!.)){0,61}[a-zA-Z0-9_-]?.)+[a-zA-Z0-9_](?:[a-zA-Z0-9_-](?!$)){0,61}[a-zA-Z0-9_]?)|(?:[(?:(?:[01]?d{1,2}|2[0-4]d|25[0-5]).){3}(?:[01]?d{1,2}|2[0-4]d|25[0-5])]))$/', $email);
    return (($value === 0) || ($value === false)) ? false : true;
}


REMPLACER par :
Code: Tout sélectionner
function IsEmail($email)
{
    $value = preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $email);
    return (($value === 0) || ($value === false)) ? false : true;
}


PUIS, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
function IsPhone($telephone)
{
    $value = preg_match("#^0[1-68]([-. ]?[0-9]{2}){4}$#", $telephone);
    return (($value === 0) || ($value === false)) ? false : true;
}


Trouver :
Code: Tout sélectionner
$nom        = (isset($_POST['nom']))        ? Rec($_POST['nom'])        : '';


APRES, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
$prenom    = (isset($_POST['prenom']))    ? Rec($_POST['prenom'])    : '';
$telephone    = (isset($_POST['telephone']))    ? Rec($_POST['telephone'])    : '';


Trouver :
Code: Tout sélectionner
$email = (IsEmail($email)) ? $email : ''; // soit l'email est vide si erroné, soit il vaut l'email entré    


APRES, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
$telephone = (IsPhone($telephone)) ? $telephone : ''; // soit le téléphone est vide si erroné, soit il vaut le téléphone entré    


Trouver :
Code: Tout sélectionner
        if (($nom != '') && ($email != '') && ($objet != '') && ($message != ''))


Remplacer par :
Code: Tout sélectionner
        if (($nom != '') && ($email != '') && ($objet != '') && ($message != '') && ($prenom != '') && ($telephone != ''))


Trouver :
Code: Tout sélectionner
            // les 4 variables sont remplies, on génère puis envoie le mail    


AVANT, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
            $message = 'Prénom : ' . $prenom . "\r" . 'Téléphone : ' . $telephone . "\r" . 'Message : ' . $message;


Trouver :
Code: Tout sélectionner
        <p><label for="nom">Nom :</label><input type="text" id="nom" name="nom" value="'.stripslashes($nom).'" tabindex="1" /></p>


APRES, sur une nouvelle ligne, ajouter :
Code: Tout sélectionner
        <p><label for="prenom">Prénom :</label><input type="text" id="prenom" name="prenom" value="'.stripslashes($prenom).'" tabindex="1" /></p>
        <p><label for="telephone">Téléphone :</label><input type="text" id="telephone" name="telephone" value="'.stripslashes($telephone).'" tabindex="1" /></p>


Enregistrer.

phone_prenom.JPG
(22.37 Kio) Pas encore téléchargé


P.S.: il y a pas mal de choses qui pourraient être améliorées, le but ici est d'insérer les deux champs supplémentaires dans le mail que vous recevrez.
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Comment personnaliser ce script php ?

Messagepar Ishido » 31 Jan 2018 à 20:16

Génial, ça fonctionne !!

Bon finalement j'étais environ à 2 millions de kilomètres de réussir au vu de mes modifications ^^

Donc si je veux ajouter mes 2 autres champs :

Référence de commandes, si vous en avez une ( peux rester vide )
Les numéros des photos, que vous reconnaissez ( obligatoire )

Je répète les étapes ( sauf les 2 premières ) en modifiant téléphone par mon nouveau champs ?

Je vais tenter ^^

Un grand merci !
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 31 Jan 2018 à 20:24

Tu répètes tout. Et pour vérifier qu'un champ a bien été renseigné, tu dois l'ajouter dans cette ligne :
Code: Tout sélectionner
        if (($nom != '') && ($email != '') && ($objet != '') && ($message != '') && ($prenom != '') && ($telephone != ''))


En fait, tu prends la dernière parenthèse et AVANT tu ajoutes ta condition. Supposons que je veux ajouter une référence de commande, alors je rajouterai && ($ref_comm != '') AVANT la fin de la dernière parenthèse, ce qui donnerait, comme ligne :
Code: Tout sélectionner
        if (($nom != '') && ($email != '') && ($objet != '') && ($message != '') && ($prenom != '') && ($telephone != '') && ($ref_comm != ''))


Bien sûr, si le champ que tu ajoutes peut rester vide, alors tu ne l'ajoutes pas dans cette ligne (elle sert à vérifier que le champ n'est pas vide justement).
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Comment personnaliser ce script php ?

Messagepar Ishido » 31 Jan 2018 à 20:33

Ok je vais essayer, mais la première instruction Trouver ensuite remplacer , si je refais pareil, ça changera rien non ?
Merci
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 31 Jan 2018 à 20:38

Regardez bien tous les champs. J'ai remplacé une portion du script parce que c'était pas bon (personnellement j'obtenais une erreur).

Il ne faut pas juste ajouter des bouts de code en remplaçant les intitulés. Si vous regardez bien, j'ai ajouté une portion function ISphone('$telephone) car j'avais besoin de vérifier que le téléphone entré est correct. Je n'ai pas ajouté de function Isprenom($prenom) car on ne vérifie pas que le prénom est correct (on pourrait vérifier, pour éviter que des personnes entrent des grossièretés).
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Re: Comment personnaliser ce script php ?

Messagepar Ishido » 01 Fév 2018 à 15:47

Bonjour,

J'ai tenté d'ajouter 2 champs, ils apparaissent sur le formulaire mais pas dans le mail.
Changement de stratégie pour gagner du temps, je vais me passer de ces 2 champs, à titre indicatif, je conseil sur le formulaire d'ajouter leur référence dans le corps du message.

Tout fonctionne parfaitement

Merci Fofa :-)
Ishido
Posteur habitué
Posteur habitué
 
Messages: 225
Enregistré le: 17 Jan 2003 à 00:57

Re: Comment personnaliser ce script php ?

Messagepar FoFa » 01 Fév 2018 à 15:55

Donne les deux champs et je te les rajoute
De retour parmi vous :wink:
FoFa
Resp. des supporters
Resp. des supporters
 
Messages: 10582
Enregistré le: 15 Nov 2008 à 19:04
Localisation: Auxonne

Suivante

Retourner vers Coding, Webmastering et Sécurité informatique

 


  • Articles en relation
    Réponses
    Vues
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum : Aucun utilisateur enregistré et 3 invités