Benutzerabfrage

Du hast deine eigentlich SQL-Abfrage vergessen, so sollte es funktionieren:
PHP:
<?
session_start();

$conn = mysql_connect("localhost", "root", "password") OR die(mysql_error()); 
mysql_select_db(mysql) OR die (mysql_error());

$sql = "SELECT `adv_uid` FROM `alogin_user` WHERE `adv_h_sessid`='".session_id()."'  ";
$result = mysql_query($sql) or die(mysql_error());
while($res = mysql_fetch_assoc($result))
{
         $id = $res['adv_uid'];
}

$sql = "SELECT adv_h_loginred FROM alogin_user WHERE adv_uid=$id"; 
$result = mysql_query($sql) OR die(mysql_error());

echo "Programme:<br />\n";

while($row = mysql_fetch_assoc($result)) 
{
        echo $row['adv_h_loginred']."<br></br>\n"; 
}
?>
 
Das ist doch wie verhext :)
Jetz bekomme ich die Meldung:

Code:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Das sch** öne :google: hat mir leider auch nix ausgespuckt :confused:
 
Lass Dir doch zu der MySQL-Fehlermeldung auch noch den SQL-String ausgeben und poste dann was dort steht.:
PHP:
<?
session_start();

$conn = mysql_connect("localhost", "root", "password") OR die(mysql_error()); 
mysql_select_db(mysql) OR die (mysql_error());

$sql = "SELECT `adv_uid` FROM `alogin_user` WHERE `adv_h_sessid`='".session_id()."'  ";
$result = mysql_query($sql) or die("Fehler: ".$sql."<br />".mysql_error());
while($res = mysql_fetch_assoc($result))
{
         $id = $res['adv_uid'];
}

$sql = "SELECT adv_h_loginred FROM alogin_user WHERE adv_uid=$id"; 
$result = mysql_query($sql) OR die("Fehler: ".$sql."<br />".mysql_error());

echo "Programme:<br />\n";

while($row = mysql_fetch_assoc($result)) 
{
        echo $row['adv_h_loginred']."<br></br>\n"; 
}
?>
 
es kommt folende Fehlermeldung:

Code:
Fehler: SELECT adv_h_loginred FROM alogin_user WHERE adv_uid=
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1
 
Die Session ID wird nicht in der Datenbank gespeichert, obwohl ein Feld dafür vorgesheen ist.
Wie sieht denn dein Loginscript mit allen Funktionen aus?


Ansonsten halt alles beim Login in eine Session speichern und die Abfragen an die Session anpassen.
 
Ich habe gerade eine Antwort vom Support von mxstudios erhalten wo de rrichtige code gepostet it.

Allerdings ist da das Problem das ich da eine fehlermeldung erhalte, das irgendetwas mit den klammern nicht inordnung ist.

Hier der "richtige" Code:

Code:
<?php
$conn = mysql_connect("localhost", "root", "passwort") OR die(mysql_error());
mysql_select_db(mysql) OR die (mysql_error());

$sql    = "SELECT adv_uid, adv_h_loginred FROM alogin_user WHERE adv_uid = ".$_SESSION["adv_uid"]."";
$result = mysql_query($sql) OR die(mysql_error());
$row    = mysql_fetch_assoc($result);

echo "Links:<br />\n";
echo $row['adv_uid']." <br></br>".$row['adv_h_loginred']."<br></br>\n"; }
?>

und als fehlermeldung erhalte ich
Code:
Parse error: syntax error, unexpected $end in /opt/lampp/htdocs/test.php on line 13
 
Danke,
leider kommt die selbe Fehlermeldung wie vorher:

Code:
Fehler: SELECT adv_uid, adv_h_loginred FROM alogin_user WHERE adv_uid =
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '' at line 1

Ich poste jetzt einmal die login.php aus dem system Ordner:

PHP:
<?php
if(ADVANCEDLOGIN != 1) { die(); }
#unset($row);
#unset($found);
include(LOGINPATH."system/data/selectall_user.php");
if(!empty($_GET['secureid'])) {
    //
    // -- Automatisches Einloggen beim vergessenen Passwort
    $loginsql = "SELECT ".$sql_sel_all." FROM ".PREFIX."user 
                                            WHERE adv_h_secureid = '".securedb($_GET["secureid"])."' 
	    									  AND adv_uname      = '".securedb(urldecode($_GET["uname"]))."'";	
}	
else { // Wenn keine sessionid angegeben wurde
    if(empty($cfg_loguseemail)) {
		$loginsql = "SELECT ".$sql_sel_all." FROM ".PREFIX."user
     	                                 WHERE adv_uname = '".securedb($_POST["uname"])."' 
	 									   AND adv_pass  = '".md5($_POST["pass"])."'";  //Login 
	}
	else {
		$loginsql = "SELECT ".$sql_sel_all." FROM ".PREFIX."user
     	                                 WHERE adv_email = '".securedb($_POST["uname"])."' 
	 									   AND adv_pass  = '".md5($_POST["pass"])."'";  //Login 
	}
}
//
// -- Ladeseite einrichten
$loggedin_template = file_get_contents(LOGINPATH."templates/logged_in.html");

// Eigentlicher Login
$login_res = mysql_query($loginsql);
$row       = @mysql_fetch_assoc($login_res);

if(@mysql_num_rows($login_res) == 1) {  //User wurde gefunden
    // Pr?fen ob der User bereits online ist
	
	    
	
    if($row["adv_h_aktiv"] == 1){
	    $result = mysql_query("SELECT adv_username FROM ".PREFIX."user_online WHERE adv_username = '".securedb($_POST["uname"])."'");
		if($cfg_logmulticon == 2 AND mysql_num_rows($result) >= 1) {
		    $loggedin_template = str_replace("{text}", "Der Benutzer ist bereits eingeloggt!", $loggedin_template);
		    $loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_addon : $cfg_logredirectf, $loggedin_template);
		}
		else { 
	   	    $login_okay = 1;
		    unset($del);
	        include(LOGINPATH."system/data/sessions.php");
		    // Lastlogin + Cookie Updaten
		    $_time = time();
		    if(empty($_SESSION["h_flogins"])) {
		        $_SESSION["h_flogins"] = 0;
		    }
		    mysql_query("UPDATE ".PREFIX."user SET adv_h_lastlogin = '".$_time."',
		                                           adv_h_loginsr   = adv_h_loginsr + 1,
					    						   adv_h_loginsf   = adv_h_loginsf + ".$_SESSION["h_flogins"]."
		                                     WHERE adv_uid       = '".$row["adv_uid"]."'");
		    if($cfg_logautolog == "immer" OR 
		       ($cfg_logautolog == "fragen" AND $_POST["autolog"] == 1)) {
		        setcookie("alogin", 
		               $row["adv_uid"]."~".$row["adv_uname"]."~".$row["adv_pass"]."~".$_time, 
			    	   time()+(60*60*24*30));
	    	}
	        // richtigen Loginpfad finden
		    if(empty($row["adv_h_loginred"])) {
		        $groupred = mysql_fetch_assoc(mysql_query("SELECT group_loginred FROM ".PREFIX."user_groups 
		    	                                                               WHERE group_beze = '".$row["adv_group"]."'"));
		    	if(empty($groupred["group_loginred"])) {
		    	    if(empty($cfg_logredirectr)) {
		    		    $login_to = $root.$replace[1].$adv_quaddon;
					}
		    		else {
		    		    $login_to = $root.$cfg_logredirectr;
					}
		    	}
		    	else {
	    		    $login_to = $root.$groupred["group_loginred"];
	    		}	
	    	}
	    	else {
	    	    $login_to = $root.$row["adv_h_loginred"];
			}
	    	// Ende richtigen Loginpfad finden
			if($cfg_lognoter == 1) {
			    // Login aufzeichnen
			    $fn = @fopen(LOGINPATH."stats/logins.txt", "ab");
			    @fwrite($fn, $_POST["uname"]."~".time()."~".$_SERVER['REMOTE_ADDR']."\n");
			    @fclose($fn);
			}
			$loggedin_template = str_replace("{text}","Willkommen ".$row["adv_uname"],$loggedin_template);
            $loggedin_template = str_replace("{login_to}",$login_to,$loggedin_template);
	        // E-Mail an Administrator
			if($cfg_logmailadmin == 1) {
			    $result = mysql_query("SELECT adv_email, adv_uname FROM ".PREFIX."user WHERE adv_h_admin = '1'");
				while($row = mysql_fetch_assoc($result)) {
				    $email_text = 
"Hallo ".$row["adv_uname"].",
der Benutzer ".$_POST["uname"]." hat sich soeben auf $cfg_sitetitle eingeloggt. Sie erhalten diese E-Mail, weil Sie als Administrator der Seite eingetragen sind.";
				    sendmail($row["adv_email"], "Ein Benutzer hat sich eingeloggt", $email_text, $cfg_admemail);
				}
			} 
		}
	}
	else {
	    $loggedin_template = str_replace("{text}", "Der Benutzer ist noch nicht aktiviert!", $loggedin_template);
		$loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_addon : $root.$cfg_logredirectf, $loggedin_template);
	}
}
else { // Wenn Benutzer nicht gefunden wurde
    $_SESSION["h_flogins"] += 1;
    $loggedin_template = str_replace("{text}","Der Benutzer konnte nicht gefunden werden",$loggedin_template);
    $loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_quaddon : $root.$cfg_logredirectf,$loggedin_template);
	
	if($cfg_lognotef == 1) {
	    // Fehlerhaften Login aufzeichnen
	    $fn = @fopen(LOGINPATH."stats/flogins.txt", "ab");
	    @fwrite($fn, $_POST["uname"]."~".time()."~".$_SERVER['REMOTE_ADDR']."\n");
	    @fclose($fn);
	}
}

// finale Ausgabe der Ladeseite/ sofortige Weiterleitung
if($cfg_logloadingpage == 0 AND $login_okay == 1) {
    header("Location: ".$login_to);
	exit;
}
else {
    $ausgabe = '<?php die(); ?>'.$loggedin_template;
}
?>
 
Da ich dieses Script nicht kenne, kann ich nur vermuten das die Session nicht gestartet wird oder nicht die richtigen Werte gesetzt sind.
 
Solltest es einmal kennen lernen :D
(kannst mir helfen) :D

Ich werde mir einmal versuchen hier etwas brauchbares zusammen zu schnipseln ;)
Vielen dank trotzdem.

Code:
// Pr?fen ob der User bereits online ist
    
        
    
    if($row["adv_h_aktiv"] == 1){
        $result = mysql_query("SELECT adv_username FROM ".PREFIX."user_online WHERE adv_username = '".securedb($_POST["uname"])."'");
        if($cfg_logmulticon == 2 AND mysql_num_rows($result) >= 1) {
            $loggedin_template = str_replace("{text}", "Der Benutzer ist bereits eingeloggt!", $loggedin_template);
            $loggedin_template = str_replace("{login_to}",empty($cfg_logredirectf) ? $root.$replace[1].$adv_addon : $cfg_logredirectf, $loggedin_template);
        }
        else { 
               $login_okay = 1;
            unset($del);
            include(LOGINPATH."system/data/sessions.php");
            // Lastlogin + Cookie Updaten
            $_time = time();
            if(empty($_SESSION["h_flogins"])) {
                $_SESSION["h_flogins"] = 0;
            }
            mysql_query("UPDATE ".PREFIX."user SET adv_h_lastlogin = '".$_time."',
                                                   adv_h_loginsr   = adv_h_loginsr + 1,
                                                   adv_h_loginsf   = adv_h_loginsf + ".$_SESSION["h_flogins"]."
                                             WHERE adv_uid       = '".$row["adv_uid"]."'");
            if($cfg_logautolog == "immer" OR 
               ($cfg_logautolog == "fragen" AND $_POST["autolog"] == 1)) {
                setcookie("alogin", 
                       $row["adv_uid"]."~".$row["adv_uname"]."~".$row["adv_pass"]."~".$_time, 
                       time()+(60*60*24*30));
            }
            // richtigen Loginpfad finden
            if(empty($row["adv_h_loginred"])) {
                $groupred = mysql_fetch_assoc(mysql_query("SELECT group_loginred FROM ".PREFIX."user_groups 
                                                                               WHERE group_beze = '".$row["adv_group"]."'"));
                if(empty($groupred["group_loginred"])) {
                    if(empty($cfg_logredirectr)) {
                        $login_to = $root.$replace[1].$adv_quaddon;
                    }
                    else {
                        $login_to = $root.$cfg_logredirectr;
                    }
                }
                else {
                    $login_to = $root.$groupred["group_loginred"];
                }    
            }
            else {
                $login_to = $root.$row["adv_h_loginred"];
            }
 
Zurück