osCommerce France : Accueil Forum Portail osCommerce France Réponses aux questions Foire aux contributions

Bienvenue invité ( Connexion | Inscription )

 
Reply to this topicStart new topic
> [résolu]Modifier formulaire, ajouter des champs
jeogonz
posté 27 Nov 2004, 14:36
Message #1


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



Comment fait on pour ajouter des champs type prenom, nom, adresse,code postal ville etc dans le formulaire de contact de la ms2.


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
manmachine
posté 27 Nov 2004, 19:04
Message #2


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1814
Inscrit : 2-July 04
Lieu : Nantes
Membre no 2788



1 - crée des nouveaux champs dans la base de donées .

2- modifié le fichier create_account.php an ajoutant ces champs de saisis et biensur en les ajoutant a la requete SQL afin des les y insérer .

bon code wink.gif


--------------------
Nous ne sommes pas un SAV, nous aidons, mais nous ne faisons pas à votre place ..
Go to the top of the page
 
manmachine
posté 28 Nov 2004, 01:00
Message #3


Ceinture marron OSC
Icône de groupe

Groupe : Modérateurs
Messages : 1814
Inscrit : 2-July 04
Lieu : Nantes
Membre no 2788



QUOTE (Ryu007 @ 27 nov 2004, 20:55)


QUOTE

Ok, Manmachine c'est bien beau tout ça !
Mais pour des nuls on fait comment ?!


Hola on ce calme .....

si je n'en dis pas plus pour l'instant c'est pour insiter a la recherche perso , à savoir donner tu prémaché ca n'a jamais aidé personne . Le plus interessant quand meme dans notre demarche est de rendre les gens indépendant et qu'ils aprennent un minimum les bases du php / html afin de pouvoir ce debrouiller tout seul non ?

Sinon on peut aussi payer des gens pour faire le boulots si on ne veux pas retroussé ses manches .

MA philosophie a ce sujet est donc :

1 - de donner des pistes pour aider .
2- d'aider si je vois que la personne en face n'attend pas juste que je face le boulot a sa place .( ce qui est trop souvent le cas ) .

QUOTE

Effectivement tu ne donnes même pas le nom de la table (d'ailleurs, si je passe pour un idiot désolé mais il n'y a aucun champs dans la base de donnée de oscommerce car c'est récupéré par des $_POST ...)


le nom de la table est plus qu'évident : customers .

et je ne vais pas faire un cours de php mais la methode POST ne sert nullement a alimenter une BDD , elle sert a paser des variables entre scripts .

bref , si tu veux faire un tutaux vas y .


--------------------
Nous ne sommes pas un SAV, nous aidons, mais nous ne faisons pas à votre place ..
Go to the top of the page
 
Ryu007
posté 28 Nov 2004, 04:27
Message #4


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



Bonjour à tous !

Bon, voilà ce petit tuto tongue.gif :

Dans contact_us.php, à la ligne 19 à 21 (par défaut) on a :
CODE
 
$name = tep_db_prepare_input($HTTP_POST_VARS['name']);
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
$enquiry = tep_db_prepare_input($HTTP_POST_VARS['enquiry']);

Maitenant il nous faut rajouter les champs voulus, pour l'exemple j'ai pris le n° de téléphone et le pays (ensuite c'est à vous de modifier !) :
CODE
 
$phone = tep_db_prepare_input($HTTP_POST_VARS['phone']);
$country = tep_db_prepare_input($HTTP_POST_VARS['country']);

Ce qui nous donne :
CODE
 
$name = tep_db_prepare_input($HTTP_POST_VARS['name']);
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
$phone = tep_db_prepare_input($HTTP_POST_VARS['phone']);
$country = tep_db_prepare_input($HTTP_POST_VARS['country']);
$enquiry = tep_db_prepare_input($HTTP_POST_VARS['enquiry']);

Maintenant il nous faut rajouter ces champs créés dans la fonction tep_mail (L.24) :
CODE

tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $email_address);

à remplacer par :
CODE
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $email_address, $phone, $country);


Ensuite, créé les deux champs input à l'aide de la fonction tep_draw_input_field (L.124 - 125) :
CODE
    <tr>
       <td class="main"><?php echo ENTRY_CONTACT_PHONE; ?></td>
    </tr>
    <tr>
       <td class="main"><?php echo tep_draw_input_field('phone', '', 'onFocus="this.value=\'\'" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; if(event.which < 45 || event.which > 57) return false;"'); ?></td>
    </tr>
             <tr>
               <td class="main"><?php echo ENTRY_CONTACT_COUNTRY; ?></td>
       </tr>
    <tr>
               <td class="main"><?php echo tep_draw_input_field('country'); ?></td>
    </tr>

Pour finir, définir les deux champs ENTRY_CONTACT_PHONE et ENTRY_CONTACT_COUNTRY qui sont à rajouter dans includes/languages/french/contact_us.php :
CODE
define('ENTRY_CONTACT_COUNTRY', 'Votre pays :');
define('ENTRY_CONTACT_PHONE', 'Votre téléphone : ');

Et voilà !!! fini !!!

Remarque : ce code
CODE
onFocus="this.value=\'\'" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; if(event.which < 45 || event.which > 57) return false;"
(récuperer sur un site javascript) permet uniquement de rentrer des chiffres (et de la ponctuation) et non des lettres ce qui est peu être très pratique !

Je tiens aussi à dire que je n'ai pas mis les htmlspecialchar car il faut pour ça que les email soit en html ce qui n'est pas le cas pour tout le monde.


--------------------
Image IPB Image IPB
Go to the top of the page
 
jeogonz
posté 29 Nov 2004, 10:47
Message #5


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



ça marche pas:

J'aiessayé dans contact_us.php :

if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) {
$name = tep_db_prepare_input($HTTP_POST_VARS['name']);
$surname = tep_db_prepare_input($HTTP_POST_VARS['surname']);
$adress = tep_db_prepare_input($HTTP_POST_VARS['adress']);
$zipcode = tep_db_prepare_input($HTTP_POST_VARS['zipcode']);
$city = tep_db_prepare_input($HTTP_POST_VARS['city']);
$country = tep_db_prepare_input($HTTP_POST_VARS['country']);
$phone = tep_db_prepare_input($HTTP_POST_VARS['phone']);
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
$enquiry = tep_db_prepare_input($HTTP_POST_VARS['enquiry']);
if (tep_validate_email($email_address)) {
tep_mail(STORE_OWNER, STORE_OWNER_EMAIL_ADDRESS, EMAIL_SUBJECT, $enquiry, $name, $surname, $adress, $zipcode, $city, $phone, $email_address);


puis dans l'autre fichier contact_us.php (french) j'ai ajouté les champs define:

define('ENTRY_NAME', 'Nom :');
define('ENTRY_SURNAME', 'Pr&eacute;nom :');
define('ENTRY_ADRESS', 'Adresse :');
define('ENTRY_ZIPCODE', 'Code Postal :');
define('ENTRY_CITY', 'Ville :');
define('ENTRY_COUNTRY', 'Pays :');
define('ENTRY_PHONE', 'Téléphone :');
define('ENTRY_EMAIL', 'Adresse email :');
define('ENTRY_ENQUIRY', 'Demande de renseignements :');


ensuite j'essaye sur le site et je rçois uniquement le nom et l'adresse e-mail???

My Work


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
Ryu007
posté 29 Nov 2004, 12:14
Message #6


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



Salut jeogonz !

Tu n'as pas bien lu le ptit "tuto" au-dessus ...

Je demande de creer deux nouveau champs :
CODE

  <tr>
      <td class="main"><?php echo ENTRY_CONTACT_PHONE; ?></td>
   </tr>
   <tr>
      <td class="main"><?php echo tep_draw_input_field('phone', '', 'onFocus="this.value=\'\'" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; if(event.which < 45 || event.which > 57) return false;"'); ?></td>
   </tr>
            <tr>
              <td class="main"><?php echo ENTRY_CONTACT_COUNTRY; ?></td>
      </tr>
   <tr>
              <td class="main"><?php echo tep_draw_input_field('country'); ?></td>
   </tr>


C'est sur que si tu ne rajoute pas ce code ça risque d'être dur de trouver les nouveaux champs créé, qu'en penses-tu ?!

Amicalement


--------------------
Image IPB Image IPB
Go to the top of the page
 
jeogonz
posté 29 Nov 2004, 14:18
Message #7


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



JMC Billard

Ok je suis allé un peu vite je corrige...et je vois si je m'en sort mieux blush.gif


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
jeogonz
posté 30 Nov 2004, 10:38
Message #8


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



blink.gif Je dois être idiot ça ne marche pas. Je suis très ennuyé car il me faut impérativement un formulaire opérationnel; mes clients me demande des catalogues or je n'ai pas leur coordonées,
Je ne comprends pas


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
Ryu007
posté 30 Nov 2004, 11:00
Message #9


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



Bonjour Jeogonz,

QUOTE
Je dois être idiot ça ne marche pas. Je suis très ennuyé car il me faut impérativement un formulaire opérationnel; mes clients me demande des catalogues or je n'ai pas leur coordonées,
Je ne comprends pas


Peut-etre que si tu nous donnais quelques indices on pourrait plus t'aider ...
J'ai moi-meme installé ce formulaire sur mon site et il marche impec donc il n'y a pas de raison ...

Amicalement


--------------------
Image IPB Image IPB
Go to the top of the page
 
jeogonz
posté 30 Nov 2004, 11:10
Message #10


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



ohmy.gif ça marche pas je ne récupère que l'email et le nom du contact


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
Ryu007
posté 30 Nov 2004, 11:24
Message #11


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



Bonjour Jeogonz,

Etant donné que ça ne marche pas chez toi, on va essayer autre chose ...

Rajoute ce code entre la ligne L.21-23

CODE
if ($error == false) {
$enquiry = sprintf(EMAIL_PREAMBLE_TEXT, STORE_OWNER_EMAIL_ADDRESS) . " " . tep_get_ip_address() .
             "\n---------------------------------------\n" . EMAIL_ENQUIRY . $enquiry .
    "\n\n" . EMAIL_NAME . $name .
    "\n" . EMAIL_ADRESS_EMAIL . $email_address .
    "\n" . EMAIL_PHONE . $phone .
    "\n" . EMAIL_COUNTRY . $country;}

Cela va rajouter dans le sujet du mail les champs définie plus haut dans le tuto (a toi maintenant de rajouter les tiens !)

J'espere que cette fois-ci est la bonne blush.gif

Amicalement


--------------------
Image IPB Image IPB
Go to the top of the page
 
jeogonz
posté 30 Nov 2004, 11:47
Message #12


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



ohmy.gif marche pas je récupère sulement email et nom

ok dans contact_us.php:

if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) {
$name = tep_db_prepare_input($HTTP_POST_VARS['name']);
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
$phone = tep_db_prepare_input($HTTP_POST_VARS['phone']);
$country = tep_db_prepare_input($HTTP_POST_VARS['country']);
$enquiry = tep_db_prepare_input($HTTP_POST_VARS['enquiry']);


puis

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


puis

<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_CONTACT_PHONE; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('phone', '', 'onFocus="this.value=\'\'" onKeypress="if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false; if(event.which < 45 || event.which > 57) return false;"'); ?></td>
</tr>
<tr>
<td class="main"><?php echo ENTRY_CONTACT_COUNTRY; ?></td>
</tr>
<tr>
<td class="main"><?php echo tep_draw_input_field('country'); ?></td>
</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_ENQUIRY; ?></td>
</tr>


enfin dans french:

define('ENTRY_NAME', 'Nom :');
define('ENTRY_CONTACT_COUNTRY', 'Votre pays :');
define('ENTRY_CONTACT_PHONE', 'Votre téléphone : ');
define('ENTRY_EMAIL', 'Adresse email :');
define('ENTRY_ENQUIRY', 'Demande de renseignements :');


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
Ryu007
posté 30 Nov 2004, 11:49
Message #13


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



As-tu fait ce que je t'ai demandé plus haut ?!
CODE

if ($error == false) {
$enquiry = sprintf(EMAIL_PREAMBLE_TEXT, STORE_OWNER_EMAIL_ADDRESS) . " " . tep_get_ip_address() .
            "\n---------------------------------------\n" . EMAIL_ENQUIRY . $enquiry .
   "\n\n" . EMAIL_NAME . $name .
   "\n" . EMAIL_ADRESS_EMAIL . $email_address .
   "\n" . EMAIL_PHONE . $phone .
   "\n" . EMAIL_COUNTRY . $country;}

Normalement ça marche ... (test concluant en local chez moi !)

Amicalement


--------------------
Image IPB Image IPB
Go to the top of the page
 
jeogonz
posté 30 Nov 2004, 11:59
Message #14


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



Euh excuse moi mais le code tu l'ajoute après

if (isset($HTTP_GET_VARS['action']) && ($HTTP_GET_VARS['action'] == 'send')) {
$name = tep_db_prepare_input($HTTP_POST_VARS['name']);
$email_address = tep_db_prepare_input($HTTP_POST_VARS['email']);
$phone = tep_db_prepare_input($HTTP_POST_VARS['phone']);
$country = tep_db_prepare_input($HTTP_POST_VARS['country']);
$enquiry = tep_db_prepare_input($HTTP_POST_VARS['enquiry']);


ou bien il est censé remplacer une partie de celui ci


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
jeogonz
posté 30 Nov 2004, 12:10
Message #15


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



ok je récupère tout biggrin.gif

Cependant voici le résultat:

EMAIL_NAMEgonzales
EMAIL_ADRESS_EMAILjeoffrey@jmc-billard.fr
EMAIL_PHONE0387650057
EMAIL_COUNTRYfrance

c'est possible d'avoir

Nom: gonzales
email: jeoffrey@jmc-billard.fr
tel:0387650057
pays: france

Je sais je suis un vrais boulet blush.gif www.jmc-billard.com


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
Ryu007
posté 30 Nov 2004, 16:49
Message #16


Ceinture marron OSC
Icône de groupe

Groupe : Membres
Messages : 1385
Inscrit : 3-June 04
Lieu : Saint-mandé
Membre no 2597



QUOTE
Nom: gonzales
email: jeoffrey@jmc-billard.fr
tel:0387650057
pays: france


Possible ?! bien sur !
Il suffit que tu te rendes dans includes/languages/french/contact_us.php et que tu définisse ces variables (rajoutent-les) :
CODE

define('EMAIL_NAME', 'Nom : ');
define('EMAIL_ADRESS_EMAIL', 'Email : ');
define('EMAIL_PHONE', 'Téléphone : ');
define('EMAIL_COUNTRY', 'Pays : ');

REMARQUE : Ne pas mettre de htmlspecialchars car si on désactive la fonction html des emails, alors les accents (ici, é) afficheront &eacute; dans l'email ce qui n'est pas terrible ...

Amicalement

P.S : Est-ce bon cette fois-ci ?!


--------------------
Image IPB Image IPB
Go to the top of the page
 
jeogonz
posté 1 Dec 2004, 11:06
Message #17


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 53
Inscrit : 16-November 04
Lieu : nancy
Membre no 3809



biggrin.gif Merci vraiment beaucoup tout fonctionne très bien et je suis ravi rolleyes.gif


--------------------
Jeoffrey Gonzales | Webmaster

tel : 03 83 29 90 84
courriel : jeoffrey@id-maison.com

ID Maison | web & magazine gratuit
www.ideesmaison.com
Go to the top of the page
 
kostla
posté 19 Jul 2005, 17:00
Message #18


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 131
Inscrit : 29-October 04
Lieu : Paris
Membre no 3628



Salut jeogonz,

Peux-tu marquer ton post [Résolu].
Pour une meilleure lisibilité sur le forum.

Cordialement,
Kostla.


--------------------
MS2.2 - Fr
------------------
Go to the top of the page
 
DavidGI
posté 20 Jul 2005, 12:30
Message #19


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 213
Inscrit : 11-May 05
Membre no 5830



blink.gif 8 mois après tu ressors ça ???
Le [résolu] est surtout pour améliorer la lisibilité des sujets (comme tu le dis), mais surtout des sujets récents et qui apparaissent en tête de liste par exemple. Là ce n'est pas le cas... Et puis si tu fais ça à tous les posts qui n'ont pas la mention résolu, tu n'es pas couché !! tongue.gif

@+


--------------------
Osc MS2.2 Fr + contrib diverses et variées... + bidouilles perso
Go to the top of the page
 
kostla
posté 20 Jul 2005, 15:17
Message #20


Ceinture jaune+ OSC
Icône de groupe

Groupe : Membres
Messages : 131
Inscrit : 29-October 04
Lieu : Paris
Membre no 3628



bonjour David,

CITATION
8 mois après tu ressors ça

C'est juste que je me suis retrouvé sur ce post ...
Question de faciliter la recherche sur le forum.
Les "posts" sont archivés ...

C'était juste une remarque ...
COOL and RELAX ... wink.gif

Ce message a été modifié par kostla - 30 Aug 2006, 19:48.


--------------------
MS2.2 - Fr
------------------
Go to the top of the page
 
nj76
posté 23 Sep 2005, 08:37
Message #21


Ceinture jaune OSC
Icône de groupe

Groupe : Membres
Messages : 44
Inscrit : 21-September 04
Membre no 3321



C'est possible de rajouter a ca une case a cocher ?


--------------------
>> MS2 en Francais, Anglais, Italien, Espagnol et Allemand<<
Contrib : Site Map MS2-2.2 - Down for Maintenance - Login box V5.4 - Categories Box Bullet and Line - Post par Pipo - boite defilante avec gestion dans l'admin - devis2.zip - Directbuy - CategoriesFrontPage2-3c - FCKEditor - rt_click_categories
Go to the top of the page
 
missprive63
posté 4 Sep 2007, 11:13
Message #22


Ceinture orange OSC
Icône de groupe

Groupe : Membres
Messages : 172
Inscrit : 24-April 07
Membre no 16787



Je cree un autre post

Ce message a été modifié par missprive63 - 4 Sep 2007, 11:15.


--------------------
OS Commerce MS 2.2 dernière màj, cDynamic_Meta_Tags v1.6, Ultimate_SEO_URLs_v2-2.2, dynamic_and_XML_sitemaps
Go to the top of the page
 

Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



RSS Version bas débit Nous sommes le : 19th June 2013 - 20:06
Ce site est déclaré auprès de la commision Nationale
de l'Informatique et des Libertés (déclaration n°: 1043896)