PHP|Débutant :: Forums

Advertisement

Besoin d'aide ? N'hésitez pas, mais respectez les règles

Vous n'êtes pas identifié(e).

#1 22-05-2015 10:38:37

agent
Membre
Inscription : 22-05-2015
Messages : 2

[PHP] Page blanche et résultat de fonction

Bonjour à tous,
Merci par avance pour votre assistance.

Je dispose d'un formulaire pour l'authentification des utilisateurs, le formulaire vient d'ICI.

La base de compte des utilisateurs est un annuaire LDAP non pas une base de type mysql.
Pour savoir si un utilisateur est autorisé ou non je procède à l'envoi de l'identifiant et mot de passe au travers la fonction ldap-connex. Cette fonction est incluse via la ligne include('ldap.php'); et renvoi comme résultat un chiffre
0 si ce n'est pas ok
1 si tous est ok

Ma page d'appel test.php
Si la connexion est ok elle doit renvoyer vers page.php

J'ai deux problèmes:
1 - Ma page test.php ne m'affiche rien et je ne trouve pas d’où provient l'erreur.
2 - Il semblerait qu'il y ai des problèmes d'envoi des 2 variables à ma fonction

J'ai déjà testé ma fonction elle est valide et me renvoi les bonnes information.

 
<!-- PAGE DE LOGIN TEST.PHP -->
<?
// Si les champs du formulaire sont remplis
if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion'){   
  if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) {
 
  $login = htmlentities(trim($_POST['login']));
  $password = htmlentities(trim($_POST['pass']));
  // Inclure ldap.php
  include('ldap.php');
  // Envoi des informations de connexion à la fonction et retour.
  $data = ldap-connex($login, $password);
  // si on obtient une réponse positive, alors l'agent est autorisé
  if ($data[0] == 1) {
  session_start();
  $_SESSION['login'] = $_POST['login'];
  header('Location: page.php');
  exit();
  }
  // si pas de réponse, erreur de login ou de mot de passe
  elseif ($data[0] == 0) {
  $erreur = 'Compte non reconnu.';
  }
  // sinon le problème est autre
  else {
  $erreur = 'Probème de connexion merci de contacter la DSI.';
  }
  }
  else {
  $erreur = 'Au moins un des champs est vide.';
  }
//}
?>
<html>
<head>
<title>Accueil</title>
</head>
<body>
Connexion :<br />
<form action="test.php" method="post">
Login : <input type="text" name="login" value="<?php if (isset($_POST['login'])) echo htmlentities(trim($_POST['login'])); ?>"><br />
Mot de passe : <input type="password" name="pass" value="<?php if (isset($_POST['pass'])) echo htmlentities(trim($_POST['pass'])); ?>"><br />
<input type="submit" name="connexion" value="Connexion">
</form>
<?php
if (isset($erreur)) echo '<br /><br />',$erreur;
?>
</body>
</html>
 

Merci de votre attention.

Hors ligne

#2 22-05-2015 20:27:33

tof73
Membre
Inscription : 21-12-2014
Messages : 156
Site Web

Re : [PHP] Page blanche et résultat de fonction

si la page test n'affiche rien du tout, mettre
error_reporting(E_ALL);
ini_set('display_errors', '1');
au début du php pour afficher les erreurs.

    $data = ldap-connex($login, $password);
    // si on obtient une réponse positive, alors l'agent est autorisé
    if ($data[0] == 1) {

si ldap-connex renvoie 0 ou 1, alors c'est directement $data qu'il faut tester.

Hors ligne

#3 26-05-2015 09:06:26

agent
Membre
Inscription : 22-05-2015
Messages : 2

Re : [PHP] Page blanche et résultat de fonction

Bonjour,

Merci pour votre aide, je viens de m’apercevoir d'une nouvelle erreur mais celle-ci semble venir de la fonction alors qu'elle était fonctionnel.
Je creuse pour la corriger.

Hors ligne

Pied de page des forums