Christoph Haas
Mitglied
Hallo,
ich hab mal wieder ein Problem mit einem Script :suspekt:
Es ist ein Loginscript welches mit einer MySQL Datenbank arbeitet.
Ich poste erstmal die Codes und später die Erklärung/Fragen.
Das Loginformular sieht folgendermaßen aus:
index.php
save.php
und
einstellungen.php
So jetzt zu meiner Erklärung und zu meinen Fragen.
Wenn ich Passwort und Benutzername richtig eingebe, erscheint der Link "Einstellungen" mit welchem ich auf die einstellungen.php gehen kann. Gebe ich die Daten falsch ein, erscheint der Text "Benutzername / Passwort falsch!";
Soweit so gut, stimmt ja auch alles.
Jetzt kommt aber mein Problem. Wenn ich einfach http://.../einstellungen.php in die Adresszeile meines Browsers eingebe komme ich direkt zu den Einstellungen und umgehe das Loginscript.
Was muss ich machen, damit dann zB eine Fehlermeldung ausgegeben wird die zB "Geben Sie Benutzername und Passwort ein, um in die Einstellungen zu gelangen".
Wie müsste der Code in allen 3 Dateien aussehen!?
Ich Bitte um Hilfe - Danke
PS: sollte noch was unklar sein, einfach sagen ;-)
ich hab mal wieder ein Problem mit einem Script :suspekt:
Es ist ein Loginscript welches mit einer MySQL Datenbank arbeitet.
Ich poste erstmal die Codes und später die Erklärung/Fragen.
Das Loginformular sieht folgendermaßen aus:
index.php
PHP:
<link href="../style.css" rel="stylesheet" type="text/css">
<form name="form1" method="post" action="save.php">
<table width="365" border="0" cellspacing="0" cellpadding="0">
<tr>
<th width="108" height="35" valign="middle" class="schrift" scope="col"><div align="right">Benutzername:</div></th>
<th width="12" valign="middle" scope="col"> </th>
<th width="245" valign="middle" scope="col"><div align="left">
<input name="benutzername" type="text" class="textfeld" id="benutzername" size="30">
</div></th>
</tr>
<tr>
<th height="35" valign="middle" class="schrift" scope="row"><div align="right">Passwort:</div></th>
<td valign="middle"> </td>
<td valign="middle"><div align="left">
<input name="passwort" type="password" class="textfeld" id="passwort" size="30">
</div></td>
</tr>
<tr>
<th height="0" scope="row"> </th>
<td> </td>
<td valign="bottom"><input type="submit" name="Submit" value="Login"></td>
</tr>
</table>
</form>
save.php
PHP:
<style type="text/css">
<!--
body,td,th { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; }
a:link { text-decoration: none; color: #000000; font-weight: bold; }
a:visited { text-decoration: none; }
a:hover { text-decoration: underline; }
a:active { text-decoration: none; }
a { font-size: 10px; }
-->
</style>
<?
include("../conf/config.inc.php");
$benutzername = $_POST['benutzername'];
$passwort = $_POST['passwort'];
mysql_connect($db_host, $db_username, $db_passwort);
mysql_select_db($db_name);
$abfrage = "SELECT benutzername, passwort FROM admin WHERE benutzername = '$benutzername' AND passwort = '$passwort'";
$ergebnis = mysql_query($abfrage);
if(mysql_num_rows($ergebnis))
{
?><a href="einstellungen.php">Einstellungen</a><?
}
else
{
print "Benutzername / Passwort falsch!";
}
?>
und
einstellungen.php
PHP:
<?
echo "hier sollen die Einstellungen rein";
?>
So jetzt zu meiner Erklärung und zu meinen Fragen.
Wenn ich Passwort und Benutzername richtig eingebe, erscheint der Link "Einstellungen" mit welchem ich auf die einstellungen.php gehen kann. Gebe ich die Daten falsch ein, erscheint der Text "Benutzername / Passwort falsch!";
Soweit so gut, stimmt ja auch alles.
Jetzt kommt aber mein Problem. Wenn ich einfach http://.../einstellungen.php in die Adresszeile meines Browsers eingebe komme ich direkt zu den Einstellungen und umgehe das Loginscript.
Was muss ich machen, damit dann zB eine Fehlermeldung ausgegeben wird die zB "Geben Sie Benutzername und Passwort ein, um in die Einstellungen zu gelangen".
Wie müsste der Code in allen 3 Dateien aussehen!?
Ich Bitte um Hilfe - Danke
PS: sollte noch was unklar sein, einfach sagen ;-)