MySQL - Anfrage über 2 Tabellen für Loginsystem

Funky_MF

Erfahrenes Mitglied
Hallo,
ich habe die Aufgabe, ein bestehendes Loginscript (nicht von mir) so zu ändern, daß die Abfrage der User nicht nur in einer Tabelle "cc_members" erfolgt sondern auch in einer weiteren Tabelle "cc_members_rev".

Bis jetzt sieht das Ganze so aus, die Überprüfung erfolgt mit HTTP-Authentication:
PHP:
//BASIC Authentication check
	if ( !isset($PHP_AUTH_USER) || !eregi('^[a-z0-9@._~-]+$' ,$PHP_AUTH_USER) ||
	     !isset($PHP_AUTH_PW  ) || !eregi('^[a-z]+$',$PHP_AUTH_PW  ) || !checkauth()) {

		header("WWW-Authenticate: Basic realm=\" CUSTOMER BEREICH\"");
		header("HTTP/1.0 401 Unauthorized");

//authentication procedure
  
	function checkauth () {
		global $PHP_AUTH_USER, $PHP_AUTH_PW;
		
		$q = 'SELECT * FROM cc_members WHERE m_email = \''.$PHP_AUTH_USER.'\' AND m_pwd = \''.$PHP_AUTH_PW.'\'';
    		$res = my_query ( $q );
		if (! is_array($res) || count($res) != 1) {
			return false;	
		}
		$USER = $res[0];
		return true;
	}
		include ("DE/invalid.htm") ;
		exit;
	}

Wie gesagt,ich hab mir das Ganze nicht ausgedacht, aber es läuft in der Art schon ne Weile ganz gut, aber jetzt wird die Gruppe der User erweitert, Gruppe 1 ist in der Tabelle cc_members eingetragen und Gruppe 2 in der Tabelle cc_members_rev. Es müssen also beide Tabellen auf eine Übereinstimmung überprüft werden.
Dei Abfrage für cc_members_rev würde dann so aussehen:
PHP:
    $q2 = 'SELECT * FROM cc_members_rev WHERE m_email = \''.$PHP_AUTH_USER.'\' AND m_pwd = \''.$PHP_AUTH_PW.'\'';
Wo genau muß ich da ansetzen, damit zuerst User/PW in der einen und dann in der anderen Tabelle abgefragt werden ?
 
Zuletzt bearbeitet:
sowas vielleicht?
PHP:
$q1= "SELECT * FROM cc_members 
                                    WHERE 
                                          m_email = '".$PHP_AUTH_USER."'
                                    AND 
                                          m_pwd = '".$PHP_AUTH_PW."'";

$q2 = "SELECT * FROM cc_members_rev 
                                    WHERE 
                                          m_email = '".$PHP_AUTH_USER."'
                                    AND 
                                          m_pwd = '".$PHP_AUTH_PW."'";

$query1=mysql_query($q1);
$query2=mysql_query($q2);

$check_q1=mysql_num_rows($query1);
$check_q2=mysql_num_rows($query2);

if (($check_q1) AND ($check_q2)) {

   //hier dein login
} else {

   //daten nicht in beiden Tabellen vorhanden.

}
 
Zurück