Creation d'un formulaire

Ce forum vous servira à trouver de l'aide uniquement en ce qui concerne le développement d'un de vos MODs, ou l'adaptation d'un MOD phpBB2 pour phpBB3.

Modérateur: Equipe

Creation d'un formulaire

Messagepar sebf » 09 Oct 2009 à 13:32

Bonjour,

J'ai creer un mod qui me permet d'afficher des infos de plusieurs table de la DB.
Pour cela, j'ai donc 2 fichiers : forza3_body.html (dans le template) et le forza3.php

Maintenant, je voudrait mettre un formulaire dans le html (qui entre autre recupere des infos du php (user etc ...)) + ajout de variable par l'utilisateur.

Mon probleme est comment creer la partie html qui va donc retourner des infos $variables_utilisteurs vers la DB ?
Code: Tout sélectionner
<form action" ..." methode="post" ... ?!?  ....


je suis perdu là

Une idée ?


D'avance 1000 MERCI

EDIT : APres pas mal d'essai, j'ai un truc qui marche un peu :
Dans le .html :
Code: Tout sélectionner
<form method="post" action="/phpBB3/forza3.php" >
 <select name="pilote">
<option value={PSEUDO}> {PSEUDO}</option>
</select><br>
      <select name="style">
   <option value="Volant"> Volant</option>
   <option value="Pad"> Pad</option>
</select><br>
<select name="console">
   <option value="X360"> X360</option>
   <option value="Wii"> Wii</option>
</select><br>
     <input type="submit" name="envoi" value="Envoyer" />


dans le .php
Code: Tout sélectionner
// récupération des variables du formulaire

$pilote = $_POST['pilote'];
$style = $_POST['style'];
$console = $_POST['console'];

$sql = "INSERT into a_test VALUES ('$pilote' , '$style' , '$console')";
$result = $db->sql_query($sql);


Par contre, 2 petits soucis :

1/ a la 1er saisie du formulaire, j'ai dans la table une insertion avec tout les champs vide + une insertion avec les donnée.
Pourquoi 2 entrée pour 1 formulaire et pourquoi tous les champs vide ?

2/ comment signifier a l'utilisateur que ces infos ont été envoyé dans la DB ?

Merci d'avance
Dernière édition par sebf le 13 Oct 2009 à 17:46, édité 2 fois.
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 19:06

Bonsoir sebf,

Après ta requête SQL, tu mets ceci:
Code: Tout sélectionner
$meta_info append_sid("{$phpbb_root_path}tapage.$phpEx");
meta_refresh(3$meta_info);

$message $user->lang['INSERT_DATA'] . '<br /><br />' sprintf($user->lang['RETURN_FORM'], '<a href="' $meta_info '">''</a>');
trigger_error($message);   
Cela te permettra d'afficher un message à l'utilisateur. Il faudra définir les clés de langue dans le fichier language/fr/common.php. ;)

A bientôt,
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 20:35

Merci beaucoup

Bon reste mon 1er point, en faite quand la page forza.php s'affiche, elle envoi tout de suite les infos dans la DB (avant même que le formulaire soit remplie et validé) Ce qui est normal en soit vu que l'on appelle le .php, celui ci a la requette, donc il l'execute .....

Comment faire donc pour que cette requette ne soit pas executer a l'affichage de la page .php, mais bien que l'user valide le formulaire ?

Merci beaucoup :wink:
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 20:43

Tu fais un truc du genre:
Code: Tout sélectionner
// Ajoute une clé de formulaire
add_form_key('tonformulaire');

$submit = (isset($_POST['submit'])) ? true false;

// Submit
if ($submit)
{
    
// Check form
    
if (!check_form_key('tonformulaire'))
    {
        
$error[] = $user->lang['KEY_INVALID'];
    }
                
    
// Check errors
    
if (!sizeof($error))
    {   
        if (empty(
$fields_data['article_subject']))
        {
            
// Message d'erreur si le champ xx est vide
            
$error[] = $user->lang['XX_EMPTY'];
        }
    }

    
// If none error then we send
    
if ($submit && !sizeof($error))
    {
            
// ton code du formulaire à envoyer
    
}
    
    
// Assignation des variables
    
$template->assign_vars(array(
        
'S_ERROR'                    => (isset($error) && sizeof($error)) ? implode('<br />'$error) : '',
        
'S_ACTION'                      => append_sid("{$phpbb_root_path}tapage.$phpEx",''true),
    ));
}      


Côté template, tu devras mettre ceci:
Code: Tout sélectionner
<fieldset class="submit-buttons" style="margin-top: 8px;">
   {S_FORM_TOKEN}
   <input type="submit" name="submit" id="submit" value="{L_SUBMIT}" class="button1" />&nbsp;
   <input type="submit" name="preview" id="preview" value="{L_PREVIEW}" class="button1" />         
</fieldset>
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 21:23

Alors là, je perd mon php :oops:
Je programmé (si on peut dire ca) avant sous php-nuke et sous nuke-klan
En phpbb, c'est vraiment une logique bien differente et là, je pige plus .....

voici les 2 fichiers, je comprends pas bien comme programmé ce formulaire :oops:

http://www.racegamers.com/formulaire.rar
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 21:50

Oulah, ce n'est pas bon tout ça.

Tes fichiers ne respectent pas les standards phpBB et par ailleurs, ton formulaire, pourquoi tu as besoin d'un block mancherow? C'est inutile en mon sens puisque tu envoies des données. :)

La condition template pour indiquer que le membre doit être connecté, ce n'est pas top. Il existe un code tout simple dans phpBB.
Code: Tout sélectionner
// Si l'utilisateur n'est pas loggé
if (!$user->data['is_registered'])
{
    
login_box();
}   


Il y a pas mal d'erreurs, tu sais.

Code: Tout sélectionner
define('IN_PHPBB'true);
$phpbb_root_path2 = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH './';
$phpbb_root_path './../../../phpBB3/';
$phpEx substr(strrchr(__FILE__'.'), 1);
//include($phpbb_root_path2 . 'common.' . $phpEx);
include("./../../common.php");  


Si le site est en dehors du forum, ça devrait être:
Code: Tout sélectionner
define('IN_PHPBB'true);
$phpbb_root_path './../phpBB3/';
$phpEx substr(strrchr(__FILE__'.'), 1);
include(
$phpbb_root_path 'common.' $phpEx);  
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 22:03

Je te remercie de prendre un peu de temps pour moi :wink:

Bon, pour eviter tout erreur, j'ai remis les fichiers sur le root, donc, plus de répertoire

http://www.racegamers.com/phpBB3/formulairev2.rar

Je prends bonne note pour pour la connection user, je vais voir comment on met ca en service (pour le IF template user, c'est pourtant ce que donne la doc sur ce forum ....) :wink:
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 22:16

Oui, mais ça dépend comment on l'utilise et dans ton cas, ce n'est pas totalement utile.

Je suis en train de modifier. Mais bon, je ne suis pas codeur donc, il se peut que l'on peut encore améliorer. J'ai un peu de mal avec les SELECT de phpBB mais ça ne doit pas être compliqué. ;)
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 22:19

Franchement, mille milliard de MERCI !!!!!!!!!!!!!!!!! :D :D :D :D :D :D
Prends ton temps, le prinicipale, c'est que je parte sur des bonnes bases pour la suite, car j'ai ensuite plus de 30 jeux a refaire en format phpbb ..... :cry:
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 22:21

Je n'ai pas fait à 100% la chose mais je te laisse comprendre le code.

Voici le pack. ;)

Maintenant, Théonaute et ErnadoO pourront mieux t'aider. Je ne suis pas codeur mais eux si. J'ai fait ce que j'ai pu avec mes connaissances. ;)

Néanmoins, je n'ai pas corrigé la requête SQL. On peut mieux faire. Lis cette documentation concernant les requêtes SQL. ;)

Si tu me donnes tous les noms des champs, je peux te refaire la requête SQL. ;)
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 22:36

Merci beaucoup, je regarde ca (et je remet tout ca sous la racine /root , je supprime les répertoires)

Pour la table :

Code: Tout sélectionner
CREATE TABLE IF NOT EXISTS `champ_test` (
  `id` int(11) NOT NULL auto_increment,
  `date` datetime NOT NULL default '0000-00-00 00:00:00',
  `user` varchar(30) NOT NULL default '',
  `circuit` varchar(80) NOT NULL default '',
  `auto` varchar(80) NOT NULL default '',
  `min` int(1) NOT NULL default '0',
  `sec` char(2) NOT NULL default '0',
  `mil` char(3) NOT NULL default '0',
  `tot_mil` int(10) NOT NULL default '0',
  `style` varchar(15) NOT NULL default '',
  `console` varchar(4) NOT NULL default '',
  `pays` varchar(20) NOT NULL default '',
  `valid` int(1) NOT NULL default '0',
  `annee` int(4) NOT NULL default '0',
  `epreuve` int(2) NOT NULL default '0',


ENCORE MERCI ! :D
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 22:39

J'avais à peu près deviné juste. Pour le champ valid et epreuves, tu feras par toi-même puisque tu auras déjà des exemples. ;)

Teste ce pack. :)
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 22:49

ok, je test :wink:

Ok, bon, ca marche et ca marche pas :D :(
J'ai corrigé qq erreur de vitesse (des truc tout bete), rajouté les champs qui manque et qq petit truc.

Ca s'affiche (c'est bien deja :lol: )
Mais rien ne vas dans la table ..... :( et pas de message pour dire que les infos sont envoyé
Je vais essayer de voir le pourquoi du comment :?
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Re: Creation d'un formulaire

Messagepar Dakin Quelia » 10 Oct 2009 à 23:08

Oui, j'ai omis de signaler.

Tu dois définir CHAMPTEST_TABLE dans includes/constants.php. Comme elle n'est pas définie, il ne sait pas où envoyer les données. Ensuite, remplace xx par valid dans le tableau SQL. ;)

Cela devrait mieux fonctionner, normalement. ;)
Image Aucun support par mail, MP ou msn.
Développeur d'une framework phpBB (outil)
Ouvrir un compte Gratuit chez Free-H? Détail complet en cliquant ici | Créer votre forum phpBB facilement: MyFF
Mon blogue: Mon blogue | Mon jeu de rôles: Sénat Galactique | Mon hébergeur: Free-H | phpBB Forge: cliquez ici

Image
Avatar de l’utilisateur
Dakin Quelia
Supporter
Supporter
 
Messages: 20391
Inscription: 31 Oct 2006 à 18:33
Localisation: Belgique

Re: Creation d'un formulaire

Messagepar sebf » 10 Oct 2009 à 23:18

oui, c'est bien ce que j'ai fais, mais ca veux pas ....
Sebf
http://www.racegamers.com
Site Portail sur les jeux de sport mecanique
Avatar de l’utilisateur
sebf
Posteur néophyte
Posteur néophyte
 
Messages: 63
Inscription: 01 Fév 2004 à 20:53

Suivante

Retourner vers Aide au développement

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

Partenaires : phpBBHacks.com • phpBB-Seo.com • EzCom-fr.com • phpBB3 Styles • phpBB podpora • phpBB Portugal    Liens : Net Avenir • PromoBenef • Ticket Gagnant