05/01/2010, 11:59:18
Pour accéder à une base de données : tuto ici : http://www.cmsmadesimple.fr/forum/viewtopic.php?id=1375
Tu crées ton formulaire dans un bloc de contenu global. Tu places ce bloc dans la page qui doit afficher le formulaire.
ex :C'est un copier-coller d'un gros formulaire, c'est juste pour te donner une idée.
Le javascript doit être dans un {literal} (il n'est pas obligatoire, bien sûr).
Tu mets comme "action" du formulaire la page dans laquelle se trouve l'udt de contrôle du formulaire.
Cette page contenant l'udt sera non affichée et non "searchable".
Ex d'udt :Attention, j'ai d'abord créé une table "zoom_candidat09" DANS la bd de cmsms.
Tu crées ton formulaire dans un bloc de contenu global. Tu places ce bloc dans la page qui doit afficher le formulaire.
ex :
Code :
<form name="radioTiers" id="radioTiers" action="reception" method="post" enctype="multipart/form-data">
<div id="boutonsTiers">
<fieldset>
<legend>êtes-vous un intermédiaire ?</legend>
<input class="radioInput" type="radio" id="pasTiersFlag" name="inscrivant_tiers" value="0" {literal}onclick="affichage(event)"{/literal}/>Non<br />
<input class="radioInput" type="radio" id="tiersFlag" name="inscrivant_tiers" value="1" {literal}onclick="affichage(event)"{/literal} />Oui
</fieldset><br />
<span id="retour1" style="display:none;">Veuillez sélectionner à nouveau.</span>
</div>
<!--Fin Boutons d'affichage du formulaire TIERS-->
<!--FORMULAIRE TIERS--><!--affiche seulement si c'est un TIERS-->
<div id="informationsTiers" style="display:none;">
<fieldset>
<legend>Informations sur l'intermédiaire</legend>
<p class="required short-label p-court">
<label for="nomInsTiers" class="labels">Nom</label>
<input class="court" type="text" name="nomInsTiers" id="nomInsTiers" value="" size="" maxlength="80" />
</p>
<p class="required short-label p-court">
<label for="prenomInsTiers" class="labels">Prénom</label>
<input class="court" type="text" name="prenomInsTiers" id="prenomInsTiers" value="" size="" maxlength="80" />
</p>
<p id="alerteRadio" class="required radio p-court">
<input class="radioInput" type="radio" name="sexeTiers" value="1" id="sexeTiers_1"/><label class="radioLabel">Madame</label><br />
<input class="radioInput" type="radio" name="sexeTiers" value="0" id="sexeTiers_3"/><label class="radioLabel">Monsieur</label><br /></p>
<p class="required short-label p-court">
<label for="profInsTiers" class="labels">Profession</label>
<input class="court" type="text" name="profInsTiers" id="profInsTiers" value="" size="" maxlength="50" />
</p>
<p class="required short-label p-court">
<label for="adrInsTiers" class="labels">Adresse</label>
<input class="court" type="text" name="adrInsTiers" id="adrInsTiers" value="" size="" maxlength="80" />
</p>
<p class="required short-label p-court">
<label class="labels">n° :</label>
<input class="mini" name="numeroRue_inscrivant" value="" type="text" />
</p>
<p class="required short-label p-court">
<label class="labels">Code postal</label>
<input class="mini" type="text" name="codePostalNumeroTiers" id="cpInsTiers" size="" maxlength="4" {literal}onkeyup="setCpInfoTiers(this)"{/literal} />
</p>
<p class="required short-label p-court">
<label for="localiteTiers" class="labels">Localité</label>
<select class="court" name="localiteTiers" id="localiteTiers" ><option>Entrez d'abord votre cp </option></select>
</p>
<p class="required short-label p-court">
<label for="emailInsTiers" class="labels">E-mail</label>
<input class="court" type="text" name="emailInsTiers" id="emailInsTiers" value="" size="" maxlength="80" {literal}onchange="validateur.estAdrEmail(this)"{/literal} />
</p>
<p class="required short-label p-court">
<label for="telInsTiers" class="labels">Téléphone/Gsm</label>
<input class="court" type="text" name="telInsTiers" id="telInsTiers" value="" size="" maxlength="15" />
</p>
<p class="short-label p-court">
<label for="faxInsTiers" class="labels">Fax.</label>
<input class="court" type="text" name="faxInsTiers" id="faxInsTiers" value="" size="" maxlength="15"/>
</p>
<p class="p-court">
<!-- A verifier -->
<input class="checkboxInput" type="checkbox" name="tiersInformeJeune" id="tiersInformeJeune" value="1" />
<!-- fin de A verifier -->
<label for="tiersInformeJeune" class="checkboxLabel">Cochez si le jeune/groupe est informé de votre initiative</label>
</p>
<p class="required p-court">
<label for="liensInsTiers" class="labels-long">Lien avec le jeune/groupe ?</label>
<select class="court1" name="liensInsTiers" id="liensInsTiers" {literal}onchange="affichage(event)"{/literal} >
<option value="0" selected="selected" >Choisissez</option>
<option value="11" >son père</option>
<option value="1" >sa mère</option>
<option value="2" >son frère</option>
<option value="3" >sa sœur</option>
<option value="4" >un membre de la famille</option>
<option value="5" >un(e) éducateur/trice</option>
<option value="6" >un(e) enseignant(e)</option>
<option value="10" >un(e) collègue</option>
<option value="7" >un(e) ami(e)</option>
<option value="8" >son/sa partenaire</option>
<option value="9">autre</option>
</select>
<br/>
<span id="divAutreLiensInsTiers" class="short-label p-court" style="display:none;">
<br/>
<label class="labels-long">Veuillez préciser :</label>
<input class="court1" type="text" name="texteAutreLiensTiers" id="texteAutreLiensTiers" value="" size="" maxlength="80" />
</span>
</p>
</fieldset><div><span>
<input class="submit" type="button" value="Continuer" id="valideTiers" {literal}onclick="valideInscriptionTiers(radioTiers)"{/literal} />
<input class="submitRetour" type="button" value="Retour" id="resetValideTiers" {literal}onclick="affichage(event)"{/literal} /></span></div>
</div>
<!--FIN FORMULAIRE TIERS-->
<p>
<input type="checkbox" id="visualiserMesDonnees" {literal}onclick="affichage(event)"{/literal} /><label>Vérifier mes données avant de valider</label>
</p>
<div><span><input class="submit" type="button" value="Valider" id="valideFormUpload" {literal}onclick="valideFormulaire(radioTiers)"{/literal} />
<input class="submitRetour" type="button" value="Retour" id="resetValideFormUpload" {literal}onclick="affichage(event)"{/literal} /></span></div>
</div>
</div>
</form>
Le javascript doit être dans un {literal} (il n'est pas obligatoire, bien sûr).
Tu mets comme "action" du formulaire la page dans laquelle se trouve l'udt de contrôle du formulaire.
Cette page contenant l'udt sera non affichée et non "searchable".
Ex d'udt :
Code :
global $gCms;
//declaration des variables
if (isset($_POST['inscrivant_tiers'])) {
if ($_POST['inscrivant_tiers'] == "1") {
$inscrivant_candidature = "1";
//verifier le form tiers
$nom_inscrivant = htmlspecial_utf8($_POST['nomInsTiers']);
$prenom_inscrivant = htmlspecial_utf8($_POST['prenomInsTiers']);
$sexe_inscrivant = strip_tags($_POST['sexeTiers']);
$profession_inscrivant = htmlspecial_utf8($_POST['profInsTiers']);
$adresse_inscrivant = htmlspecial_utf8($_POST['adrInsTiers']);
if (isset ($_POST["numeroRue_inscrivant"])) {
$numeroRue_inscrivant = $_POST["numeroRue_inscrivant"];
}
else {
$numeroRue_inscrivant = "";
}
$cp_inscrivant = strip_tags($_POST['codePostalNumeroTiers']);
$localite_inscrivant = htmlspecial_utf8($_POST['localiteTiers']);
$email_inscrivant = strip_tags($_POST['emailInsTiers']);
$telephone_inscrivant = strip_tags($_POST['telInsTiers']);
$fax_inscrivant = strip_tags($_POST['faxInsTiers']);
$lien_inscrivant = htmlspecial_utf8($_POST['liensInsTiers']);
$lienAutre_inscrivant = htmlspecial_utf8($_POST['texteAutreLiensTiers']);
$informe_candidat = $_POST['tiersInformeJeune'];
} else {
$inscrivant_candidature = "0";
}
}
...
$db = &$gCms->GetDb();
$query = "INSERT INTO zoom_candidat09 (pass, media_candidature, mediaAutre_candidature, inscrivant_candidature, nom_candidat, prenom_candidat, age_candidat, dateNaissance_candidat, sexe_candidat, adresse_candidat, numeroRue_candidat, cp_candidat, localite_candidat, province_candidat, telephone_candidat, fax_candidat, email_candidat, site_candidat, nom_inscrivant, prenom_inscrivant, sexe_inscrivant, profession_inscrivant, adresse_inscrivant, numeroRue_inscrivant, cp_inscrivant, localite_inscrivant, province_inscrivant, email_inscrivant, telephone_inscrivant, fax_inscrivant, lien_inscrivant, lienAutre_inscrivant, informe_candidat, type_candidat, type_groupe, typeAutre_groupe, nom_groupe, contact_groupe, prenomContact_groupe, age_groupe, sexe_groupe, adresse_groupe, numeroRue_groupe, cp_groupe, localite_groupe, province_groupe, telephone_groupe, fax_groupe, email_groupe, site_groupe, sujet_candidature, qualite_candidature, descriptiontalent_candidature, retombee_candidature, titre_candidature, theme_candidature, themeAutre_candidature, theme_categorie, theme_sousCategorie, theme_autreCategorie, theme_autreSousCategorie, demarre_candidature, description_candidature, objectif_candidature, lieu_candidature, portee_candidature, public_candidature, motivation_candidature, etape_candidature, partenaire_candidature, typePartenaire_candidature, typePartenaireAutre_candidature, structure_candidature, nom_structure, contact_structure, prenomContact_structure, sexeContact_structure, adresse_structure, numeroRue_structure, cp_structure, localite_structure, province_structure, telephone_structure, fax_structure, email_structure, site_structure, commentaire_candidature, display, datein) VALUES ('$pass', '$media_candidature', '$mediaAutre_candidature', '$inscrivant_candidature', '$nom_candidat', '$prenom_candidat', '$age_candidat', '$dateNaissance_candidat', '$sexe_candidat', '$adresse_candidat', '$numeroRue_candidat', '$cp_candidat', '$localite_candidat', '$province_candidat', '$telephone_candidat', '$fax_candidat', '$email_candidat', '$site_candidat', '$nom_inscrivant', '$prenom_inscrivant', '$sexe_inscrivant', '$profession_inscrivant', '$adresse_inscrivant', '$numeroRue_inscrivant', '$cp_inscrivant', '$localite_inscrivant', '$province_inscrivant', '$email_inscrivant', '$telephone_inscrivant', '$fax_inscrivant', '$lien_inscrivant', '$lienAutre_inscrivant', '$informe_candidat', '$type_candidat', '$type_groupe', '$typeAutre_groupe','$nom_groupe','$contact_groupe', '$prenomContact_groupe', '$age_groupe', '$sexe_groupe', '$adresse_groupe', '$numeroRue_groupe', '$cp_groupe', '$localite_groupe', '$province_groupe', '$telephone_groupe', '$fax_groupe', '$email_groupe', '$site_groupe', '$sujet_candidature', '$qualite_candidature', '$descriptiontalent_candidature', '$retombee_candidature', '$titre_candidature', '$theme_candidature', '$themeAutre_candidature', '$theme_categorie', '$theme_sousCategorie', '$theme_autreCategorie', '$theme_autreSousCategorie', '$demarre_candidature', '$description_candidature', '$objectif_candidature', '$lieu_candidature','$portee_candidature', '$public_candidature', '$motivation_candidature', '$etape_candidature', '$partenaire_candidature', '$typePartenaire_candidature', '$typePartenaireAutre_candidature', '$structure_candidature', '$nom_structure', '$contact_structure', '$prenomContact_structure', '$sexeContact_structure', '$adresse_structure', '$numeroRue_structure', '$cp_structure', '$localite_structure', '$province_structure', '$telephone_structure', '$fax_structure', '$email_structure', '$site_structure', '$commentaire_candidature', '0', CURRENT_TIMESTAMP)";
$db->Execute($query);