[quote=Saian post_id=460089 time=1559307000 user_id=20262]
Salut, alimentes tu bien la variable $_SESSION['Type'] lors de l'identification de l'utilisateur ? et tu devrais plutôt avoir une condition du type :
if (isset($_SESSION['Type']) && $_SESSION['Type'] != '0') {}
Car tant que l'utilisateur n'est pas connecté, tu n'as pas définit $_SESSION['Type'] et utiliser $_SESSION['Type'] provoque la notice "Notice: Undefined index: Type". "L'index Type n'est pas définit" car effectivement le tableau $_SESSION n'a pas l'index Type.
Avec le isset d'abord dans le if si l'index n'est pas définit alors la deuxième partie du if n'est pas évaluée (condition &&) et donc pas d'erreur.
[/quote]
J'ai essayé de modifier mon fichier connexion.php du coup cela donne ça :
[code]<?php
session_start();
include('bd/connexionDB.php'); // Fichier PHP contenant la connexion à votre BDD
// S'il y a une session alors on ne retourne plus sur cette page
if (isset($_SESSION['id'])){
header('Location: index.php');
exit;
}
// Si la variable "$_Post" contient des informations alors on les traitre
if(!empty($_POST)){
extract($_POST);
$valid = true;
if (isset($_POST['connexion'])){
$mail = htmlentities(strtolower(trim($mail)));
$mdp = trim($mdp);
if(empty($mail)){ // Vérification qu'il y ait bien un mail de renseigné
$valid = false;
$er_mail = "Il faut mettre un mail";
}
if(empty($mdp)){ // Vérification qu'il y ait bien un mot de passe de renseigné
$valid = false;
$er_mdp = "Il faut mettre un mot de passe";
}
// On fait une requête pour savoir si le couple mail / mot de passe existe bien car le mail est unique !
$req = $DB->query("SELECT * FROM utilisateur WHERE mail = ? AND mdp = ?",
array($mail, crypt($mdp, '$6$rounds=5000$macleapersonnaliseretagardersecret$')));
// array($mail, crypt($mdp, "VOTRE CLÉ UNIQUE DE CRYPTAGE DU MOT DE PASSE")));
$req = $req->fetch();
// Si on a pas de résultat alors c'est qu'il n'y a pas d'utilisateur correspondant au couple mail / mot de passe
if (!isset($req['id'])){
$valid = false;
$er_mail = "Le mail ou le mot de passe est incorrecte";
}elseif($req['n_mdp'] == 1){ // On remet à zéro la demande de nouveau mot de passe s'il y a bien un couple mail / mot de passe
$DB->insert("UPDATE utilisateur SET n_mdp = 0 WHERE id = ?",
array($req['id']));
}
// S'il y a un résultat alors on va charger la SESSION de l'utilisateur en utilisant les variables $_SESSION
if ($valid){
$_SESSION['id'] = $req['id']; // id de l'utilisateur unique pour les requêtes futures
$_SESSION['nom'] = $req['nom'];
$_SESSION['prenom'] = $req['prenom'];
$_SESSION['tel'] = $req['tel'];
$_SESSION['mail'] = $req['mail'];
$_SESSION['Type'] = $req['Type'];
header('Location: index.php');
exit;
}
}
}
?>[/code]
J'ai remodifié mon fichier index.php (là ou se trouve mes conditions) cela donne ça :
[code]<?php
// Permet de savoir s'il y a une session.
// C'est à dire si un utilisateur c'est connecté à votre site
session_start();
// Fichier PHP contenant la connexion à votre BDD
include('bd/connexionDB.php');
?>
<!doctype html>
<html class="no-js" lang="">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<title>Orthoweb</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="apple-touch-icon" href="apple-touch-icon.png">
<link rel="stylesheet" href="assets/css/bootstrap.min.css">
<!--<link rel="stylesheet" href="assets/css/bootstrap-theme.min.css">-->
<!--For Plugins external css-->
<link rel="stylesheet" href="assets/css/plugins.css" />
<link rel="stylesheet" href="assets/css/roboto-webfont.css" />
<!--Theme custom css -->
<link rel="stylesheet" href="assets/css/style.css">
<!--Theme Responsive css-->
<link rel="stylesheet" href="assets/css/responsive.css" />
<script src="assets/js/vendor/modernizr-2.8.3-respond-1.4.2.min.js"></script>
</head>
<body>
<div class='preloader'><div class='loaded'> </div></div>
<!-- Sections -->
<section id="social" class="social">
<div class="container">
<!-- Example row of columns -->
<div class="row">
<div class="social-wrapper">
<div class="col-md-6">
<!--On peut rajouter ici les reseaux sociaux --->
</div>
<div class="col-md-6">
<div class="social-contact">
<a href="#"><i class="fa fa-phone"></i>+011 54925849</a>
<a href="#"><i class="fa fa-envelope"></i>
[email protected]</a>
</div>
</div>
</div>
</div>
</div> <!-- /container -->
</section>
<nav class="navbar navbar-default">
<div class="container">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1" aria-expanded="false">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
<a class="navbar-brand" href="index.php"></a>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="#">Home</a></li>
<li><a href="consulter.php">Comment consulter ? </a></li>
<li><a href="troubles.php">Troubles traités</a></li>
<li><a href="visio.php">Télé-orthophonie</a></li>
<li><a href="procedure.php">Procédure</a></li>
<li><a href="contact.php">Contact</a></li>
<?php
if (isset($_SESSION['Type']) && $_SESSION['Type'] != '0') { //Sinon s'il y a une session alors on verra les liens ci-dessous
?>
<li class="login"><a href="admin.php">Admin</a></li>
<li class="login"><a href="deconnexion.php">Déconnexion</a></li>
<?php
}elseif(isset($_SESSION['Type']) && $_SESSION['Type'] == '0'){ //Sinon s'il y a une session alors on verra les liens ci-dessous
?>
<li class="login"><a href="profil.php">Mon compte</a></li>
<li class="login"><a href="deconnexion.php">Déconnexion</a></li>
<?php
}else{
?>
<li class="login"><a href="inscription.php">Inscription</a></li>
<li class="login"><a href="connexion.php">Connexion</a></li>
<?php
}
?>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>[/code]
Maintenant quand je suis sur la page d'accueil je souhaite m'inscrire ou me connexion la redirection ne se fait pas je reste sur index.php x_x