Header("location=...) avec ovh

Fermé
tresor - Modifié par jordane45 le 10/05/2016 à 01:48
jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 - 10 mai 2016 à 01:52
Bonjour,
j'ai un domaine chez ovh et j'ai creer une application web que j'ai heberger dans un sous-domain (www.aplication.monDomain.com). l'aplliccation est tet qu'on doit s'authentifier pour qu'elle te charge le compte ou la page selon habilitation (administrateur, vendeur, comptable). Mais ce que je ne comprend pas ce que j'introduit le bon login et le bon mot de passe mais je n'accede pas a la page ou au compte voulu, le navigateur ne quitte pas la page d'authentification. Aidez moi svp. voici mon code php

<?php
  //Démarrage de la session
  session_start();
  
  if(isset($_POST['btCx'])){
 try{
   $u = $_POST['txtUserName'];
   $p = $_POST['txtPwd'];
   
   $pdo_options[PDO::ATTR_ERRMODE] = PDO::ERRMODE_EXCEPTION;
   $bdd = new PDO('mysql:host=******.mysql.db;dbname=******','*****','****',$pdo_options);
   
   $bddConnexion = new PDO('mysql:host=*****.mysql.db;dbname=******','kollynethm13','******',$pdo_options);
   
   $reponse = $bdd->query("SELECT c.user, c.pwd, c.idAgent, a.type, a.nom, a.postnom, a.prenom FROM compte AS c JOIN agent AS a ON c.idAgent=a.idAgent WHERE c.user=\"".$u."\" AND c.pwd=\"".$p."\"");
   $donnees = $reponse->fetch();
   
   if(!empty($donnees['idAgent'])){
  $idAgent = $donnees['idAgent'];
  $type = $donnees['type'];
  
  $rCx = $bddConnexion->query("SELECT etat FROM t_connexion WHERE idAgent=".$idAgent);
  $dEtatCx = $rCx->fetch();
  
  if($dEtatCx['etat']!='C'){
    
    if($type=="MAN"){
   $_SESSION['idAgent'] = $idAgent;
   
   $rDate = $bddConnexion->query("SELECT NOW() AS leo");
   $dDate = $rDate->fetch();
   $dateHeureDuJour = $dDate['leo'];
   
   $etat = 'C';
   
   $insertConnexion = "INSERT INTO t_connexion(idAgent,dateDuJour,etat) VALUES(:idAgent,:dateDuJour,:etat)";
   
   $st = $bddConnexion->prepare($insertConnexion);
   $st->bindParam(':idAgent',$idAgent);
   $st->bindParam(':dateDuJour',$dateHeureDuJour);
   $st->bindParam(':etat',$etat);
   
   $reponse = $st->execute();
   
   if($reponse==1){
     $_SESSION['loggin'] = $u;
     $_SESSION['mdp'] = $p;
     $_SESSION['nomAgent'] = $donnees['nom'];
     $_SESSION['postnomAgent'] = $donnees['postnom'];
     
     header("location:pg/TridentAdministrateur.php");
   }

svp aidez moi



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

Merci d'y penser dans tes prochains messages.

1 réponse

jordane45 Messages postés 38472 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 5 mai 2025 4 744
10 mai 2016 à 01:52
Bonjour

Commence par ajouter la ligne suivante au tout début de ton fichier :
error_reporting(E_ALL);

histoire d'afficher les éventuelles erreurs php.

Ensuite, places tes requêtes dans des blocs TRY/CATCH pour voir si il n'y aurait pas des soucis avec elles.

Et enfin....
Ajoutes des ECHO dans ton code pour essayer de voir où bloque ton programme (histoire de voir si tu rentres bien dans tes différents IF).

NB : je ne vois pas l'interret de ces lignes de code :
   $rDate = $bddConnexion->query("SELECT NOW() AS leo");
   $dDate = $rDate->fetch();
   $dateHeureDuJour = $dDate['leo'];

Qui peuvent être simplement remplacées par :
$dateHeureDuJour  = date('Y-m-d H:i:s');
0