Du bist nicht eingeloggt.

Login

Pass

Registrieren

Community
Szene & News
Locations
Impressum

Forum / Bits und Bytes

PHP Problem

Jan_009
Profi (offline)

Dabei seit 09.2009
573 Beiträge

Geschrieben am: 26.12.2011 um 13:20 Uhr

Hallo,

ich hab mal wieder ein Problem ...

Also, ich hab auf meiner Site ein Log-in Script. Wenn ich auf Login klicke werde ich auch direkt auf weitere Seiten geleitet. so weit so gut!
Jetzt gebe ich aber einen falschen Username oder ein falsches PW ein, und das "Design", das ich mit CSS und HTML erstellt habe, wird nicht mehr angezeigt ....

Ich poste mal den Code hier rein:

Zitat:

<?php
session_start();
require_once("config.php");
?>
<?php
$name = $_POST['name'];
$pword = md5($_POST['pword']);
if($name&&$pword)
{
$chkuser = mysql_query("SELECT username FROM login WHERE username = '{$name}'");
$chkuserare = mysql_num_rows($chkuser);
if($chkuserare != 0)
{
$chkpword = mysql_query("SELECT password FROM login WHERE username = '{$name}'");
$passworddb = mysql_fetch_assoc($chkpword);
if(md5($pword) != $passworddb ['password'])
{ header ("Location: home.php");
$_SESSION['username'] = $name;
}
else
{
echo "Das Passwort ist falsch";
}
}
else
{
echo "User nicht vorhanden!";
}
}
else
{

?>

<html>
<head>
<title>
Networld - Home
</title>
<style>

#content {
width: 850px;
backround-color: orange;
margin:auto
}

a:link {
text-decoration:none;
font-weight:bold;
font-size:14px;
color: red;
}

#main {
width: 900px;
height: 1600px;
background-color: orange;
margin: auto;
}


#menu {
width: 800px;
height: 50px;
background-color: red;
align: center;
margin: auto;
margin-top: 20px;
}

#header {
width: 500px;
height: 150px;
background-color: blue;
align:center;
margin: auto;
}

.button3 {
height: 40px;
width: 160px;
font-family: Arial, Helvetica, sans-serif;
font-size: 18px;
font-weight: bold;
}


</style>
</head>
<body link="ff0000">

<div id="main">

<br>


<div id="header">
<center>
<font size="7" color="white">
Networld
</font><br>
<font size="5" color="white">
Der Internetblog!
</font>
</center>


</div>


<div id="menu">
<center>
<input type="submit" name="Home-Button" value="Home" class="button3" onClick="self.location.href='index.php'">

</center>

</div>


<div id="content">

<b><center><h1>Log-in</h1></center></b><br>


<form method="post" action="index.php">


<table width="600">

<tr><td>Nutzername:</td><td><input type="text" name="name" /></td><td>Passwort:</td><td>
<input type="password" name="pword" /></td><td><input type="submit" name="register" value="Login" />
</td></tr><tr>
<td><font color="white"><a href="register.php">Registrieren</a></font></td><td><?php
echo "Bitte f&uuml;llen sie alle Felder aus!";
}
?>
</td></tr>

</table>


</form>
<br>

<h4>Bitte loggen sie sich ein, um alle Funktionen der Website grenzenlos nutzen zu können.<br><br>
Sie sind noch nicht registriert? Dann tun sie das! Einfach unter dem Login-Formular auf den
Link Registrieren klicken!</h4>

</div>

</div>



</body>

</html>


Ich überleg grad ob ich dann statt dem echo "username/Passwort nicht vorhanden" einfach eine Weiterleitung mit header () mache ?!

Hoffe ihr könnt mir helfen :-)

Lach nie über jemanden, der einen Schritt zurück geht!! Er könnte Anlauf nehmen! -.-

scw - 41
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 26.12.2011 um 13:27 Uhr
Zuletzt editiert am: 26.12.2011 um 13:31 Uhr

Mach deine Ausgabe mal innerhalb des <BODY>-Tag. Das könnte helfen.

EDIT: Das ganze würde man auch mit einem SQL-Select hin bekommen. SELECT count(id) FROM tabelle WHERE username='$username' AND password='$md5Password' (in md5Password musst du davor natürlich das Password als MD5 ablegen :-) ).
Ob der Benutzername nicht vorhanden ist oder ob nur das Password falsch ist, würde ich dem User nicht weiter geben. Sonst weiß ein Angreifer gleich, dass nur das Password falsch ist und der Username existiert :-)
Jan_009
Profi (offline)

Dabei seit 09.2009
573 Beiträge

Geschrieben am: 26.12.2011 um 13:39 Uhr

Dann bekomm ich aber Probleme mit header() ....
Da darf kein HTML davor stehen ...

Ja ich weiß, ich hab das grad nur so, weil ich testen will ob er auch alles richtig ausgibt ;-)


Lach nie über jemanden, der einen Schritt zurück geht!! Er könnte Anlauf nehmen! -.-

scw - 41
Experte (offline)

Dabei seit 09.2002
1836 Beiträge
Geschrieben am: 26.12.2011 um 13:54 Uhr

Zitat von Jan_009:

Dann bekomm ich aber Probleme mit header() ....
Da darf kein HTML davor stehen ...


Dann solltest dir nochmals über den Aufbau gedanken machen ;-)
Du könntest die Ausgabe auch in einer Variable zwischenspeichern und irgendwo anders ausgeben.
Klischeepunk - 40
Champion (offline)

Dabei seit 01.2005
8907 Beiträge

Geschrieben am: 28.12.2011 um 18:49 Uhr

1. spuck 403,
2. md5 verwendet man nicht für passwörter
3. ab zum nächsten thread... kennst du google?

Dieser Post wurde 2 mal ROT-13 verschlüsselt.

  [Antwort schreiben]

Forum / Bits und Bytes

(c) 1999 - 2025 team-ulm.de - all rights reserved - hosted by ibTEC Team-Ulm

- Presse - Blog - Historie - Partner - Nutzungsbedingungen - Datenschutzerklärung - Jugendschutz -