Fork me on GitHub






Checkbox dans un formulaire
Newbie
Inscrit: 06/02/2003 04:15
Messages: 8
Bonjour,

Voilà maintenant 2 jours que je bute sur un problème concernant le module Catads et notamment son formulaire.

En effet, pour les besoins du site que je mets en place j'ai besoin d'ajouter des informations au formulaire de base. Il s'agit d'un site pour un garage et je me sert de ce module pour présenter les voitures d'occasions de ce garage.

Pour ajouter des champs de texte (new XoopsFormText) cela c'est bien passé en m'appuyant sur ceux déjà existant.

Là où je bute c'est sur l'ajout de Checkbox dont le fonctionnement est totalement différent. Pour l'ajout d'une checkbox sur le formulaire j'utilise le code (dans l'exemple il s'agit d'une checkbox devant indiquer ou non la présence d'un GPS) :

$equip_tray=new XoopsFormCheckBox(_MD_CATADS_EQUIP'gps'$gps);
                
$equip_tray->addOption(1'GPS');
                
$adsform->addElement($equip_tray);


J'ai donc inséré ce code dans le fichier "form1_ads.inc.php".
J'ai également créé la partie
`gpsint(1NOT NULL default '0',
dans la table xoops_catads_ads.

Maintenant je bute sur le code php a écrire pour que soit inséré l'information dans la base donnée et ensuite la récupérer pour l'afficher dans l'annonce.

J'ai essayé le code suivant dans le fichier submit1.php :

if(ISSET($_POST['gps'])){
                                    
$gps=$_POST['gps'];
                                }else{
                                    
$gps="";
                                }


Mais ça ne semble pas suffisant car si la case est coché ça ne semble pas écrire dans la base.

Je suis complétement perdu et n'étant pas très bon en php ça ne facilité pas les choses.

Merci de votre aide.

Posté le : 18/05/2006 04:48
Partager Twitter Partagez cette article sur GG+
Re: Checkbox dans un formulaire
Xoops accro
Inscrit: 25/02/2004 00:20
De Région parisienne
Messages: 2526
En effet, il n'est pas suffisant de déclarer une variable pour que celle-ci soit enregistrer dans les tables.

Je ne connais pas particulièrement ce module, mais cherche du coté des commandes mysql : INSERT et UPDATE

Posté le : 18/05/2006 10:56
Partager Twitter Partagez cette article sur GG+
Re: Checkbox dans un formulaire
Newbie
Inscrit: 06/02/2003 04:15
Messages: 8
J'ai finalement réussi à insérer mes différentes checkbox dans le formulaire de Catads.

La partie fût compliquée car il faut modifier pas moins que :

/www/modules/catads/class/ads.php
/www/modules/catads/language/french/main.php
/www/modules/catads/include/form1_ads.inc.php
/www/modules/catads/include/functions.php
/www/modules/catads/adsitem.php
/www/modules/catads/submit1.php


Pour ajouter ces info dans le formulaire d'édition des annonces

/www/modules/catads/adsedit.php
/www/modules/catads/include/form2_ads.inc.php

Posté le : 19/05/2006 18:01
Partager Twitter Partagez cette article sur GG+
Re: Checkbox dans un formulaire
Newbie
Inscrit: 06/02/2003 04:15
Messages: 8
Finalement ça ne fonctionne pas si bien que ça car je me trouve confronter à un problème que je n'ai pas pu résoudre malgrès toute la nuit à chercher.

Voici le code de mes checkboxdans le formulaire:

$equip_tray = new XoopsFormCheckBox(_MD_CATADS_EQUIP"gps"$gps);
    
$equip_tray->addOption(1'GPS');
    
$equip_tray->addOption(2'Climatisation');
    
$equip_tray->addOption(3'ABS');
    
$equip_tray->addOption(4'ESP');
    
$equip_tray->addOption(5'Vitr.Elec');
    
$equip_tray->addOption(6'Teleco');
    
$equip_tray->addOption(7'Clé Main Libre');
    
$equip_tray->addOption(8'Ord. de bord');
    
$equip_tray->addOption(9'Peint. Metal');
    
$equip_tray->addOption(10'Radio CD');
    
$equip_tray->addOption(11'Radio Cass');
    
$equip_tray->addOption(12'TO');
    
$equip_tray->addOption(13'Reg. Vites');
    
$equip_tray->addOption(14'Cuir');
    
$equip_tray->addOption(15'Jantes Alu');
    
$equip_tray->addOption(16'Boite Auto');
                
$adsform->addElement($equip_tray);


Mes checkbox s'affichent correctement mais il n'y a que la checkbox 'GPS' qui fonctionne. Le fait de sélectionner n'importe quelle autre checkbox n'insère rien dans la base alors qu'elles sont déclarées exactement de la même manière dans tous les fichiers.

Je pense que cela vient de la syntaxe du code ci-dessus qui ne semble pas adaptée pour plusieurs sélections mais je n'arrive pas à trouver ce que je dois modifier.

Au cas ou voici le listing de la table Mysql :

CREATE TABLE `f7cph_catads_ads` (
  `
ads_idint(11NOT NULL auto_increment,
  `
cat_idint(11NOT NULL default '0',
  `
ads_titlevarchar(100NOT NULL default '',
  `
ads_typevarchar(40NOT NULL default '',
  `
ads_desctext NOT NULL,
  `
priceint(11NOT NULL default '0',
  `
price2int(11NOT NULL default '0',
  `
anneeint(11NOT NULL default '0',
  `
monnaievarchar(20NOT NULL default '',
  `
price_optionvarchar(40NOT NULL default '',
  `
emailvarchar(100NOT NULL default '',
  `
uidint(6NOT NULL default '0',
  `
phonevarchar(20NOT NULL default '',
  `
townvarchar(200NOT NULL default '',
  `
codpostvarchar(25NOT NULL default '',
  `
createdint(10NOT NULL default '0',
  `
publishedint(10NOT NULL default '0',
  `
expiredint(10NOT NULL default '0',
  `
viewtinyint(2NOT NULL default '0',
  `
notify_pubtinyint(1NOT NULL default '0',
  `
poster_ipvarchar(20NOT NULL default '',
  `
contact_modetinyint(1NOT NULL default '0',
  `
countpubtinyint(1NOT NULL default '0',
  `
suspendtinyint(1NOT NULL default '0',
  `
waitingtinyint(1NOT NULL default '0',
  `
photo0varchar(255NOT NULL default '',
  `
photo1varchar(255NOT NULL default '',
  `
photo2varchar(255NOT NULL default '',
  `
photo3varchar(255NOT NULL default '',
  `
photo4varchar(255NOT NULL default '',
  `
photo5varchar(255NOT NULL default '',
  `
gpsint(1NOT NULL default '0',
  `
climint(2NOT NULL default '0',
  `
absint(1NOT NULL default '0',
  `
espint(1NOT NULL default '0',
  `
vitreselecint(1NOT NULL default '0',
  `
verrcentralint(1NOT NULL default '0',
  `
telecoint(1NOT NULL default '0',
  `
mainlibreint(1NOT NULL default '0',
  `
odbint(1NOT NULL default '0',
  `
peintmetalint(1NOT NULL default '0',
  `
radiocdint(1NOT NULL default '0',
  `
radiocassint(1NOT NULL default '0',
  `
toitint(1NOT NULL default '0',
  `
regvitint(1NOT NULL default '0',
  `
cuirint(1NOT NULL default '0',
  `
jantaluint(1NOT NULL default '0',
  `
boitotoint(1NOT NULL default '0',
  
PRIMARY KEY  (`ads_id`),
  
KEY `price2` (`price2`)
TYPE=MyISAM AUTO_INCREMENT=30 ;

-- 
-- 
Contenu de la table `f7cph_catads_ads`
--


Merci d'avance pour votre aide.

Posté le : 20/05/2006 06:52
Partager Twitter Partagez cette article sur GG+
Re: Checkbox dans un formulaire
Aspirant
Inscrit: 28/02/2005 14:19
De Vercors
Messages: 37
Ton formulaire est le suivant :
<input type='checkbox' name='gps[]' value='1' />GPS
<input type='checkbox' name='gps[]' value='2' />Climatisation
<input type='checkbox' name='gps[]' value='3' />ABS
...


C'est le XoopsFormCheckBox qui mets les []
Donc tu va recupérer ta zone dans la variable gps[] et non dans la variable gps.
if(ISSET($_POST['gps[]'])){
  
$gps=$_POST['gps[]'];
}else{
  
$gps="";
}

Attention ici les valeurs multiples sont non traités..


Par ailleurs si tu codes
$equip_tray = new XoopsFormCheckBox(_MD_CATADS_EQUIP"gps"$gps);

$grps représentes déjà les différentes options que tu renseigne plus tard avec des addOption.
Code simplement :
$equip_tray = new XoopsFormCheckBox(_MD_CATADS_EQUIP"gps");

Posté le : 23/05/2006 14:30
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

57 Personne(s) en ligne (42 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 57 | Plus ...