Accès à une autre page

bonjour je viens de faire un formulaire d'authentification,je veux accéder à une autre page si je clique sur un bouton de type submit.

Quel code peux-je utiliser?Merci

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Bonjour,

    Ta question es trop vague.....

    - Tu veux que ton formulaire ouvre une autre page ?
    - Tu veux que si l'authentification est confirmée ça redirige vers une autre page ?
    - Tu veux un lien vers une autre page ?

    Et puis... sans voir ton code... impossible de t'aider !

    NB: Pour poster ton code sur le forum, merci d'appliquer ceci :
    https://codes-sources.commentcamarche.net/faq/11288-les-balises-de-code

    .
    1. Bonjour

      Je veux que si l'authentification est confirmée ca redirige vers une autre page

      J'ai déjà posté le code sur le forum à partir du lien que vous m'avez proposé

      Merci
    2. Modérateur
      C'est ici qu il fallait poster ton code....
      Le lien ne fasait qu'expliquer comment faire...
    3. @jordane45C'est un plugin que je suis entré de réaliser

      Voici mon code pour le fichier principal
      <?php
      /*
      Plugin Name:Gestion_salles
      Description:Plugin pour la gestion des salles de cours
      Version:0.1
      Licence:GPL
      Author:Alidi
      Author URL:http://localhost/wordpress
      */
      
      //don't load directly
      if(!defined('ABSPATH'))
        die('-1');
        
        //Les constantes
        define('DEV_URL',plugin_dir_url (__FILE__));
        define('DEV_DIR',plugin_dir_path(__FILE__));
        define('DEV_VERSION', '0.1');
        define('DEV_NAME', 'Gestion_salles' );
        define('DEV_OPTION_SETTINGS', 'Gestion_salles_settings');
      
      
      // Menu Admin Activation
      
      add_action('admin_menu','add_admin_menu');
      function add_admin_menu(){
      //parameters details
      //add_management_page($page_title, $menu_title, $capability, $menu_slug, $function );
      //add a new setting page udner setting menu
      add_menu_page('Gestion_salles' ,'Gestion_salles', 'manage_options', 'menu_Gestion_salles', 'Gestion_init');
      }
      function Gestion_init(){
      echo"<h1>Formulaire d'authentification!</h1>";
      
      echo"
      
      <form method='post' action='Secrétaire.php'>
      <p style='width:150px;'>user: <input type='text' name='user'></p>
      <p style='width:150px;'>password: <input type='password' name='password'></p>
      <p style='width:300px;'><input type='submit' value='Valider'></p> 
      
      </form>
      
      ";
      }
      ?>	
      


      Autre code pour le fichier de la page vers laquelle ca redirige une fois l'authentification est terminée

      <?php
         
         if(isset($_POST['Valider']))
         
         { 
         $user=$_POST['user'];
         $password=$_POST['password'];
           echo'Salut '. $user.'<br>Bienvenu sur la page réservée !';
      	}
      ?>	
      


      Merci
  2. Modérateur
    Donc,
    Dans ton IF
    if(isset($_POST['Valider']))   { 
       //récupération PROPRE des variables AVANT de les utiliser
       $user=!empty($_POST['user']) ? $_POST['user']: NULL;
       $password= !empty($_POST['password']) ? $_POST['password']: NULL;
    
        // ici ton code pour vérifier les identifiants...
       
        // puis .. si utilisateur est connecté
        if( $userconnecte ){
           //ici la redirection si l'utilisateur est connecté
           header('location : tapage.php');
           exit(); //toujours mettre un exit apres une redirection
        }
    }
    

    1. Je viens d'utiliser ton code mais rien ne change

      Voici le message affiché après avoir cliqué le bouton valider

      The requested URL /wordpress/wp-admin/Secrétaire.php was not found on this server.

      Pouvez-vous m'expliquer la ligne 11?
    2. Modérateur
      Je viens de voir que tu étais sous wordpress...

      Déjà.. évite les caractères accentués ( aussi bien dans tes URL que dans tes noms de variable)

      Ensuite, pour la redirection sous wordpress.. ça se passe comme ça:
      wp_redirect( $url );
      exit;
      
    3. Jusqu'à maintenant ma question n'est pas encore résolue

      Est ce que le fichier de la page vers laquelle je veux me rediriger doit se trouver dans le même répertoire que le fichier principal de mon plugin??

      Corrige moi si c'est possible
      <?php
         
         if(isset($_POST['Valider']))
         
         //Récupération propre des variables avant de les utiliser
         { 
         $user=!empty($_POST['user'])? $_POST['user']:Null;
         $password=!empty($_POST['password'])? $_POST['password']:Null;
         
         //Vérification des identifiants
         
         //puis si l'utilisateur est connecté
         
         if($userconnecte){
         
         //ici la redirection si l'utilisateur est connecté
         
             wp_redirect($url);
      	   exit;
      
           echo'Salut '. $user.'<br>Bienvenu sur la page réservée !';
      	}
      }
      ?>	
      


      Merci encore
    4. Modérateur
      Tu as géré ma variable $userconnecte ??
      Je ne le vois pas dans ton code
    5. @jordane45En fait je suis débutant il y a plusieurs trucs que je ne maitrise pas en programmation web

      Montre moi comment la gérer s'il vous plait
  3. Bonjour

    Jusqu'à maintenant je ne parviens pas à afficher ma zone de connexion

    Corrige moi voici mon code
    <?php
    /*
    Plugin Name:Gestion_salles
    Description:Plugin pour la gestion des salles de cours
    Version:0.1
    Licence:GPL
    Author:Alidi
    Author URL:http://localhost/wordpress
    */
    
    //don't load directly
    if(!defined('ABSPATH'))
      die('-1');
      
      //Les constantes
      define('DEV_URL',plugin_dir_url (__FILE__));
      define('DEV_DIR',plugin_dir_path(__FILE__));
      define('DEV_VERSION', '0.1');
      define('DEV_NAME', 'Gestion_salles' );
      define('DEV_OPTION_SETTINGS', 'Gestion_salles_settings');
    
    
    // Menu Admin Activation
    
    add_action('admin_menu','add_admin_menu');
    function add_admin_menu(){
    //parameters details
    //add_management_page($page_title, $menu_title, $capability, $menu_slug, $function );
    //add a new setting page udner setting menu
    add_menu_page('My plugin' ,'Gestion_salles', 'administrator', 'menu_Gestion_salles', 'Gestion_init','dashicons-tickets', 6 );
    }
    function Gestion_init(){
    
    
    		function wp_authenticate($username, $password) {
        $username = sanitize_user($username);
        $password = trim($password);
     
        /**
         * Filters whether a set of user login credentials are valid.
         *
         * A WP_User object is returned if the credentials authenticate a user.
         * WP_Error or null otherwise.
         *
         * @since 2.8.0
         * @since 4.5.0 `$username` now accepts an email address.
         *
         * @param null|WP_User|WP_Error $user     WP_User if the user is authenticated.
         *                                        WP_Error or null otherwise.
         * @param string                $username Username or email address.
         * @param string                $password User password
         */
        $user = apply_filters( 'authenticate', null, $username, $password );
     
        if ( $user == null ) {
            // TODO what should the error message be? (Or would these even happen?)
            // Only needed if all authentication handlers fail to return anything.
            $user = new WP_Error( 'authentication_failed', __( '<strong>ERROR</strong>: Invalid username, email address or incorrect password.' ) );
        }
     
        $ignore_codes = array('empty_username', 'empty_password');
     
        if (is_wp_error($user) && !in_array($user->get_error_code(), $ignore_codes) ) {
            /**
             * Fires after a user login has failed.
             *
             * @since 2.5.0
             * @since 4.5.0 The value of `$username` can now be an email address.
             *
             * @param string $username Username or email address.
             */
            do_action( 'wp_login_failed', $username );
        }
     
        return $user;
    }
    	
    
    }
    ?>	
    
    1. Modérateur
      wp_authenticate est une fonction native de wordpress....
      Tu ne dois pas réécrire la fonction... juste l'appeler !

      Comme indiqué avant.... il faudrait déjà te former au fonctionnement de wordpress avant d'essayer de coder dedans....