+ Répondre à la discussion
Affichage des résultats 1 à 2 sur 2
  1. #1
    Invité de passage
    Femme Profil pro
    Étudiant
    Inscrit en
    juillet 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : juillet 2012
    Messages : 1
    Points : 0
    Points
    0

    Par défaut espace de connexion pour les membre avec php_oracle

    Bonjour,

    Je veux créer un espace de connexion pour les membres déja inscrit cad qui s'y trouvent dans une base de données ORACLE , quant je fais un test de ce code je reçois toujours le message "Compte non reconnu" même si l'identifiant et le mot de passe sont les 2 correctes.
    j'ai lu le code pas mal de foi mais en vain j'ai pas pu savoir ou se trouve l'erreur
    pourriez vous m'aidez?

    Voila le code de la page: index.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    <?php
     
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') 
    {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) 
    	{
     
    		$connect = ocilogon('SYSMAN','mypass','ORCL'); 	
     
    	 $sql = "SELECT * FROM users WHERE identifiant LIKE '".$_POST['login']."' AND pw LIKE '".$_POST['pass']."'";
    	 $sql_statement = ociparse($connect,$sql);
    	 ociexecute($sql_statement, OCI_DEFAULT);
    	 ocicommit($connect);
    	 $row=oci_fetch_array($sql_statement);	
    	ocifreestatement($sql_statement);
    	ocilogoff ($connect);
     
    		if ($row[0] == 1) 
    		{ 
             session_start(); 
             $_SESSION['login'] = $_POST['login']; 
             header('Location: membre.php'); 
             exit(); 
            } 
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
          elseif ($row[0] == 0) 
    	  { 
             $erreur = 'Compte non reconnu.'; 
          } 
    		else { 
             $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
          } 
       } 
       else { 
          $erreur = 'Au moins un des champs est vide.'; 
       }  
    }  
    ?>
    <html>
    <head>
    <title>Accueil</title>
    </head>
     
    <body>
    Connexion à l'espace membre :<br />
    <form action="index.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>
    et le code de la page membre.php
    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    <?php
    include("top.php");
     
    // on teste si le visiteur a soumis le formulaire de connexion
    if (isset($_POST['connexion']) && $_POST['connexion'] == 'Connexion') 
    {
    	if ((isset($_POST['login']) && !empty($_POST['login'])) && (isset($_POST['pass']) && !empty($_POST['pass']))) 
    	{
     
    		$connect = ocilogon('SYSMAN','mypass','ORCL'); 	
     
    		// on teste si une entrée de la base contient ce couple login / pass
     
    	 $sql = "SELECT * FROM users WHERE identifiant LIKE '".$_POST['login']."' AND pw LIKE '".$_POST['pass']."'";
    	 $sql_statement = ociparse($connect,$sql);
    	 ociexecute($sql_statement, OCI_DEFAULT);
    	 ocicommit($connect);
    	 $row=oci_fetch_array($sql_statement);	
    	ocifreestatement($sql_statement);
    	ocilogoff ($connect);
     
    		if ($row[0] == 1) 
    		{ 
             session_start(); 
             $_SESSION['login'] = $_POST['login']; 
             header('Location: membre.php'); 
             exit(); 
            } 
    		// si on ne trouve aucune réponse, le visiteur s'est trompé soit dans son login, soit dans son mot de passe
          elseif ($row[0] == 0) 
    	  { 
             $erreur = 'Compte non reconnu.'; 
          } 
    		else { 
             $erreur = 'Probème dans la base de données : plusieurs membres ont les mêmes identifiants de connexion.'; 
          } 
       } 
       else { 
          $erreur = 'Au moins un des champs est vide.'; 
       }  
    }  
    ?>
    <html>
    <head>
    <title>Accueil</title>
    </head>
     
    <body>
    Connexion à l'espace membre :<br />
    <form action="index.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 d'avance

  2. #2
    Membre régulier Avatar de moogli
    Profil pro
    Inscrit en
    juin 2004
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : juin 2004
    Messages : 58
    Points : 99
    Points
    99

    Par défaut

    salut,


    ce ne serait pas plutot

    SELECT count(*) FROM users WHERE identifiant.....


    @+

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •