Timama (Créer un compte)

Toutes mes réponses sur les forums

15 sujets de 31 à 45 (sur un total de 233)
  • Auteur
    Messages
  • Timama
    Participant
    Chevalier WordPress
    284 contributions

    en fait il fallait séparer les conditions de la fonction de validation , soit créer une nouvelle fonction qui teste  les données de connexion :

    /*Gform after submission hook*/
    add_action( 'gform_after_submission_124', 'login_form_after_submission_124', 10, 2 );
    function login_form_after_submission_124($entry, $form) {
    	// get the username and pass
    	$username = $entry[1];;
    	$pass = $entry[2];;
    	$creds = array();
    		
    	// create the credentials array
    	$creds['user_login'] = $username;
    	$creds['user_password'] = $pass;
    	
    	// sign in the user and set him as the logged in user
    	$user = wp_signon( $creds );
    	wp_set_current_user( $user->ID );
    }
    
    
    /*Gform field validation hook*/
    add_filter( 'gform_field_validation_124', 'login_validate_field_124', 10, 4 );
    function login_validate_field_124($result, $value, $form, $field) {
    // make sure this variable is global
    	global $user;
    	// validate username
    	if ( $field['cssClass'] === 'benutzername' ) {
    		$user = get_user_by( 'login', $value );
    		if ( empty( $user->user_login ) ) {
    			$result["is_valid"] = false;
    			$result["message"] = "Invalid username provided.";
    		}
    	}
    	// validate pass
    	if ( $field['cssClass'] === 'passwort' ) {
    		if ( !$user or !wp_check_password( $value, $user->data->user_pass, $user->ID ) ) {
    			$result["is_valid"] = false;
    			$result["message"] = "Invalid password provided.";
    		}
    	}	
    	return $result;
    		
    }	
    
    
    add_filter('gform_validation_124', 'msk_gform_user_registration_validation');
    function msk_gform_user_registration_validation($validation_result){
    	global $user;
    	
    	$form = $validation_result['form'];
    	$user_id = $user->ID;
    	$user1 = get_userdata( $user_id );
    	$user_role = array_shift($user1->roles);
    	
    	if ($user_role != 'mitglieder_partnerlieferanten'  )
    	 {
    				if ($user_role == 'mitglieder_mitglieder' ) 
    				{
    					$admission = $user->usermitglieder_admission;
    					
    				}
    				if ($user_role == 'mitglieder_partnerorganisationen' ) 
    				{
    					$admission = $user->userpartnerorga_admission;
    				}
    				
    				// AJOUT TEST POUR SAVOIR SI LE USER EST ADMIS (ou administrato = admis direct)
    			   if (($admission == 'ja' ) OR ($user_role == 'administrator' ))
    				{
    				}
    				else
    				{
    				echo '<script type="text/javascript">window.alert(" Sie sind nicht Miglieder ");</script>';
    				}
    	}
    	else
    	{ 
    		/*$validation_result['is_valid'] = false;
    		$field['failed_validation'] = true;
    		$field['validation_message'] = 'Sie können nur in Lieferantenbereich anmelden!';*/
    		echo '<script type="text/javascript">window.alert(" Sie können nur in Lieferantenbereich anmelden ");
    		 </script>';
    	}
    	$validation_result['form'] = $form;
    	return $validation_result;
    }
    
    /* déconnexion */
    function wpa_remove_menu_item( $items, $menu, $args ) {
        if ( is_admin() || ! is_user_logged_in() ) 
            return $items;
    		
        foreach ( $items as $key => $item ) {
            if ( 'Abmelden' == $item->title ) {
                $items[$key]->url = wp_logout_url('http://www.kmuzentrale.de');
            }
        }
        return $items;
    }
    add_filter( 'wp_get_nav_menu_items', 'wpa_remove_menu_item', 10, 3 );

     

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    merci beaucoup Davdino pour tes conseils…..

    Si j’impose $admission juste avant, il me met quand même “Sie sind nicht Miglieder”

    $admission = 'ja';
                    if (strcmp($admission, 'ja') !== 0  )
                    {
                        return $result;
                    }
                    else
                    {
                    echo '<script type="text/javascript">window.alert(" Sie sind nicht Miglieder ");</script>';
                    }

    j’ai testé avec

    				$admission = 'ja';
    				if ($admission=='ja')
    				{
    					return $result;
    				}
    				else
    				{
    				echo '<script type="text/javascript">window.alert(" Sie sind nicht Miglieder ");</script>';
    				}

    là ça fonctionne … je l’avais déjà testé mais sans même $admission = ‘ja’; juste avant…
    En fait, il semblerait que c’est la condition if ($user_role == ‘administrator’ )  qui ne fonctionne pas…..
    et quand je regarde dans le user, c’est bizarre car

    [“roles”]=> array(0) { }

    pourtant c’est un role de wordpress….. je ne vois pas pourquoi il est vide !

    hummmm je continue à chercher….

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    is_user_logged_in() est seulement lié au formulaire ?

    le formulaire fonctionne bien. C’est juste ce is_user_logged_in() qui ne donne rien alors que je suis connectée…
    et pourtant j’ai testé le fait que le tout passe bien par pluggable.php donc is_user_logged_in() est initialisé..

     

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    alors je viens de me rendre compte d’une chose .

    J’ai donc mon formulaire de connexion à mon espace membre (en ligne) et j’ai aussi la connexion pour aller voir le tableau de bord wordpress.

    Quand j’utilise  mon formulaire de connexion à mon espace membre (en ligne) , is_user_logged_in() est à false.

    Et si je suis connectée en même temps dans mon tableau de bord wordpress (pour le même user), et bien là is_user_logged_in() est à true dnas mon espace membre.

    Qu’est ce que cela peut bien vouloir dire ?

    merci pour vos lumières !

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    oh merci Li-An….. merci de me faire réfléchir d’une autre façon et de pas rester bloquer dans mon coin.

    j’ai peur que cela casse tout…… bon okay…. je vais tout sauvegarder avant et je tente ça….

    mais en même temps, c’est un code qui prend les données du formulaire créé à partir du plugin gravity form….

    et le truc c’est que si effectivement, c’est le thème qui pose problème, je ne peux malheureusement pas m’en passer !

    hummmm j’ai peur que ça fasse beaucoup de travail pour au final trouvé si c’est le thème ou pas…

    humm j’hésite du coup…..

     

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    alors, j’ai regardé en ajoutant wp_filter_nohtml_kses( $data ) mais bon cela ne fonctionnait paas.. et puis de fil en aiguille, j’ai mieux regardé ma sauvegarde du wp_editor, qui était la suivante :

    if(isset($_POST['kurzbeschreibung_partnerorganisationen'])){
    			update_post_meta($post->ID, "kurzbeschreibung_partnerorganisationen", esc_html($_POST["kurzbeschreibung_partnerorganisationen"])); 
    		  }

    et le fait d’enlever juste le esc_html() permet d’enlever l’affichage des balise dans l’éditeur !!

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    personne?

    je n’ai aucune aide et j’ai beau cherché sur tout le net, je en trouve pas de solution..

    Je ne veux pas la solution toute faite, mais peut être quelqu’un qui me fasse tester des choses dans mon code pour me permettre de comprendre et trouver?

     

    merci

     

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    bonjour,

    Un jour je suis tombée sur un multisite et pour chaque site, il y avait plusieurs langues…

    Tout dans la même base de données….c’est possible mais attention !

    Ce site est super lent ! la base de données est énorme et cela ralenti tout !

    Donc à voir …..

    en réponse à : [Résolu] Redirection dans functions.php donne une page blanche #1616407
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    en fait, ce n’est pas un problème de redirecton mais un problème de lecture de données dans la fonction gform_field_validation

    (ajouter des cas d’étude à la fonction gform_field_validation)

    https://wpfr.net/support/sujet/gform_field_validation-et-page-de-login-utilisateur-wordpress/#post-1616405

    J’ai résolu ce problème sous le post ci dessus..

     

     

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    okay, donc en fait rien à voir avec le lien que j’ai donné ci dessus. il falait bien placer les éléments dans la fonction pour qu’ils ne soient pas lu 2 fois et donc non vide….

    et là ça fonctionne (ajouter des cas d’étude à la fonction gform_field_validation)

    /*Gform after submission hook*/
    add_action( "gform_after_submission_124", "login_form_after_submission_124", 10, 2 );
    function login_form_after_submission_124($entry, $form) {
    	// get the username and pass
    	$username = $_POST['user_login'];
    	$pass = $_POST['user_password'];
    	$creds = array();
    		
    	// create the credentials array
    	$creds['user_login'] = $username;
    	$creds['user_password'] = $pass;
    	
    	// sign in the user and set him as the logged in user
    	$user = wp_signon( $creds );
    	wp_set_current_user( $user->ID );
    }
    
    
    add_filter( "gform_field_validation_124", "login_validate_field_124", 10, 4 );
    function login_validate_field_124($result, $value, $form, $field) {
    // make sure this variable is global
    	global $user;
    	// validate username
    	if ( $field['cssClass'] === 'benutzername' ) {
    		$user = get_user_by( 'login', $value );
    		if ( empty( $user->user_login ) ) {
    			$result["is_valid"] = false;
    			$result["message"] = "Invalid username provided.";
    		}
    			// AJOUT TEST POUR SAVOIR SI LE USER EST LIEFERANTEN
    		$user_role = array_shift($user->roles);
    		//echo 'user_role=' .$user_role;?> </br> <?php
    		if ($user_role !== 'mitglieder_partnerlieferanten' ) 
    		 {	
    				if ($user_role == 'mitglieder_mitglieder' ) 
    				{
    					$admission = $user->usermitglieder_admission;
    					
    				}
    				if ($user_role == 'mitglieder_partnerorganisationen' ) 
    				{
    					$admission = $user->userpartnerorga_admission;
    				}
    				//echo 'admission=' .$admission;?> </br> <?php
    				// AJOUT TEST POUR SAVOIR SI LE USER EST ADMIS (ou administrato = admis direct)
    			   if (($admission == 'ja' ) OR ($user_role == 'administrator' ) )
    				{
    				//echo 'PASSAGE admission ja  ou administrator benutzername';?> </br> <?php
    				return $result;
    				}
    				else
    				{
    				echo '<script type="text/javascript">window.alert(" Sie sind nicht Miglieder ");</script>';
    				}
    		}
    			else
    		 {
    		 echo '<script type="text/javascript">window.alert(" Sie können nur in Lieferantenbereich anmelden ");
    		 </script>';
    		}
    	// FIN AJOUT 
    		
    	}
    	// validate pass
    	if ( $field['cssClass'] === 'passwort' ) {
    		if ( !$user or !wp_check_password( $value, $user->data->user_pass, $user->ID ) ) {
    			$result["is_valid"] = false;
    			$result["message"] = "Invalid password provided.";
    		}
    	return $result;
    	}	
    	
    
    	//}	
    }	

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    j’ai bougé la question dans

    https://wpfr.net/support/sujet/redirection-dans-functions-php-donne-une-page-blanche/

     

    car je pense que le sujet de la question a changé

     

     

    Timama
    Participant
    Chevalier WordPress
    284 contributions

    bonjour,

    ALors, j’ai un peu mieux compris mon problème…. j’arrive a faire les différents cas de sélection pour la connexion d’un utilisateur (il doit avoir un role particulier et être admis).

    MAintenant, je n’arrive pas à faire des redirections de page

    /*Gform after submission hook*/
    add_action( "gform_after_submission_124", "login_form_after_submission_124", 10, 2 );
    function login_form_after_submission_124($entry, $form) {
    	// get the username and pass
    	$username = $_POST['user_login'];
    	$pass = $_POST['user_password'];
    	$creds = array();
    		
    	// create the credentials array
    	$creds['user_login'] = $username;
    	$creds['user_password'] = $pass;
    	
    	// sign in the user and set him as the logged in user
    	$user = wp_signon( $creds );
    	wp_set_current_user( $user->ID );
    }
    
    /*Gform field validation hook*/
    add_filter( "gform_field_validation_124", "login_validate_field_124", 10, 4 );
    function login_validate_field_124($result, $value, $form, $field) {
    // make sure this variable is global
    	global $user;
    	// validate username
    	if ( $field['cssClass'] === 'benutzername' ) {
    		$user = get_user_by( 'login', $value );
    		if ( empty( $user->user_login ) ) {
    			$result["is_valid"] = false;
    			$result["message"] = "Invalid username provided.";
    		}
    	}
    	// validate pass
    	if ( $field['cssClass'] === 'passwort' ) {
    		if ( !$user or !wp_check_password( $value, $user->data->user_pass, $user->ID ) ) {
    			$result["is_valid"] = false;
    			$result["message"] = "Invalid password provided.";
    		}
    	}		
    	$user_role = array_shift($user->roles);
    	//echo 'user_role=' .$user_role;?> </br> <?php
    
    	if ($user_role !== 'mitglieder_partnerlieferanten' ) 
    	 {	
    	  //echo 'PASSAGE différent de mitglieder_partnerlieferanten';	
    		if ($user_role == 'mitglieder_mitglieder' ) 
    		{
    			$admission = $user->usermitglieder_admission;
    			
    		}
    		if ($user_role == 'mitglieder_partnerorganisationen' ) 
    		{
    			$admission = $user->userpartnerorga_admission;
    		}
    	 
    	   if (($admission == 'ja' ) OR ($user_role == 'administrator' ) )
    		{
    		//echo 'admission=' .$admission;?> </br> <?php
    		//echo 'PASSAGE admission ja  ou administrator';	
    		wp_redirect('http://www.kmuzentrale.de/Mitgliederbereich/');
    		exit;
    		}
    		else
    		{
    		echo '<script type="text/javascript">window.alert(" Sie sind nicht Miglieder ");</script>';
    		wp_redirect(home_url());
    		exit;
    		}
    		return $result;
    
    	}
    	else
    	 {
    	 echo '<script type="text/javascript">window.alert(" Sie können nur in Lieferantenbereich anmelden ");</script>';
    	  wp_redirect(home_url());
    	 exit;
    	}
    
    
    
    }

    Je passe donc dans les différents cas mais dès que j’utilise wp_redirect, cela me fait une page blanche..

    Avez vous rencontrez ce problème déjà ?

    Merci pour votre aide et vos conseils

    TImama

    en réponse à : [Résolu] Ouverture de user-new.php quand création de nouveau user #1615109
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    okay. C’était seulement un problème de connexion avec l’hébergeur.
    J’ai regardé, il y avait des pb chez Strato.

    DOnc la prochaine fois, si vous essayez de sauver des modifications et que wordpress ouvre un fichier .php (ça fait peur quand même),

    et bah c’est juste un problème chez votre hébergeur

    ouf

    Timama

    en réponse à : [Résolu] Désinstallation d’un site multisite #1608935
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    bon voilà, alors, j’avais donc bien un mutlisite, avec une structure de multisite

    wp_, wp_2_ , wp_3_, …… , wp_9_

    En fait j’ai créé une base (avec le suffixe WPKMU_ pour les table) et j’ai importé la base que je dois récupérer dedans.

    Ensuite, j’ai regardé à quoi correspondaient les wp_, wp_2_ , wp_3_, …… , wp_9_.

    DOnc WP_ c’est pour le réseau en fait et après chaque wp_2_ , wp_3_, …… , wp_9_ corresponde à un site.

    J’ai gardé le site qui m’intéressait soit WP_3 et les tables wpKMU_ , j’ai effacé toutes les autres tables.

    Ensuite, j’ai mis wp_3_ dans wpKMU.

    Donc j’ai récupéré mon site avec les 3 langues….sans WPML…. il faut encore que je fasse des liaisons. et je pense que cela fonctionnera.

    merci pour ton aide momofr@free.fr !

     

    en réponse à : [Résolu] Désinstallation d’un site multisite #1608253
    Timama
    Participant
    Chevalier WordPress
    284 contributions

    et non, je n’ai plus WPML . Je pensais effectivement supprimer les langues en trop mais je n’avais pas pensé que WPML ne suivait pas.

    Donc effectivement, je vais tenter la migration comme tu me l’as conseillé !

    je n’ai pas encore eu le temps mais j’ai hâte de tester 😉

    merci beaucoup pour ce conseil…… !

15 sujets de 31 à 45 (sur un total de 233)