Les avertissements suivants se sont produits :
Warning [2] Undefined array key 0 - Line: 1640 - File: showthread.php PHP 8.2.18 (Linux)
File Line Function
/inc/class_error.php 153 errorHandler->error
/showthread.php 1640 errorHandler->error_callback
/showthread.php 915 buildtree




Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5
[Résolu] Form Builder pour enregistrer en base ou dans un fichier
#4
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 :
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>
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 :
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);
Attention, j'ai d'abord créé une table "zoom_candidat09" DANS la bd de cmsms.


Messages dans ce sujet

Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)