vérifier dans deux tables d une même base,

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : vérifier dans deux tables d une même base,

Re: vérifier dans deux tables d une même base,

par Mazarini » 29 sept. 2011, 14:48

Bonjour,

il faut sélectionner la base avant chaque query si les tables sont sur le même serveur, mais pas dans la même base.
cf fonction mysql_select_db()

Si les bases ne sont pas sur le même serveur, il faut ouvrir 2 connexions et associer la bonne connexion à chaque requete.
cf fonction mysql_query() pour l'association avec une connexion.

Re: vérifier dans deux tables d une même base,

par RTS » 29 sept. 2011, 14:32

Merci beaucoup

Re: vérifier dans deux tables d une même base,

par sadeq » 29 sept. 2011, 11:45

Bonjour, tu dois exécuter 2 requêtes SQL successives et si l'une donne satisfaction c'est ok sinon pas ok. Voici une suggestion d'algorithme :
<?php // partie php à mettre en début de ton  fichier index.php :
// définition des parametres de connexion BD :

    $host     = '   ';
    $user     = '   ';
    $pass = '   ';
    $db = '  ';

if($_POST["login"] != "" && $_POST["mdp"] != "")
{
  $login     = $_POST["login"] ;
  $mdp      = $_POST["mdp"];
 
  //connexion à ta base données  
        @mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
        @mysql_select_db("$db") or die ("Impossible de se connecter à la base");
// Requête 1 & 2
        $r1  = "SELECT *  FROM ce_groupes where email='".$login."' and cod='".$mdp."'";
        $r2  = "SELECT *  FROM latable2 where nom='".$login."' and prenom='".$mdp."'";
// exécution successive des 2 requêtes
        $trouvé = false; // pour savoir si les requêtes vont trouver le membre recherché ou pas
        $result1 = mysql_query($r1);
// test si la requête 1 a trouvé le membre recherché
       if( mysql_num_rows($result1) >0) // si le nbre d'enregistrements du résultat est >à 0 alors trouvé
      {
          $trouvé = true;
       }
       else {
            // exécution de la requête 2
            $trouvé = false;
            $result2 = mysql_query($r2);
           // test si la requête 2 a trouvé le membre recherché
          if( mysql_num_rows($result2) >0) // si le nbre d'enregistrements du résultat est >à 0 alors trouvé
          {
               $trouvé = true;
          }
          else { $trouvé = false; }
    }
// fin de la recherche
   
    if ($trouvé == true)
    {
//si trouvé début de la session
    session_start() ;
    $_SESSION["login"] = $login ;
    header("Location: http://www.index_bienvenue.php") ;
    exit(); // fin de traitement (bon réflexe après un header)
  }
  //sinon on reste sur l'accueil
  else
  {
    header("Location: http://www.index_no.php") ;
    exit(); // fin de traitement (bon réflexe après un header)
  }
}
//fin du programme
?>
Voilà.

vérifier dans deux tables d une même base,

par RTS » 29 sept. 2011, 10:05

bonjour
j ai crée une session avec une fenêtre identifiant et mot de passe dans ma page,

seulement voilà j aimerai qu il aille vérifier dans deux tables différentes et que la condition soit si c est ok dans l une ou dans l autre alors...ok on va sur la page http://www........ ou sinon erreur id ou mdp et on se retrouve sur la page http://www......

les deux paramètres de connexion n étant pas les mêmes dans les deux bases : dans l une c est code postal et email et dans l autre nom prénom

mon code :
<?php // partie php à mettre en début de ton  fichier index.php :
// définition des parametres de connexion BD :

	$host     = '   '; 
    $user     = '   ';
    $pass = '   ';
    $db = '  '; 

if($_POST["login"] != "" && $_POST["mdp"] != "") 
{
  $login     = $_POST["login"] ;
  $mdp      = $_POST["mdp"];
 
  //connexion à ta base données  
	@mysql_connect($host,$user,$pass) or die("Impossible de se connecter");
	@mysql_select_db("$db") or die ("Impossible de se connecter à la base");
	$query_log  = "SELECT *  ";
    $query_log .= "FROM ce_groupes ";
	$query_log .= "where email='".$login."' and cod='".$mdp."'";
	$result_log=mysql_query($query_log);
	$result = mysql_fetch_object($result_log) ;
  
  if(is_object($result))
  {
    //début de la session
    session_start() ;

    $_SESSION["login"] = $login ;
 
    header("Location: http://www.index_bienvenue.php") ;
  }
  //sinon on reste sur l'accueil
  else
  {
    header("Location: http://www.index_no.php") ;
  }//fin else
}//fin if



?>

comment rajouter cette fonction, après des heures de galère je n y arrive pas....

merci