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 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 332
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 ?

J'interviens principalement en VB6 et VB.NET, avec un peu de C#, mais la modération m'amène souvent sur d'autre langages.
En VB.NET pensez à activer "Option Explicit" et "Option Strict"
0
jordane45 Messages postés 36601 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 décembre 2022 4 419
14 juil. 2021 à 16:07
Bonjour nhenry
Le @ sert à masquer les erreurs... Chose à ne surtout pas faire...
0
NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022 332 > jordane45 Messages postés 36601 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 décembre 2022
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 36601 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 décembre 2022 4 419 > NHenry Messages postés 15025 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 26 novembre 2022
14 juil. 2021 à 20:33
Ou encore mieux, en ternaire
$Mdp1= isset($_POST["Mdp1"]) ? $_POST["Mdp1"] : NULL ;
0
Utilisateur anonyme > jordane45 Messages postés 36601 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 décembre 2022
Modifié le 14 juil. 2021 à 20:38
Salut,

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