Aide - Recherche - Membres - Calendrier
Version complète : Creation d'un formulaire
Forum osCommerce-fr > Adapter OsCommerce MS2 > Contributions
oscf
Bonsoir,

Je suis entrain de créer un formulaire du type contact_us.php mais avec un champ supplémentaire.

J’ai donc modifier le fichier catalog/contact_us.php et catalog/includes/languages/french/contact_us.php

Dans le fichier catalog/includes/languages/french/contact_us.php
J’ai mis ceci :

define('ENTRY_NAME', 'Nom et Prénom :');
define('ENTRY_EMAIL', 'Adresse email :');
define('ENTRY_TYPEPRODUIT', 'Type de produit :');
define('ENTRY_ENQUIRY', 'Votre demande :');
?>
Et dans le fichier catalog/contact_us.php
J’ai mis ceci :

<tr>
<td><table border="0" width="100%" cellspacing="1" cellpadding="2" class="infoBox">
<tr class="infoBoxContents">
<td><table border="0" width="100%" cellspacing="0" cellpadding="2">
<tr>
<td class="main"><?php echo ENTRY_NAME; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('name'); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_EMAIL; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('email'); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_TYPEPRODUIT; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('typeproduit'); ?></td>
</tr>

<tr>
<td class="main"><?php echo ENTRY_ENQUIRY; ?></td>
</tr>
<tr>
<td><?php echo tep_draw_textarea_field('enquiry', 'soft', 50, 15); ?></td>
</tr>
</table></td>
</tr>
</table></td>
</tr>


Ma première erreur est que dans le formulaire j’ai ENTRY_TYPEPRODUIT au lieu du texte « typeproduit » et la deuxième est que quand je rempli le formulaire et fait continuer il me renvoi vers le formulaire de base SANS le champ type produit.

Faut-il aussi modifier le language « english » malgré qu’il n’est pas utilisé dans les langues de mon site puisqu’il indique ('name') ou autre dans le fichier catalog/contact_us.php

Merci pour vos informations.
fissiaux
NOn pour english.

Pour le reste, c'est bizarre car ta démarche est bonne.
webistro
Bonjour,
sans doute que la variable 'typeproduit' est manquante :

CODE

$typeproduit = tep_db_prepare_input($HTTP_POST_VARS['typeproduit']);


et

dans la fonction tep_mail :

CODE

tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $HTTP_POST_VARS['email_subject'], $typeproduit,$enquiry, $name, $email_address);


question.gif
fissiaux
Bizarre, au sens du define présent (ENTRY_TYPEPRODUIT) , et pourtant le contenu du define n'est pas affiché.
armoise
Bonjour,

Il ya le tuto de Ryu007 sur l'insertion de nouveau champ dans contact_us.php

c'est ici

Voilou
oscf
Bonjour,

J’ai donc procédé autrement :

J’ai crée une page contact_us2.php dans catalog/
J’ai crée une page contact_us2.php dans catalog/includes/languages/french/
J’ai ajouté le define en conséquence dans filenames.php

J’ai donc comme résultat :
Nom et Prénom :
Adresse email :
Type de produit :
Demande de renseignements :

Mon problème est maintenant que lorsque je reçois l’email le champ « type de produit » n’apparaît pas dans le mail au bon endroit.

Le problème pour moi est dans le fichier catalog/contact_us2 à la ligne :

if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $email_address, $typep);

J’ai fais les tests suivants:

Test 1 : avec cette ligne :

if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $email_address, $typep);

J’ai dans l’email que je reçois :
Le nom du client, son adresse email et le champ qu’il repli dans Demande de renseignements : mais pas le champ Type de produit

Test 2 : avec cette ligne :

if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $typep, $name, $email_address,);

J’ai dans l’email que je reçois :
Le champ « type de produit » à la place de Noms et prénom Le nom du client qui est acroché à un @......com(adresse email que je ne connais pas) et le champ qu’il rempli dans Demande de renseignements :

Test 3 : avec cette ligne :

if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $typep, $email_address,);

J’ai dans l’email que je reçois :
Le nom du client, à la place de son adresse email j’ai le champ « type de produit » et le champ qu’il rempli dans Demande de renseignements :

Test 4 : avec cette ligne :

if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $typep, $enquiry, $name, $email_address,);

J’ai dans l’email que je reçois :
Le champ « demande de rensignements » à la place de Noms et prénom Le nom du client qui est acroché à un @......com(adresse email que je ne connais pas) et le champ qu’il rempli dans Demande de renseignements est devenu le renseignement que je mets dans « type du produit »

Donc je ne vois plus quel modification à faire.
webistro
essayes :
CODE

tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, $HTTP_POST_VARS['$typep'], $enquiry, $name, $email_address);

Nan question.gif
oscf

Bonjour,

J’ai donc essayé votre formule, le résultat est :

OK pour le nom & prénom
OK pour l’adresse email
Ok pour le champ (demande de renseignements)
Mais pas de champ « type de produit » et plus d’entête de mail du type « requête de xxxx, votre boutique…. »

Je vais faire d’autres tests et je fais le retour, mais une autre idée est la bienvenue

Merci
Ceci est une version "bas débit" de notre forum. Pour voir la version complète avec plus d'informations, la mise en page et les images, veuillez cliquer ici.
Invision Power Board © 2001-2013 Invision Power Services, Inc.