Formulaire validation sur autre BDD

Information importante

En raison d'un grand nombre d'inscriptions de spammers sur notre site, polluant sans relache notre forum, nous suspendons la création de compte via le formulaire de "sign up".

Il est néanmoins toujours possible de devenir adhérent•e en faisant la demande sur cette page, rubrique "Inscription" : https://www.drupal.fr/contact


De plus, le forum est désormais "interdit en écriture". Il n'est plus autorisé d'y écrire un sujet/billet/commentaire.

Pour contacter la communauté, merci de rejoindre le slack "drupalfrance".

Si vous voulez contacter le bureau de l'association, utilisez le formulaire disponible ici, ou envoyez-nous un DM sur twitter.

Bonjour à tous,

Venant d'acquérir les bases de programmation j'ai décidé de me lancer à la conquête de Drupal. ^^

Etant sur un projet d'un ami qui consiste à créer un module pour une application web déjà existante.

Cette application web est à d'un club sportif. Permets de s'inscrire, avoir les classements, participer à des tournois, etc.

Mon problème est le suivant : Il y a déjà une base de donnée assez importante, j'ai réussi à me connecter. Maintenant je souhaite pouvoir permettre aux utilisateur de se connecter et s'inscrire.

j'ai énormément de mal avec les formulaires et dans la transmission des données.

Je n'arrive pas à gérer les données pour vérifier dans la base de données si elles sont correctes et ensuite permettre à l'utilisateur de se connecter.

Voici mon code :

/
*  Implement hook_menu()
*/

function module_menu() {
    $items = array();
    $items['module'] = array(
      'title' => t('Accueil'),
      'description' => t('Accueil''),
      'page callback' => 'module_index',
      'access callback' => TRUE,
      'type' => MENU_NORMAL_ITEM
    );

    $items['module/connection'] = array(
      'title' => t('Connection'),
      'description' => t('Connexion compte'),
      'page callback' => 'my_module_form',
      'page arguments' => array('module_connection'),
      'access callback' => TRUE,
      'weight' => -8,
    );
    $items['module/inscription'] = array(
      'title' => t('Inscription'),
      'description' => t('Inscription'),
      'page callback' => 'module_inscription',
      'access callback' => TRUE,
      'weight' => -6,
    );

    return $items;
  };

/
* Implement the function module_connection()
*/

function my_module_form(){
   return drupal_get_form('module_connection');
}

function module_connection($form, &$form_state) {

  $form['login']['first'] = array(
    '#type' => 'textfield',
    '#title' => t('Identifiant'),
    '#collapsible' => TRUE,  
    '#collapsed' => FALSE,
    '#size' => 15,
    '#maxlength' => 64,
    '#weight' => 4,
    '#required' => TRUE,
  );

  $form['password']['second'] = array(
    '#type' => 'password',
    '#title' => t('Mot de passe'),
    '#maxlength' => 64,
    '#size' => 15,
    '#weight' => 6,
    '#required' => TRUE,
  );

 
  $form['submit_button'] = array(
    '#type' => 'submit',
    '#value' => t('Confirmer'),
    '#weight' => 10,
  );
 
  return $form;
}

function module_connection_validate($form, &$form_state) {

 
  $login = $form_state['values']['first'];
  $mdp = $form_state['values']['second'];

  if ($login && $mdp){

    function verificationForm(){

        // connection BDD
        $mymodule_database = array(
          'database' => 'drupal_lfq',
          'username' => 'root',
          'password' => 'root',    
          'host' => 'localhost',
          'driver' => 'mysql',
        );
   
        Database::addConnectionInfo('db_key', 'default', $mymodule_database);
   
        db_set_active('db_key');

        // Essaie requete dynamique :
        $request =  db_select('membres', 'n')
        ->fields('n', array('membre_username', 'membre_password'))
        ->condition('mot_de_passe', $mdp)
        ->condition('login', $login);
        $resultat = $request->execute();
       
        if ($resultat) {
          while ($row = $resultat->fetchAssoc()) {
            // Do something with:
            // $row['name']
            echo $row['membre_username'];
            echo $row['membre_password'];
            // $row['quantity']
          }
        }

   
        // fermeture BDD
        b_set_active();
      }

  } else {
    form_set_error('login', t('Veuillez completer votre identifiant et mot de passe'));

  }

 
}

function _lfs_module_connection_submit($form, &$form_state) {

  dpm($form_state['values']['first']);
  dpm($form_state['values']['second']);

}

J'ai tenté les requêtes dynamiques mais j'ai encore du mal avec.

Pour ce qui est de la suite je bloque royalement.

Donc j'espère avoir votre aide pour savoir ou traiter les données transmises et comment les traiter avec cette deuxième base de données.

Merci d'avance pour votre aide !

Forum : 
Version de Drupal :