Problem mit Login System

Html

Erfahrenes Mitglied
Hallo, teste gerade ein Login-System lokal auf meinem Pc mit xampp. Jedoch erfüllt es nicht ganz seinen sinn und zweck. Und zwar habe ich in meiner datenbank einen testbenutzer angelegt:

Benutzername: Oliver

Passwort:Noll

Auf der admin.php werde ich dann aufgefordert einen namen auszuwählen und das passwort einzugeben. Nur jetzt kommt der haken, ich muss eigentlich gar nix eingeben und drücke ich dann auf Abschicken werde ich auch eingelogt und das soll natürlich nicht sein.

Und vielleicht wäre es noch irgendwie möglich das ich den namen nicht aussuchen muss sondern ihn ebenfalls wie das passwort manuel eingeben muss?!

Hier sind meine dateien:

admin.php

PHP:
<?php
   
    @mysql_connect(localhost, Oliver, Noll) OR
        die("Keine Verbindung zur Datenbank. Fehlermeldung:".mysql_error());
    mysql_select_db(Login) OR
        die("Konnte Datenbank nicht benutzen, Fehlermeldung: ".mysql_error());
   
   
   
    if(isset($_GET['action']) AND ("logout" == $_GET['action'])) {
        session_destroy();
        echo "<p>\n";
        echo "    Sie haben sich ausgeloggt. Um wieder in den Adminbereich\n";
        echo "    zu kommen müssen sie sich wieder Einloggen\n";
        echo "</p>\n";
    } else {
        if(isset($_POST['UserID']) AND '0' == $_POST['UserID']) {
            echo "<p>\n";
            echo "    Bitte wählen sie einen Benutzernamen aus.\n";
            echo "</p>\n";
        } else {
            if(isset($_POST['UserID'], $_POST['Password']) AND
               login_right(addslashes($_POST['UserID']),
                           addslashes($_POST['Password']))) {
                $_SESSION['ID'] = $_POST['UserID'];
            }
            if(isset($_SESSION['ID'])) {
                echo "<p>\n";
                echo "    Willkommen im Adminbereich <br />\n";
                echo "    <a href=\"index.php?section=admin&amp;".SID."\">Repeat</a>\n";
                echo "    <a href=\"index.php?section=admin&amp;action=logout&amp;".SID."\">Ausloggen</a>\n";
                echo "</p>\n";
            } else {
                if(isset($_POST['submit'])) {
                     // Der Submit-Button wurde gedrückt
                     // aber der Login ist falsch. Deshalb
                     // erstellen wir eine Fehlermeldung
                     echo "<p class=\"error\">\n";
                     echo "    Ungültiges Password.\n";
                     echo "</p>\n";
                }
                echo "<form action=\"index.php?section=admin\" method=\"post\" class=\"admin_form\">\n";
                echo "    <table>\n";
                echo "        <tr>\n";
                echo "            <th colspan=\"2\">\n";
                echo "                <h2>Adminbereich</h2>\n";
                echo "            </th>\n";
                echo "        </tr>\n";
                echo "        <tr>\n";
                echo "            <td>\n";
                echo "                <label for=\"name\">Name:</label>\n";
                echo "            </td>\n";
                echo "            <td>\n";
                $sql = "SELECT
                            `ID`,
                            `Name`
                        FROM
                            `users`
                        ORDER BY
                            `Name` ASC;";
                $result = mysql_query($sql) OR die(mysql_error());
                echo "                <select size=\"1\" name=\"UserID\" id=\"name\">\n";
                echo "                    <option value=\"0\" selected=\"selected\">Bitte wählen</option>\n";
                while($row = mysql_fetch_assoc($result)) {
                    echo "<option value=\"".$row['ID']."\">".$row['Name']."</option>\n";
                }
                echo "                </select>\n";
                echo "            </td>\n";
                echo "        </tr>\n";
                echo "        <tr>\n";
                echo "            <td>\n";
                echo "                <label for=\"password\">Password:</label>\n";
                echo "            </td>\n";
                echo "            <td>\n";
                echo "                <input type=\"password\" name=\"Password\" id=\"password\"/>\n";
                echo "            </td>\n";
                echo "        </tr>\n";
                echo "        <tr>\n";
                echo "            <td colspan=\"2\">\n";
                echo "                <input type=\"submit\" name=\"submit\" value=\"Abschicken\" />\n";
                echo "                <input type=\"reset\" name=\"submit\" value=\"Zurücksetzen\" />\n";
                echo "            </td>\n";
                echo "        </tr>\n";
                echo "    </table>\n";
                echo "</form>\n";
            }
        }
    }
?>

index.php:


PHP:
<?php
   error_reporting(E_ALL);
   include "config.php";
   
  

   // Session starten wenn ?section=admin geöffnet wurde
   if(isset($_GET['section']) AND ("admin" == $_GET['section'])) {
       session_start();
       if(!isset($_SESSION['IP'])) {
           $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
       }
       if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
           echo "<p>\n";
           echo "    Sie dürfen nicht die Session von einem\n";
           echo "    anderen user Benutzten. Bitte benutzen sie\n";
           echo "    folgenden Link um zur Homepage zu gelangen.\n";
           echo "    <a href=\"/\">Zurück zur Homepage</a>\n";
           echo "</p>\n";
           die(); // Aus Sicherheitsgründen die Abarbeitung sofort beenden
       }
   }
   if(get_magic_quotes_gpc()) {
       array_stripslashes($_GET);
       array_stripslashes($_POST);
       array_stripslashes($_COOKIE);
   }

   echo "<!DOCTYPE html PUBLIC \"-//W3C//DTD XHTML 1.0 Strict//EN\"\n";
   echo "         \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd\">\n";
   echo "<html>\n";
   echo "    <head>\n";
   echo "        <title>Meine Seite</title>\n";
   echo "        <meta http-equiv=\"Content-Type\" content=\"text/html; charset=ISO-8859-1\" />\n";
   echo "        <link rel=\"stylesheet\" type=\"text/css\" href=\"page.css\" />\n";
   echo "    </head>\n";
   echo "    <body>\n";
   echo "        <table style=\"width: 100%\">\n";
   echo "            <tr>\n";
   echo "                <td colspan=\"2\">\n";
  
   echo "                </td>\n";
   echo "            </tr>\n";
   echo "            <tr>\n";
   echo "                <td style=\"width: 200px\">\n";
 
   echo "                </td>\n";
   echo "                <td>\n";

   echo "                </td>\n";
   echo "            </tr>\n";
   echo "        </table>\n";
   echo "    </body>\n";
   echo "</html>\n";
?>

config.php:

PHP:
<?php
    // config.php
	
    error_reporting(E_ALL);

    define('MYSQL_HOST',     'localhost');
    define('MYSQL_USER',     'Oliver');
    define('MYSQL_PASS',     'Noll');
    define('MYSQL_DATABASE', 'Login');

     include("function.php");
?>

function.php:


PHP:
<?php 
 function array_stripslashes(&$var)
{
if(is_string($var)) {
$var = stripslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value){
array_stripslashes($var[$key]);
}
}
}
}
?>

Denn Code habe ich von http://tut.php-q.net/login.html

Hoffe es kann mir jemand weiterhelfen.

Danke,Olli
 
Mal nicht so ungedultig. Es ist Wochenende, da sind halt viele nicht da. Durchgehende groß-/Kleinschreibung wäre auch nicht schlecht.

Zum Problem:
Wo hast du die Funktion login_right? Der Code dazu wäre gut.
 
Upps, ja ja ich weiß man soll das von vorne durchlesen. Aber ich brauch doch nur das Login Script.

Also hier ist die neue function.php

Code:
<?php 
 function array_stripslashes(&$var)
{
if(is_string($var)) {
$var = stripslashes($var);
} else {
if(is_array($var)) {
foreach($var AS $key => $value){
array_stripslashes($var[$key]);
}
}
}
}
function login_right($id, $pass)
{
$sql = "SELECT
COUNT(*) as Anzahl
FROM
users
WHERE
ID = '".$id."' AND
Password = MD5('".$pass."');";
$result = mysql_query($sql) OR die(mysql_error());
$row = mysql_fetch_assoc($result);
mysql_free_result($result);
return $row['Anzahl'];
}

?>

Damit klappt es aber immer noch nicht.

Sag mal, du kannst mir nicht die Dateien posten die ich für das Login Script brauche, vielleicht auch noch mit "Eigenen Account verwalten" und "Benutzer verwalten".

Ich weiß das das nicht selbstverständlich ist, aber wäre echt super. Sonst werde ich hier noch verrückt.

Olli
 
Html hat gesagt.:
[Warum hilft mir denn Keiner]

Brauche doch das script.
Bitte unterlasse zukünftig das Pushen eines Threads, blos weil du noch keine Antwort erhalten hast, und übe dich bis dahin in Geduld.
 
Ja danke, aber das script hab ich schon getestet. Nur bei dem anderen Tutorial wird auch danach beschrieben wie ich meinen Account bearbeiten kann und wie ich Benutzer verwaäten kann.

Nur dafür muss ja erstmal das einfache Login-Script funtionieren.

Kann mir denn keiner nur mal den code für das Login posten?!

Wäre echt klasse, sonst verbring ich ja noch Wochen mit dem Problem.

Danke,Olli
 
Meine login.php sieht so aus:
PHP:
<?php
$changesection='main';
$subtitle='Login';
if (isset($_POST['login']))
	{
		if ((!empty($_POST['username'])) && (!empty($_POST['password'])))
			{
				$users=mysql_query("select * from `users` where `username`='".$_POST['username']."' limit 1",$db);
				$user=mysql_fetch_assoc($users);
				if (!empty($user))
					{
						$cryptedpassword=sha1($_POST['password']);
						if ($cryptedpassword==$user['password'])
							{
								if (isset($_POST['savelogin']))
									{
										setcookie('id',$user['id'],time()+2592000);
										setcookie('password',$cryptedpassword,time()+2592000);
									}
								$_SESSION['id']=$user['id'];
								$_SESSION['userlevel']=$user['userlevel'];
								mysql_query("update `sessions` set `userid`='".$user['id']."' where `sessionid`='".$sessionid."'",$db);
								header('Location:'.$sessioncheckcaller.$sessionparm);
								exit;
							}
						else
							{
								$changes[$changesection].='Invalid username/password';
							}
					}
				else
					{
						$changes[$changesection].='Invalid username/password';
					}
			}
		else
			{
				if (empty($_POST['username']))
					{
						$changes[$changesection].='No username<br>';
					}
				if (empty($_POST['password']))
					{
						$changes[$changesection].='No password<br>';
					}
			}
	}
$changes[$changesection].='<form method="post" action="'.$sessioncheckcaller.'?subsite=login.php'.$sessionparm_link.'">';
$changes[$changesection].='<table class="vistable">';
$changes[$changesection].='<tr><td>Username:</td><td><input type="text" name="username"></td></tr>';
$changes[$changesection].='<tr><td>Password:</td><td><input type="password" name="password"></td></tr>';
$changes[$changesection].='</table>';
if ($session['cookies']==1)
	{
		$changes[$changesection].='Stay logged in:';
		$changes[$changesection].='<input type="checkbox" name="savelogin"><br>';
	}
$changes[$changesection].='<input type="submit" name="login" value="Login">';
$changes[$changesection].='</form>';
?>
 
Zurück