Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

FormBuilder : Récupérer les informations du formulaire
#1

Citation :#~~~~~ DEBUT BLOC A NE PAS SUPPRIMER ~~~~~
#~ Version du CMS: 2.1.1
#~ Url du site :
#~ Hébergeur / Soft : wampserver
#~ Informations Système :
#~ ----------------------------------------------
#~ Cms Version: 2.1.1
#~ Installed Modules:
#~ CMSMailer: 5.2.4
#~ AdminSearch: 1.0
#~ FileManager: 1.5.2
#~ MenuManager: 1.50.2
#~ MicroTiny: 2.0.2
#~ ModuleManager: 2.0.1
#~ News: 2.50.3
#~ Search: 1.50.2
#~ ThemeManager: 1.1.8
#~ CMSContentManager: 1.1
#~ DesignManager: 1.1.1
#~ Navigator: 1.0.2
#~ FormBuilder: 0.8.1.3
#~ Config Information:
#~ php_memory_limit:
#~ max_upload_size: 64000000
#~ url_rewriting: none
#~ page_extension:
#~ query_var: page
#~ auto_alias_content: true
#~ locale:
#~ set_names: true
#~ timezone: Europe/Paris
#~ permissive_smarty: false
#~ Php Information:
#~ phpversion: 5.5.12
#~ md5_function: On (Vrai)
#~ json_function: On (Vrai)
#~ gd_version: 2
#~ tempnam_function: On (Vrai)
#~ magic_quotes_runtime: Off (Faux)
#~ E_STRICT: 2048
#~ E_DEPRECATED: 8192
#~ test_file_timedifference: Aucune différence de date du système trouvée
#~ test_db_timedifference: Aucune différence de date du système trouvée
#~ create_dir_and_file: 1
#~ memory_limit: 128M
#~ max_execution_time: 120
#~ register_globals: Off (Faux)
#~ output_buffering: 4096
#~ disable_functions:
#~ open_basedir:
#~ test_remote_url: Valable
#~ file_uploads: On (Vrai)
#~ post_max_size: 10M
#~ upload_max_filesize: 64M
#~ session_save_path: c:/wamp/tmp (0777)
#~ session_use_cookies: On (Vrai)
#~ xml_function: On (Vrai)
#~ xmlreader_class: On (Vrai)
#~ check_ini_set: On (Vrai)
#~ curl: On
#~ Performance Information:
#~ allow_browser_cache: Off (Faux)
#~ browser_cache_expiry: 60
#~ php_opcache: Off (Faux)
#~ smarty_cache: Off (Faux)
#~ smarty_compilecheck: Off (Faux)
#~ smarty_cache_udt: Off (Faux)
#~ auto_clear_cache_age: Off (Faux)
#~ Server Information:
#~ Server Software: Apache/2.4.9 (Win64) PHP/5.5.12
#~ Server Api: apache2handler
#~ Server Os: WINNT 6.2 On AMD64
#~ Server Db Type: MySQL (mysql)
#~ Server Db Version: 5.6.17
#~ Server Db Grants: Trouvé un privilège "GRANT ALL" qui semble être adapté
#~ Permission Information:
#~ tmp: C:\wamp\www\lesoleil\tmp (0777)
#~ tmp_cache: C:\wamp\www\lesoleil\tmp\cache (0777)
#~ templates_c: C:\wamp\www\lesoleil\tmp\templates_c (0777)
#~ modules: C:\wamp\www\lesoleil\modules (0777)
#~ uploads: C:\wamp\www\lesoleil\uploads (0777)
#~ Masque de création de fichier (umask) : C:\wamp\www\lesoleil\tmp\cache (0777)
#~ config_file: 0444
#~ ----------------------------------------------
#~~~~~ FIN BLOC A NE PAS SUPPRIMER ~~~~~



Bonjour,

J'ai un formulaire avec deux cases à cocher.
Si la case1 est cochée, j'ouvre la page1
Si la case2 est cochée, j'ouvre la page2
Si les deux cases sont cochées, j'ouvre la page3

Ma question peut paraitre un peu "bête", mais je ne sais pas du tout comment faire pour récupérer les valeurs des cases à cocher.

Dois-je utiliser les balises utilisateur et y insérer mon code PHP? Si oui, comment accéder au nom des checkbox?
Et comment lier ma balise utilisateur à mon formulaire?

Merci pour votre aide

Fanfan (GlobusCrea)
#2

Pour faire simple, j'ai créé les formulaires et leur traitement en HTML et PHP et je souhaiterais les intégerer au CMSms?
Comment faire? Merci

Je débute avec ce CMS. C'est un boulot pour un client qui utilise ce CMS

Merci à tous

Fanfan (GlobusCrea)
#3

Bonjour et bienvenue,

Si tu as créé toi-même le formulaire sans passeravec par FormBuilder, voici la procédure :

Code PHP dans une UDT (balise utilisateur), récupération des données du formulaire avec $params['name'] au lieu de $_POST (name=nom du champ) ;[edit]ça c'est avec FormBuilder, oops
Citation :*Call a User Defined Tag With the Form Results. This submits all the form results to the User-Defined Tag you specify. The UDT can handle the results however it wants. Values are passed as $params['field_name'], and as $params['field_alias'] (if defined)
tu crées une page (qui n'apparaît pas dans le menu) nommée "form" (à ton choix) ;
tu y places la balise {$nomUDT}{nomUDT} (qui lance l'UDT) ; [edit]sorry pour le mauvais renseignement
tu pointes l'action du formulaire vers la page form : <form action="form"...
#4

Ah ok, je comprends mieux.
Merci bcp Sa seigneurerie Smile

Et si je crée mon formulaire avec FormBuilder, quelle est la marche à suivre pour récupérer les données?

Je voudrais essayer les deux manières de faire.

Encore merci pour ton aide, ça fesait un petit moment que je cherchais :p

Fanfan (GlobusCrea)
#5

FormBuilder, tu regardes la doc du module. Il y a plusieurs façons de récupérer les données.
Je dois dire que cela fait longtemps que je ne l'ai plus utilisé.
#6

Un tout grand merci. Je vais essayer tout cela.
#7

Hello,

J'ai bien essayé en suivant toute vos recommandations, mais j'ai ce message d'erreur :
"The requested URL /lesoleil/form was not found on this server."

J'ai appeler la page cachée form dans laquelle j'ai placé ma balise UDT {$FormSimpleChamps}
Laquelle contient le code PHP suivant :
<?php
$Pseudo = $params['pseudo'];
$Ville = $params['ville'];
echo 'Bienvenue '.$Pseudo.' de '.$Ville;
?>

Et voici mon formulaire avec l'appel vers la page form
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>PHPForm01</title>
</head>

<body>
<h1>Bienvenue sur le site de toto </h1>
<h2>Commencez-donc par vous inscrire :</h2>
<form name="Inscription" method="post" action="form">
Entrez votre pseudo : <input type="text" name="pseudo"/><br/>
Entrez votre ville : <input type="text" name="ville"/><br/>
<input type="submit" name="valider" value="OK"/>
</form>
</body>
</html>

C'est un formulaire tout simple pour tester la récupération de données

Merci de votre aide
#8

Citation :The requested URL /lesoleil/form was not found on this server.
La page form n'est pas accessible ; Es-tu certain de l'avoir activée ?
Tu devrais aussi penser à activer l'url rewriting (http://www.cmsmadesimple.fr/forum/viewtopic.php?id=2796).
#9

Hello,

plusieurs choses :

GlobusCrea a écrit :J'ai bien essayé en suivant toute vos recommandations, mais j'ai ce message d'erreur :
"The requested URL /lesoleil/form was not found on this server."

J'ai appeler la page cachée form dans laquelle j'ai placé ma balise UDT {$FormSimpleChamps}

Une UDT s'appelle sans $ :

Code :
{FormSimpleChamps}

Il faut également :
- soit passer les paramètres à l'UDT :
Code :
{FormSimpleChamps pseudo=$smarty.post.pseudo ville=$smarty.post.ville}

- soit les récupérer depuis $_POST dans ton UDT ce qui est plus rapide - de toutes façons il n'y a pas de filtre sur les paramètres sur les UDT (uniquement sur les modules).

GlobusCrea a écrit :Laquelle contient le code PHP suivant :
<?php
$Pseudo = $params['pseudo'];
$Ville = $params['ville'];
echo 'Bienvenue '.$Pseudo.' de '.$Ville;
?>

Je remplacerai $params['pseudo'] et la même chose en ville par leurs équivalents issus de $_POST

GlobusCrea a écrit :<form name="Inscription" method="post" action="form">
Entrez votre pseudo : <input type="text" name="pseudo"/><br/>
Entrez votre ville : <input type="text" name="ville"/><br/>
<input type="submit" name="valider" value="OK"/>
</form>

A priori d'après ton "The requested URL /lesoleil/form was not found on this server.", la page n'est pas accessible à l'url citée. Essaye de remplacer la valeur de l'attribut "action" par un
Code :
{cms_selflink href='TonAlias'}

Avec tout ça, tu devrais commencer à récupérer des variables.

Pour FormBuilder, je sais qu'il y au une gestion multi-pages, mais je ne sais pas s'il gère les pages conditionnelles.

Sinon tu simplifies avec un formulaire sur une page et de simples blocs du formulaire cachés activés via javascript, mais ca ne répond peut être pas à tes besoins.

Bon dev
#10

Oops, désolé pour toutes ces bêtises, je n'avais plus utilisé les formulaires depuis longtemps et je n'ai pas vérifié avant de poster.
Heureusement que Mathieu est de nouveau très disponible pour donner les solutions correctes Smile
#11

Héhé, on fait ce qu'on peut :p Merci à toi
#12

Dernière note à propos des UDT : mieux vaut privilégier un plugin Smarty (en créant un fichier php dans plugins/) - le seul cas où une UDT est recommandée est lorsque c'est une fonction simple (mono-script / fichier) et qu'elle doit être liée à un évènement du CMS.

Sinon, dans ton cas précis, un plugin Smarty sera suffisant et évitera une requête en base en plus. Même si bon, sur un envoi de formulaire, c'est pas bien méchant on est d'accord Wink
#13

Un tout grand merci pour votre aide.
ça fonctionne avec FormBuilder et également avec un formulaire simple en HTML Big Grin

Je vais maintenant tester avec un plugin Smarty. Je vous tiens au courant.
#14

Super ! Comment as-tu fait pour gérer les pages avec FormBuilder ? Cela pourrait aider d'autres utilisateurs.

Merci
#15

Hello,

Pour le moment je ne fais que récupérer les datas des formulaires.
Je vais juste commencer à essayer d'appeler une page selon la réponse aux questions.
Je vous tiens au courant.

GC
Sujet fermé


Atteindre :


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