En locale host, je parviens a ouvrir une session mais quand j'ai heberger ça nec

webmaster -  
 Utilisateur anonyme -
Bonjour,
en locale host, je parviens a ouvrir une session mais quand j'ai heberger ça ne renvoie que la page de connexion alors que les identifiant et mot de passe sont juste

<?php
 session_start();
 
 @$Identifiant=$_POST["Identifiant"];
 @$Mdp1=$_POST["Mdp1"];
 @$Submit=$_POST["Submit"];
 $message="";
 if(isset($Submit)){
 include("host.php");
 $res1=mysqli_query($id,"select * from client where Identifiant='$Identifiant' AND Mdp1='$Mdp1' AND confirmation_cle_recu_par_mail='oui' limit 1");
 while($tab=mysqli_fetch_assoc($res1)){
  $login=$tab["Identifiant"];
  $pass=$tab["Mdp1"];
  $name=$tab["Nom"];
  $image=$tab["Photo"];
  $mail=$tab["Email"];
  $name_subname=$tab["Nom"]." ".$tab["Prenom"];
  $numerotation=$tab["Id"];
  $clee=$tab["confirmation_cle_recu_par_mail"];
  $cleee="oui";
 }if(@$login==$Identifiant AND $pass==$Mdp1 AND $clee==$cleee ){
  $_SESSION["autoriser"]="oui";
  $_SESSION["Nom"]="$name";
  $_SESSION["nomPrenom"]="$name_subname";
  $_SESSION["Identifiant"]="$login";
  $_SESSION["Photo"]="$image";
  $_SESSION["Email"]="$mail";
  $_SESSION["id"]="$numerotation";
  $_SESSION["confirmation_cle_recu_par_mail"]="$clee";
  
  //header("location:http://www.sos-mokondzi.org/index.php") 
   header('Location: <ital>http:</ital><ital>//www.sos-mokondzi.org/index.php</ital>');     
 }
 else{
  //header("location:http://www.sos-mokondzi.org/login.php")
   header('Location: <ital>http:</ital><ital>//www.sos-mokondzi.org/login.php</ital>');     
  }
   }



EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

1 réponse

NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365
 
J'ai ajouté la coloration syntaxique du code sur ta question.

Déjà je vois que tu stock le mdp en clair dans la BDD, c'est strictement déconseillé (et totalement interdit en production).

Ensuite quel est le type du champ 'confirmation_cle_recu_par_mail' ?
As-tu fais des print_r ou var_dump sur tes variables pour en voir le contenu ?

Et le @ il sert à quoi ?

0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour nhenry
Le @ sert à masquer les erreurs... Chose à ne surtout pas faire...
0
NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention   365 > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Merci pour l'info, en effet, c'est normal que je ne l'ai jamais utilisé.
Donc
@$Mdp1=$_POST["Mdp1"];
C'est équivalent à
if(isset($_POST["Mdp1"])) $Mdp1=$_POST["Mdp1"];
plus propre en effet ...
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752 > NHenry Messages postés 15219 Date d'inscription   Statut Modérateur Dernière intervention  
 
Ou encore mieux, en ternaire
$Mdp1= isset($_POST["Mdp1"]) ? $_POST["Mdp1"] : NULL ;
0
Utilisateur anonyme > jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention  
 
Salut,

Et à partir de PHP7, le null coalescing operator
$Mdp1= $_POST["Mdp1"] ?? NULL;
0