Accès à une autre page

didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   -
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

  1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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

    .
    0
    1. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      C'est ici qu il fallait poster ton code....
      Le lien ne fasait qu'expliquer comment faire...
      0
      1. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
         
        C'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
        0
  2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
     
    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
        }
    }
    

    0
    1. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      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?
      0
    2. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      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;
      
      0
    3. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
       
      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
      0
    4. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      Tu as géré ma variable $userconnecte ??
      Je ne le vois pas dans ton code
      0
    5. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention   > jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention  
       
      En 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
      0
  3. didierdizo Messages postés 51 Date d'inscription   Statut Membre Dernière intervention  
     
    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;
    }
    	
    
    }
    ?>	
    
    0
    1. jordane45 Messages postés 30427 Date d'inscription   Statut Modérateur Dernière intervention   4 832
       
      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....
      0