Login bei meinem CMS will einfach nicht funktionieren

Begonnen von leedesign2006, 15. August 2007, 13:18:21

Vorheriges Thema - Nächstes Thema

leedesign2006

Es wäre mir sehr geholfen wenn mir jemand mit icq-account antworten könnte, da leider die zeit etwas eilt, vielleicht findet sich unter euch jemand der zeit hat mir bei meinem problem zu helfen.

Geh nach #php-support ins Quakenet. Da wird dir geholfen.

leedesign2006

Entschuldige die Frage aber wie komme ich dort hin.

leedesign2006

Hier mein Script. Is aber nur die config.inc.php und die admin.php
config.inc.php
 

get  = $_GET;
       $this->post = $_POST;
 
       if(!$this->checkuserlogin()){   // login checken, ob schon eingeloggt ist
           if(!$this->userlogin()){    // login checken, wenn eingeloggt wird und login durchführen
               return false;
               //$this->loginpannel();   // loginpannel darstellen
           }
       }
       if($this->get[\'logout\']){       // prüfen ob ausgeloggt werden soll
           $this->logout();            // logaut durchführen
           exit();
       }
       // ab hier muss eingeloggt sein
       if($this->checkuserlogin() || $this->userlogin()){
           return $this->userid;
       }
   }
   // login
   function userlogin(){   // login vollziehen
       if($this->post[\'login\']){   // wenn der loginbutten gdrückt wurde
           $result=mysql_query(\"SELECT \".IDFELD.\",\".USERFELD.\" FROM \".USERTABELLE.\" WHERE \".USERFELD.\"=\'\".$this->post[\'username\'].\"\' and \".PWDFELD.\"=\".MD5_PASSWORD.\"(\'\".$this->post[\'password\'].\"\')\")or die(mysql_error());
           if(mysql_num_rows($result)){    // prüfen ob es ein wert gab
               $this->userid   = mysql_result($result,NULL,IDFELD);    // userid aus der usertabelle holen
               $this->username = mysql_result($result,NULL,USERFELD);
               mysql_query(\"UPDATE \".USERTABELLE.\" SET \".UINFELD.\"=\'\".session_id().\"\' WHERE \".IDFELD.\"=\'\".$this->userid.\"\'\");   // usertabelle updaten und die session_id einfügen
               return $this->userid;   // wenn eingeloggt userid zurückgeben
           }
           else                            // wenn es keinen wert gab
               return FALSE;
       }
   }//--> ende login vollziehen
   function checkuserlogin(){  // prüfen ob user eingeloggt ist
       $result=mysql_query(\"SELECT \".IDFELD.\",\".USERFELD.\" FROM \".USERTABELLE.\" WHERE \".UINFELD.\"=\'\".session_id().\"\'\");  // anfrage an usertabelle nach wert der session_di()
       if(mysql_num_rows($result)){    //  prüfen ob es einen wert gab
           $this->userid=mysql_result($result,NULL,IDFELD);  // userid aus der usertabelle holen
           $this->username = mysql_result($result,NULL,USERFELD);
           return $this->userid;   // wenn eingeloggt userid zurückgeben
       }
       else                            // wenn es keinen wert gab
           return FALSE;   // wenn nicht eingeloggt
   }//--> ende prüfen ob eingeloggt
   function logout(){  // logout
       mysql_query(\"UPDATE \".USERTABELLE.\" SET \".UINFELD.\"=\'\' WHERE \".IDFELD.\"=\'\".$this->userid.\"\'\")or die(mysql_error());  // uin zur loginüberprüfung zurücksetzen
       header(\"LOCATION: \".$_SERVER[\'PHP_SELF\']);  // seite neu laden
       exit;
   }//--> ende logout
   function loginpannel(){
       if($this->checkuserlogin() || $this->userlogin()){
           if(IDAUSGABE==\'id\')
           echo \'eingeloggter User: \'.$this->userid.\' LogOut\';
           if(IDAUSGABE==\'username\')
           echo \'eingeloggter User: \'.$this->username.\' LogOut\';
       }
       else{
           // loginpannel
           echo\'Username:  
       Passwort:   
        \';
           exit(\"Bitte einloggen!\");
       }
   }//--> ende loginpannel
   function check(){
       if(!$this->checkuserlogin() and !$this->userlogin()){
           //$this->loginpannel();
           return false;
       }
       else
       return true;
   }
   //--> ende login
}//--> class LOGIN
$login = new LOGIN();
?>

 
 
und die admin.php
 

check()){
   require\"admin.kopf.php\";
   require\"admin.fuss.php\";
   exit();
}
                               // hier wird auf login geprüft - loginpannel ausgegeben
if(!$_GET[\'hs\']){               // hier wird die ausgabe unterdrückt, fals ein insert oder update kommt
   require\"admin.kopf.php\";      // hier wird der logautpannel ausgegben
}
#----------------------------------------------------------------#
# hier werden die inserts / updates / deletes in die sql gemacht #
#----------------------------------------------------------------#
if($_POST[\'jobadd\']){
   if( $_POST[\'jobueberschrift\']   &&
       $_POST[\'job\']               &&
       $_POST[\'anforderung\']       &&
       $_POST[\'leistung\']
   ){
       mysql_query(\"INSERT INTO \".JOBBOERSE.\" SET
                                                   jobueberschrift=\'\".$_POST[\'jobueberschrift\'].\"\',
                                                   job=\'\".$_POST[\'job\'].\"\',
                                                   anforderung=\'\".$_POST[\'anforderung\'].\"\',
                                                   leistung=\'\".$_POST[\'leistung\'].\"\',
                                                   jobadddate=\'\".time().\"\'\")or die(mysql_error());
       header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=1\");
   }//--> eintrag ohne fehler
   else{
       echo \'FEHLER!!! Zurück\';
       exit();
   }
}//--> job hinzufügen (1)
if($_POST[\'jobdel\']){
   if(!$_POST[\'del1\'] || !$_POST[\'del2\']){
       echo \'Löschen konnte nicht durchgeführt werden
\';
       echo \'FEHLER!!! Zurück\';
       exit();
   }
   else{
       mysql_query(\"DELETE FROM \".JOBBOERSE.\" WHERE jobid=\'\".$_POST[\'jobid\'].\"\'\");
       header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=2\");
       exit();
   }
}//--> job löschen (2)
if($_POST[\'jobedit\']){
   if( $_POST[\'jobueberschrift\']   &&
       $_POST[\'job\']               &&
       $_POST[\'anforderung\']       &&
       $_POST[\'leistung\']
   ){
       mysql_query(\"UPDATE \".JOBBOERSE.\" SET
                                                   jobueberschrift=\'\".$_POST[\'jobueberschrift\'].\"\',
                                                   job=\'\".$_POST[\'job\'].\"\',
                                                   anforderung=\'\".$_POST[\'anforderung\'].\"\',
                                                   leistung=\'\".$_POST[\'leistung\'].\"\'
                                                   WHERE jobid=\'\".$_POST[\'jobid\'].\"\'\")or die(mysql_error());
       header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=3\");
   }//--> eintrag ohne fehler
   else{
       echo \'FEHLER!!! Zurück\';
       exit();
   }
}//--> job editieren (3)
#-- userdaten ändern
if($_POST[\'useredit\']){
   if(strlen(trim($_POST[\'pwd1\'])) passwort konnte nicht geänert werden (4)
   else{
       $username=mysql_result(mysql_query(\"SELECT \".USERFELD.\" FROM \".USERTABELLE.\" WHERE \".IDFELD.\"=\'\".$_POST[\'uid\'].\"\'\"),NULL,USERFELD);
       mysql_query(\"UPDATE \".USERTABELLE.\" SET \".PWDFELD.\"=\".MD5_PASSWORD.\"(\'\".$_POST[\'pwd1\'].\"\') WHERE \".IDFELD.\"=\'\".$_POST[\'uid\'].\"\'\");
       header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=5&useredit=1&username=\".$username);
   }//--> passwort geändert
}//--> userdaten ändern (3 / 4)
if($_POST[\'userdel\']){
   // sicherheit, das der letzte benutzer nicht gelöscht wird
   $usercount=mysql_query(\"SELECT COUNT(*) AS uc FROM \".USERTABELLE.\"\");
   $usercount=mysql_fetch_array($usercount);
   $usercount=$usercount[\'uc\'];
   if($usercount letzer user nicht löschen (6)
   else{
       // kann nicht löschen
       if(!$_POST[\'del1\'] || !$_POST[\'del2\']){
           header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=7&useredit=1&user=\".$_POST[\'uid\']);
           exit();
       }//--> kann nicht löschen (7)
       else{
           $username=mysql_result(mysql_query(\"SELECT \".USERFELD.\" FROM \".USERTABELLE.\" WHERE \".IDFELD.\"=\'\".$_POST[\'uid\'].\"\'\"),NULL,USERFELD);
           mysql_query(\"DELETE FROM \".USERTABELLE.\" WHERE \".IDFELD.\"=\'\".$_POST[\'uid\'].\"\'\");
           header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=8&useredit=1&username=\".$username);
           exit();
       }//--> löschen (8)
   }
}
if($_POST[\'useradd\']){
   if(strlen(trim($_POST[\'pwd1\'])) passwort konnte nicht verifiziert werden (9)
   else{
       mysql_query(\"INSERT INTO \".USERTABELLE.\" SET
                                               \".USERFELD.\"=\'\".$_POST[\'username\'].\"\',
                                               \".PWDFELD.\"=\".MD5_PASSWORD.\"(\'\".$_POST[\'pwd1\'].\"\')\");
       header(\"LOCATION: http://\".$_SERVER[\'HTTP_HOST\'].$_SERVER[\'PHP_SELF\'].\"?action=10&useredit=1&username=\".$_POST[\'username\']);
       exit();
   }//--> user angelegt (10)
}//--> user anlegen (9 / 10)
#---------------------------------------------#
# ende inserts / updates / deletes in der sql #
#---------------------------------------------#
#-- actionausgabe ------------------------------------------------------------------
if($_GET[\'action\']==1){
   echo \'Es wurde ein Job hinzugefügt\';
}
if($_GET[\'action\']==2){
   echo \'Es wurde ein Job gelöscht\';
}
if($_GET[\'action\']==3){
   echo \'Es wurde ein Job bearbeitet\';
}
if($_GET[\'action\']==4){
   echo \'User konnte nicht geändert werden\';
}
if($_GET[\'action\']==5){
   echo \'Passwort geändert für \'.$_GET[\'username\'].\'\';
}
if($_GET[\'action\']==6){
   echo \'Kann den letzten User nicht löschen\';
}
if($_GET[\'action\']==7){
   echo \'Kann löschen nicht bestätigen\';
}
if($_GET[\'action\']==8){
   echo \'User \'.$_GET[\'username\'].\' gelöscht\';
}
if($_GET[\'action\']==9){
   echo \'Konnte User nicht anlegen\';
}
if($_GET[\'action\']==10){
   echo \'User \'.$_GET[\'username\'].\' angelegt\';
}
#--> end actionausgabe
#-- angebot hinzufügen -------------------------------------------------------------
if($_GET[\'angeboteadd\']){
   echo \"Arbeitsstellen anlegen\";
   echo \'
 
           Jobüberschrift:
 
           Der Job:
 
           Anforderungen:
 
           Unsere Leistungen:
 
 

   \';
}//--> angebot hinzufügen
#-- angebot bearbeiten --------------------------------------------------------------------
if($_GET[\'angeboteedit\']){
   echo \"Arbeitsstellen editieren\";
   if(!$_GET[\'angebot\']){
       // alle daten aus der sql holen und in einer tabelle darstellen
       $result=mysql_query(\"SELECT * FROM \".JOBBOERSE.\" \".JOBORDER);
       if(!mysql_num_rows($result))
   echo \'
Es gibt noch keine Einträge\';
       $i=0;
echo \'
                 function setImage(id){
                 document.getElementById(id).src=\"./Bilder/stift_gruen.gif\";
                 }
                function restoreImage(id){
                 document.getElementById(id).src=\"./Bilder/stift_weiss.gif\";
                 }
 
    \';
while($row=mysql_fetch_array($result)){
           if($i%2==0){
               $class=\'zeile1\';
           }
           else{
               $class=\'zeile2\';
           }
           echo\'
               \'.substr($row[\'jobueberschrift\'],0,(strlen($row[\'jobueberschrift\'])
                   (Eingestellt: \'.date(DATUMSFORMAT,$row[\'jobadddate\']).\')
               \'.substr($row[\'job\'],0,(strlen($row[\'job\'])
 
           \';
           $i++;
       }
       echo \'\';
}//--> alle angobe listen ![angebot]
   else{
       // übergebenen datensatz holen und in ein formular aufbereiten zum edieren.....
       $result=mysql_query(\"SELECT * FROM \".JOBBOERSE.\" WHERE jobid=\'\".$_GET[\'angebot\'].\"\' \".JOBORDER)or die(mysql_error());
       $row=mysql_fetch_array($result);
       echo \'
 
                   Jobüberschrift
 
                   Der Job:
                   \'.$row[\'job\'].\'
 
                   Anforderungen:
                   \'.$row[\'anforderung\'].\'
 
                   Unsere Leistungen:
                   \'.$row[\'leistung\'].\'
 
                     Zum löschen, beide Haken stezen!
 
 
   \';
   }//--> selectiertes angebot bearbeiten
}//--> angebot bearbeiten
#-- user bearbeiten --------------------------------------------------------------------
if($_GET[\'useredit\']){
   // alle userdaten aus der sql holen und user anlegen lassen
   if(!$_GET[\'user\'] && !$_GET[\'useradd\']){
       echo \'
               Neuen User anlegen
                   UserID
                   Username
                   Bearbeiten
               \';
       $i=0;
       $result=mysql_query(\"SELECT * FROM \".USERTABELLE.\" ORDER BY \".IDFELD);
       while($row=mysql_fetch_array($result)){
           if($i%2==0){
               $class=\'grau\';
           }
           else{
               $class=\'weiss\';
           }  
           echo\'
               \'.$row[iDFELD].\'
               \'.$row[uSERFELD].\'
               Edit
             \';
           //echo $row[iDFELD].\" \".$row[uSERFELD].\"
\"
           $i++;
       }
       echo \'\';
   }//--> alle userdaten aus der sql holen
   #-- selectierten user bearbeiten
   if($_GET[\'user\']){
       $result=mysql_query(\"SELECT * FROM \".USERTABELLE.\" WHERE \".IDFELD.\"=\'\".$_GET[\'user\'].\"\'\");
       $row=mysql_fetch_array($result);
       //print_r($row);
       echo \'
 
               User: \'.$row[uSERFELD].\'
 
               Neues Passwort:
 
               Wiederholung:
 
 
                   \'.
                   ($_GET[\'user\']==$login->userid ? \'\' : \'  \')
                   .\'
 

       \';
   }//--> selectierten user bearbeiten
   if($_GET[\'useradd\']){
       echo\'
 
               User anlegen
 
               Username:
 
               Neues Passwort:
 
               Wiederholung:
 
 
 
       \';
   }//--> user anlegen
}//--> useredit
?>

 
 
Ich bitte euch innigst um Hilfe.

leedesign2006

Wie gesagt das Problem ist erst mal das einloggen den trotz richtiger zugangsdaten (auch in datenbank vorhanden) funktioniert es nicht.

k00ni

Hallo,
ohne jetzt das ganze Skript durchgesehen zu haben, was kommen für Meldungen? (Fehler o.ä.) Lass dir mal die Werte deiner Variablen, mit denen du arbeitest, ausgeben. (Also debuggen) Weiterhin die Fragen, worauf bei dir register_globals und safe_mode stehen.
 
Grüße

Sorry, aber die zwei Dateien alleine helfen wenig.

Powie


all your base are belong to us / Discord