Page 1 sur 1

Redirection après identification

Posté : 31 mai 2016, 20:37
par yoann38
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;
 
}

Re: Redirection après identification

Posté : 01 juin 2016, 10:00
par Ryle
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 :)