F
FortunaFan
Hallo,
ich habe ein kleins Login System was an sich perfekt funktioniert. Allerdings, wenn man man auf Anmelden geht ohne die Felder zu füllen, wird der Eintrag angenommen. Das heißt, er übernimmt denn leeren Eintrag in der DB. Wie kann ich überprüfen - bin nicht der hellste in PHP - ob was eingegeben wurden ist und wenn nicht, der Eintrag oder die Anmeldung auch nicht angenommen wird?
// Anmeldungsformular (anmelden.php)
// Weiterverarbeitung (register.php)
// Login (login.php)
Ich hoffe ihr könnt mir helfen.
Mfg, FortunaFan
ich habe ein kleins Login System was an sich perfekt funktioniert. Allerdings, wenn man man auf Anmelden geht ohne die Felder zu füllen, wird der Eintrag angenommen. Das heißt, er übernimmt denn leeren Eintrag in der DB. Wie kann ich überprüfen - bin nicht der hellste in PHP - ob was eingegeben wurden ist und wenn nicht, der Eintrag oder die Anmeldung auch nicht angenommen wird?
// Anmeldungsformular (anmelden.php)
PHP:
<html>
<head>
<title></title>
</head>
<LINK href="style.css" type=text/css rel=stylesheet>
<body text="#FFFFFF" bgcolor="#A60000">
<center>
<b>:: Information ::</b><br>
<br>
Du kannst in zwei Minuten auch Kostenlos Mitglied sein und alle Vorteile von FortunaFan.Com nutzen.<br>
<br>
<br>
<b>:: Registrieren ::</b><br>
<br>
<div align="center">
<table border="0" width="30%" bordercolor="#A60000" bordercolorlight="#FFFFFF" bordercolordark="#FFFFFF" bgcolor="#A60000">
<?php
if (isset ($_REQUEST["fehler"]))
{
echo "Die Zugangsdaten waren ungültig.";
}
?>
<form action="register.php" method="post">
<tr>
<td width="30%" align="left"><font size="1" face="Verdana" color="#FFFFFF">Vorname:</td>
<td width="30%" align="left"><input type="text" style="background-color: #860000; border: 1px solid #00000; font-family: Verdana; font-size: 9px; color: #C9C9C9;" name="Array[Vorname]" size="20"></td>
</tr>
<tr>
<td width="30%" align="left"><font size="1" face="Verdana" color="#FFFFFF">Nachname:</td>
<td width="30%" align="left"><input type="text" style="background-color: #860000; border: 1px solid #00000; font-family: Verdana; font-size: 9px; color: #C9C9C9;" name="Array[Nachname]" size="20"></td>
</tr>
<tr>
<td width="30%" align="left"><font size="1" face="Verdana" color="#FFFFFF"><br>Benutzername:</font></td>
<td width="30%" align="left"><br><input type="text" style="background-color: #860000; border: 1px solid #00000; font-family: Verdana; font-size: 9px; color: #C9C9C9;" name="Array[Nickname]" size="20"></td>
</tr>
<tr>
<td width="30%" align="left"><font size="1" face="Verdana" color="#FFFFFF">Passwort:</td>
<td width="30%" align="left"><input type="password" style="background-color: #860000; border: 1px solid #00000; font-family: Verdana; font-size: 9px; color: #C9C9C9;" name="Array[Kennwort]" size="20"></td>
</tr>
<tr>
<td width="30%" align="left"><font size="1" face="Verdana" color="#FFFFFF">E-Mail:</td>
<td width="30%" align="left"><input type="text" style="background-color: #860000; border: 1px solid #00000; font-family: Verdana; font-size: 9px; color: #C9C9C9;" name="Array[EMail]" size="20"></td>
</tr>
<tr>
<td width="30%" align="left"></td>
<td width="30%" align="left"><bR><input type="submit" style="background-color: #860000; border: 1px solid #00000; font-family: Verdana; font-size: 9px; color: #C9C9C9;" value="Registrieren"></td>
</tr>
</table>
<SCRIPT language=JavaScript1.2>
if (window.Event) // Only Netscape will have the CAPITAL E.
document.captureEvents(Event.MOUSEUP); // catch the mouse up event
function nocontextmenu() // this function only applies to IE4, ignored otherwise.
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
function norightclick(e) // This function is used by all others
{
if (window.Event) // again, IE or NAV?
{
if (e.which == 2 || e.which == 3)
return false;
}
else
if (event.button == 2 || event.button == 3)
{
event.cancelBubble = true
event.returnValue = false;
return false;
}
}
document.oncontextmenu = nocontextmenu; // for IE5+
document.onmousedown = norightclick; // for all others
</SCRIPT>
// Weiterverarbeitung (register.php)
PHP:
<html>
<head>
<title></title>
</head>
<body>
<?php
$host = "localhost";
$user = "...";
$password = "...";
$dbname = "...";
$tabelle ="benutzerdaten";
$dbverbindung = mysql_connect ($host, $user, $password);
$dbanfrage = "INSERT into $tabelle values ('0', '$Array[Nickname]', '".md5($Array['Kennwort'])."', '$Array[EMail]', '$Array[Nachname]', '$Array[Vorname]')";
if (mysql_db_query ($dbname, $dbanfrage, $dbverbindung)) {
print ("Datenbankeintrag erfolgreich.");
} else {
print ("Es traten Probleme auf.");
}
mysql_close ($dbverbindung);
?>
</body>
</html>
// Login (login.php)
PHP:
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "...", "...");
if (!mysql_select_db ("v076519", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"Id, Nickname, EMail, Nachname, Vorname ".
"FROM ".
"benutzerdaten ".
"WHERE ".
"(Nickname like '".$_REQUEST["name"]."') AND ".
"(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
$result = mysql_query ($sql) or die (mysql_error());
if (mysql_num_rows ($result) > 0)
{
// Benutzerdaten in ein Array auslesen.
$data = mysql_fetch_array ($result);
// Sessionvariablen erstellen und registrieren
$_SESSION["user_id"] = $data["Id"];
$_SESSION["user_nickname"] = $data["Nickname"];
$_SESSION["user_email"] = $data["EMail"];
$_SESSION["user_nachname"] = $data["Nachname"];
$_SESSION["user_vorname"] = $data["Vorname"];
header ("Location: intern.php");
}
else
{
header ("Location: formular.php?fehler=1");
}
?>
Ich hoffe ihr könnt mir helfen.
Mfg, FortunaFan
Zuletzt bearbeitet von einem Moderator: