Problème SQL

Ben -  
NookZ Messages postés 2376 Statut Membre -
Bonjour,

J'ai un petit problème de langage SQL ou PHP sur mon site internet dans la partie LOGIN
Je me permet de vous déranger, en espérant trouver réponse à mes problèmes...

J'arrive donc sur ma page Login, je m'identifie , aucune erreur a part que le serveur me renvoi à ma page de login (et je ne suis toujours pas identifié.)

Je pense que ca vient de la Partie SQL de mon code.

voici le code:
<?php 

session_start();
include('user_verif.php');
$action = array();


//-------------------------
// Redirection si connecté
//-------------------------

if( !empty( $id ) )
{
  header("Location: $url_redir");

  exit;
}

$action['get'] = isset( $_GET['action'] ) ? 'new' : '';
$action['post'] = isset( $_POST['action'] ) ? 'post' : '';


//---------------------------------------
// Affichage du formulaire d'inscription
//---------------------------------------

if( $action['get'] == 'new' or ( empty( $action['get'] ) and empty( $action['post'] ) ) )
{
  ?>

<html>

<head>
<link href="../style.css" rel="stylesheet" type="text/css" media="screen" /></head>

<body>
		<div id="gcommiddle"><div id="textecadre4">          
            
            <?php report_disp(); ?>
           <!-- Début du Formulaire --> 
   
          <form action="user_login.php?action=verif" method="POST">

	  <label>Pseudo:<br><input type="text" name="pseudo"></label><br>
	  <label>Password:<br><input type="password" name="password"></label><br><br>

	  <input type="submit" name="send" value="Connexion">

	  <br><br>
	  <a href="<?php echo $url_create; ?>">S'inscrire</a>

	</form>

           </div></div>
				
	<div id="gcombottom"></div>
  </body>
</html>

	<!-- Fin du Formulaire -->

  
<?php

  exit;
}

//------------------------
// Logout de l'utilisateur
//------------------------

if ( $action['get'] == 'logout' )
{
  session_destroy();

  header("Location: $url_redir");
}

//-------------------------------
// Identification de l'utilsateur
//-------------------------------

elseif ( $action['post'] == 'verif' or $action['get'] == 'verif' )
{

    $pseudo = isset( $_POST['pseudo'] ) ? strip_tags( $_POST['pseudo'] ) : '';

    $password = isset( $_POST['password'] ) ?  strip_tags( $_POST['password'] ) : '';

    if ( empty( $pseudo ) or empty( $password ) )
    {
      report( $erreurs['vide'] );
      exit( header("Location: $url_login") );
    }

  //Cryptage 

    $password = ( $conf_crypt == '1' ) ? md5( $password ) : $password;


  //Connexion à la Base de donnée
 $connection = mysql_connect("$sql_hote","$sql_user","$sql_pass","$sql_base","$sql_table") OR die('Erreur de connexion'); 
	 $db_selected = mysql_select_db('$sql_base', $connection);
	 

//Vérification auprès de la base de donnée

    $res = $sql ="SELECT * FROM $sql_table WHERE pseudo='$pseudo' AND password='$password' LIMIT 0,1";

    if ( mysql_num_rows($res) != "" )
    {
      report( $erreurs['passpseudo'] );

      exit( header("Location: $url_login") );
    }

    $row = mysql_fetch_array($res);

    if ( $row['activ'] == "non" )
    {
      report( $erreurs['cda'] );

      exit( header("Location: $url_login") );
    }

    if ( $row['activ'] == "black" )
    {
      report( $erreurs['cbl'] );

      exit( header("Location: $url_login") );
    }

    // j'extrais l'id correspondant au pseudo et au mot de passe

      $_SESSION['id'] = $row['id'];


    mysql_close();


  //Redirection en fonction de la configuration (1=membre, 3=admin)

  if( $conf_log == '3' )
  { 
    header('Location: admin/log.php');
  }
  

  else
  {
    header("Location:$url_redir");
  }

  exit;
}

//------------
//Redirections
//------------

else
{
  header("Location: $url_login");

  exit;
} 

?>


voila je pense que le problème vient de la partie vérification dans la base de donnée. Mais pour moi, tout me semble logique! (Surement ai-je mal compris l'utilisation une requête ou fonction...)

je tiens à préciser:
je suis encore débutant en Programmation et ce n'est pas moi qui est entièrement fais ce script, je me suis aidé de plusieurs autres scripts et tuto que j'ai remodelé (en essayant de comprendre chaque fonctions que j'utilisé)

voila un grand merci!
A voir également:

1 réponse

NookZ Messages postés 2376 Statut Membre 514
 
Je ne vois pas ce que vous faites à par rediriger l'utilisateur si le pseudo et le passe sont bien corrects dans la base, donc je ne vois pas la partie où vous faites une différence si l'utilisateur est ou non connecté niveau affichage ni même niveau base :s
0
Ben
 
Ok c'est moi qui est mal compris le système.

Donc en faite si le pseudo et password sont bon, il faut que j'ajoute un "if ( $row['activ'] == "oui" )"
et que si c'est oui, je met la valeur 'oui' dans la colonne active de ma table?
0
NookZ Messages postés 2376 Statut Membre 514 > Ben
 
Oui, quelque chose comme ça.
0