[RESOLU] Redirection après identification

Mammouth du PHP | 643 Messages

31 mai 2016, 20:37

Salut à tous.
J'essai de procéder à une redirection une fois le visiteur identifié.
Sur le formulaire en lui même aucun problème ca marche c'est sur les parametres ou je galère.

J'ai un array ou j'attribut une valeur à chaque région:
$aRegion = array(1 => 'Alsace', 2 => 'Aquitaine', // ...
Et une fonction pour redirigé:
Sur la ligne du header location je recupère bien id_region mais si je rajoute mon array devant comme dans le code pour récupérer le nom de la région ca l'ignone et si je met que $_SESSION['id_region'] j'ai bien la bonne valeur maitenant je cherche la valeur et nom le nombre....
Merci à vous
/*
vérifie l'existence de l'utilisateur à partir
de son login et son mot de passe
*/
function authentificationPro($pseudo, $password){
	
  global $bdd;

	$return = NULL;
	
   // Vérification des identifiants
  $req = $bdd->prepare('SELECT * FROM simply_user WHERE pseudo = :pseudo AND password = :password');
  $req->execute(array(
                        'pseudo' => $pseudo,
                        'password' => $password
			));
						
			
						
  if($req->rowCount() > 0) {
	  
  	$resultat = $req->fetch();
	$_SESSION['membre'] = $resultat;
	$_SESSION['pseudo'] = $resultat['pseudo'];
	$_SESSION['password'] = $resultat['password'];
	$_SESSION['id_region'] = $resultat['id_region']; 
	$_SESSION['type'] = 'client';
	$_SESSION['statut'] = $resultat['statut'];
		
	if(!empty($_POST['remember'])) setcookie('identification', serialize(array($pseudo, $password)), mktime(0, 0, 0, date('m'), date('d'), date('Y')+1), '/');
	

	header('Location: /sortie/region-'.$aRegion[$_SESSION['id_region']].'.php');
	
  } else {
     $return = '<div class="alert alert-danger" role="alert"><i class="fa fa-frown-o"></i> Mauvais identifiant ou mot de passe !</div>';

  }
  

  return $return;
 
}

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

01 juin 2016, 10:00

Bonjour,

Ton array $aRegion est déclaré en dehors de ta fonction authentificationPro(), celle-ci ne peut donc pas le voir et doit en principe générer un message d'avertissement.

Déclare ton tableau comme une variable globale dans ta fonction (cf. $bdd) pour qu'elle puisse y avoir accès, cela devrait mieux fonctionner :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...