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

Fermé
webmaster - Modifié le 14 juil. 2021 à 15:14
 Utilisateur anonyme - 14 juil. 2021 à 20:36
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 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345
Modifié le 14 juil. 2021 à 15:19
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 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705
14 juil. 2021 à 16:07
Bonjour nhenry
Le @ sert à masquer les erreurs... Chose à ne surtout pas faire...
0
NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024 345 > jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024
14 juil. 2021 à 19:42
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 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024 4 705 > NHenry Messages postés 15163 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 1 novembre 2024
14 juil. 2021 à 20:33
Ou encore mieux, en ternaire
$Mdp1= isset($_POST["Mdp1"]) ? $_POST["Mdp1"] : NULL ;
0
Utilisateur anonyme > jordane45 Messages postés 38314 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 24 novembre 2024
Modifié le 14 juil. 2021 à 20:38
Salut,

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