Hilfe bei meiner Portal-site

Kalma

Erfahrenes Mitglied
Hey liebe Tutorials-Gemeinde,
ich habe (wie so oft) ein Problem mit meinem PHP-Script...

Ich habe eine Seite erstellt, die mit diesem System "navigiert":
PHP:
<?php
if ($_GET['what'] == "index") {include "news.php"}
if ($_GET['what'] == "login") { include "login.php"}
und so weiter....

Nun habe ich auf meiner Site (http://www.dfmusik.de) ein Login-system, was aber nicht so ganz richtig will....

hier einmal mein LoginScript:
PHP:
<?php


$Link = mysql_connect($Host, $User, $Password);
mysql_select_db($DBName);

$Query = "SELECT
			*
		  FROM
		  	$TableName
		  WHERE
		    username = '$username'
		  LIMIT 
		    1";
$Result = mysql_query($Query);

$row = mysql_fetch_object($Result);

$username = $_POST["username"];
$password = $_POST["password"];

if ($_GET['what'] == "einloggen")
{
if ($row->password == $password)
    {
    $_SESSION["username"] = $username;
    echo " Weiter zum <a href=\"index.php?what=adminmenu\">Admin-Menu</a> ";
    }
}
else
    {
    //das formular zum einloggen
    echo " <h3><u>Login</u></h3> ";
    echo " username ";
    echo " <form action=\"index.php?what=einloggen\" method=\"post\"> ";
    echo " <input name=\"username\" type=\"text\"  /> ";
    echo " <br /> ";
    echo " passwort ";
    echo " <input name=\"password\" type=\"password\"  /> ";
    echo " <p> ";
    echo " <input type=\"submit\" value=\"login\" /> ";
    echo " </form> ";
}
?>

Ich erläutere das ganze mal (falls das überhaupt nötig ist)...:
Wenn der Wert "einloggen" aufgerufen wird, wird die "If-Bedinung" aufgerufen...

So...

Ich hoffe ihr könnt mir helfen... :(

David


P.s.: Wenn wir es richtig hinbekommen haben, könntet ihr mir dann evtl auch verraten, wie man das macht, das bei Rang 4 ein anderes Menu gezeigt wird als bei Rang 3, 2 oder 1?
Obwohl ich das dann warscheinlich selber hinbekommen werde....

David
 
Zuletzt bearbeitet:
Ich weiß jetzt nicht was da nicht will, aber ich würde Dir spontan empfehlen die Session mit session_start(); zu starten und zwar ganz oben im Script.
 
... und ich würde nicht die MySQL-Zgangsdaten so frei im Internet veröffentlichen. Nur mal so als kleiner Tip. :-)
 
Manche verschicken echt freihand Einladungen an Hacker :(

Du musst natürlich auch die Session starten, wenns denn eine geben soll.

session_start();

Und das immer vor jeder Ausgabe und bei jeder Seite, die durch das Loginsystem geschützt werden soll.
 
Hey,
danke für die Antworten, nur leider hat es mir nicht weitergeholfen :(


Für weitere Vorschläge bin ich offen

D
 
Editier endlich mal deine Serverdaten aus dem Quelltext

Welche Fehlermeldung kommt denn?
 
Hey,
jo... die Daten sind geändert...

mein problem: es gibt keine Fehlermeldung...


Vielleicht kann mir ja einer von euch sein Login-system-script mal aufschreiben....:suchen: :) :confused:


David
 
Hier mal meine login.php
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'];
								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