Garo_TheOne
Grünschnabel
Hallo zusammen,
ich hab mich hier schon umgeguckt, hab aber für mein Problem noch nichts gefunden!
Ich hab eine Datenbank erstellt, wo leute sich regestrieren können!
Die Registrierung verläuft ohne Probleme, die Daten werden einbahnfrei in die Datenbank eingetragen!
Doch beim Login kommt die Meldung (die ich auch gemacht macht habe, falls sowas passiert), dass das Passwort falsch ist! Ich bin mir aber defenetiv sicher das das Passwort richtig ist!
Ich poste euch mal den Code:
SQL-Datenbank:
registrierung (index.php)
login_config.inc (für reg)
index.php (für login)
login.php
Ich hoffe ihr könnt mir weiterhelfen.
Wenn ich weitere codes braucht, poste ich die auch!
Ach ja, egal wieviele Leute ich in die Datenbank eintrage, selbst über SQL, der fehler kommt immer das das Passwort falsch ist.
Wenn ein user nicht erkannt ist, sagt er mir das aber auch!
Nur die Funktion scheint ein fehler zu haben!
Greetz
GTO
ich hab mich hier schon umgeguckt, hab aber für mein Problem noch nichts gefunden!
Ich hab eine Datenbank erstellt, wo leute sich regestrieren können!
Die Registrierung verläuft ohne Probleme, die Daten werden einbahnfrei in die Datenbank eingetragen!
Doch beim Login kommt die Meldung (die ich auch gemacht macht habe, falls sowas passiert), dass das Passwort falsch ist! Ich bin mir aber defenetiv sicher das das Passwort richtig ist!
Ich poste euch mal den Code:
SQL-Datenbank:
PHP:
CREATE TABLE IF NOT EXISTS `signup` (
`firstname` varchar(60) NOT NULL,
`lastname` varchar(60) NOT NULL,
`email` varchar(60) NOT NULL,
`username` varchar(60) NOT NULL,
`password` varchar(60) NOT NULL,
`password_confirm` varchar(60) NOT NULL,
PRIMARY KEY (`username`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
registrierung (index.php)
PHP:
<?php
define('IN_ILOGIN', true);
require_once("ilogin_core.inc.php");
function simpleRandString($length=16, $list="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ")
{
mt_srand((double)microtime()*1000000);
$newstring="";
if($length>0)
{
while(strlen($newstring)<$length)
{
$newstring.=$list[mt_rand(0, strlen($list)-1)];
}
}
return $newstring;
}
$action = ilogin_get_post("action");
$ilogin_title = "$ilogin_siteName ";
if (("$action" == "confirm") && (!$ilogin_demoMode))
{
$ilogin_title = "$ilogin_siteName - New User Confirmation";
}
else if ("$action" == "add")
{
$ilogin_title = "$ilogin_siteName ";
}
else
{
$action = "signup";
$ilogin_title = "$ilogin_siteName ";
}
echo <<<EOF
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<HTML>
<HEAD>
<TITLE>$ilogin_title</TITLE>
<META HTTP-EQUIV="Content-Type" content="text/html; charset=utf-8">
<META HTTP-EQUIV="Content-Language" CONTENT="EN">
</HEAD>
<BODY BGCOLOR="$ilogin_pageBackgroundColour" TEXT="$ilogin_textColour">
<CENTER>
<H1>$ilogin_title</H1>
EOF;
if ("$action" == "signup")
{
echo <<<EOF
<FORM ACTION="$PHP_SELF" METHOD="POST">
<TABLE BORDER="0" WIDTH="350" NOWRAP="NOWRAP" BGCOLOR="$ilogin_formBackgroundColour">
<TR>
<TD><B>Um auf die Gallery zu zugreifen, müssen Sie sich registrieren</B><BR>
<BR><BR>
</TD>
</TR>
<TR><TD><INPUT TYPE="text" NAME="firstname"> Vorname *</TD></TR>
<TR><TD><INPUT TYPE="text" NAME="lastname"> Nachname *</TD></TR>
<TR><TD><INPUT TYPE="text" NAME="email"> E-Mail Addresse *</TD></TR>
<TR><TD><B>Wähle ein Nickname</B><BR>
<INPUT TYPE="text" NAME="username"> Nickname *</TD></TR>
<TR><TD><B>Wähle ein Passwort</B><BR>
<INPUT TYPE="password" NAME="password"> Passwort *<BR>
<INPUT TYPE="password" NAME="password_confirm"> Passwort Wiederholen *</TD></TR>
EOF;
echo <<<EOF
<TR><TD><INPUT TYPE="submit" VALUE="Registrieren"><INPUT TYPE="RESET" VALUE="Felder löschen"></TD></TR>
</TABLE>
<INPUT TYPE="hidden" NAME="action" VALUE="add">
</FORM>
EOF;
}
else if ("$action" == "add")
{
$user = strip_tags(strtolower(ilogin_get_post("username")));
$pass = strtolower(ilogin_get_post("password"));
$pass_confirm = strtolower(ilogin_get_post("password_confirm"));
$firstname = strip_tags(ilogin_get_post("firstname"));
$lastname = strip_tags(ilogin_get_post("lastname"));
$email = ilogin_get_post("email");
if ($user == "")
{
$signupError .= "<P>Geben Sie ein Namen ein!";
}
else if (!ereg("^[a-z0-9]+$", $user))
{
$signupError .= "<P>Ihr Usernamen verfuegt ueber ungueltige Zeichen!.";
}
else if (!$ilogin_demoMode)
{
$result = mysql_query("select * from $ilogin_table where username='$user'", $ilogin_db);
if (($result) && ($row = mysql_fetch_object($result)))
{
$signupError .= "<P>Der Name wird bereits verwendet!";
}
}
if (strlen($pass) < 6)
{
$signupError .= "<P>Dein Passwort muss laenger wie 6 Zeichen sein!";
}
else if (ereg($user, $pass))
{
$signupError .= "<P>Dein Password darf nicht wie dein Nickname sein!.";
}
else if (!ereg("^[a-z0-9]+$", $pass))
{
$signupError .= "<P>Die E-Mail Adresse wird bereits verwendet!";
}
else if ($pass != $pass_confirm)
{
$signupError .= "<P>Die Passwoerter sind nicht gleich!";
}
if ($email == "")
{
$signupError .= "<P>Tragen Sie eine E-Mail Adresse ein!";
}
else if (!eregi( '^[-_\.a-z0-9]+@([-a-z0-9]+\.)+[a-z]{2,}$', $email))
{
$signupError .= "<P>Diese E-Mail Adresse existiert nicht!";
}
if (("$firstname" == "") || ("$lastname" == ""))
{
$signupError .= "<P>Du musst einen vollen Namen eingeben.";
}
if ("$signupError" == "")
{
if ($ilogin_demoMode)
{
echo <<<EOF
<P>In Demo Mode. User account will not be created or verification email sent.
EOF;
}
else
{
mysql_query ("INSERT INTO $ilogin_table (username, password, email, firstname, lastname, status) VALUES ('$user', '$pass', '$email', '" . mysql_escape_string($firstname) . "', '" . mysql_escape_string($lastname) . "', 'New' )", $ilogin_db);
if (($result = mysql_query ("SELECT id FROM $ilogin_table WHERE username='$user'")) &&
($item = mysql_fetch_object($result)))
{
$id = $item->id;
}
if ($ilogin_verifyEmailAddresses)
{
$confirm = simpleRandString();
mysql_query("UPDATE $ilogin_table SET confirm='$confirm' WHERE username='$user'", $ilogin_db);
echo("<P>Danke, deine Registrierung war erfolgreich, du kannst dich nun einloggen!");
}
else
{
if (!$ilogin_demoMode)
{
mysql_query("UPDATE $ilogin_table SET status='Active' WHERE username='$user'", $ilogin_db);
ilogin_write_htpasswd();
}
echo <<<EOF
<P>Dein Account ist Eingetragen du kannst dich nun an die <A HREF="$ilogin_protectedUrl">Passwoerter geschuetzen protected Seiten</A> dich aufhalten.
EOF;
}
}
}
else
{
echo <<<EOF
<P>Ueberpruefe bitte deine Angaben!
<SCRIPT LANGUAGE="JavaScript">
<!--
document.write("<A HREF=\"javascript:history.back()\">go back</A>");
// -->
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>
$signupError
EOF;
}
}
else if ("$action" == "confirm")
{
$id = ilogin_get_post("id");
$confirm = ilogin_get_post("confirm");
$result = mysql_query ("SELECT * FROM $ilogin_table WHERE id='$id' AND confirm='$confirm' AND status='New'");
if ((! $result) || (mysql_num_rows($result) < 1))
{
echo <<<EOF
<H1>ERROR</H1>
<P>Invalid confirmation. Did you already confirm your membership?
EOF;
}
else
{
mysql_query("UPDATE $ilogin_table SET status='Active' WHERE id='$id'", $ilogin_db);
ilogin_write_htpasswd();
echo <<<EOF
<P>Danke für die Bestätigung.
<P>Du kannst dich nun überall mit <A HREF="$ilogin_protectedUrl">Passworten geschützen protected Seiten</A> aufhalten.
EOF;
}
}
echo <<<EOF
</CENTER>
</BODY>
</HTML>
EOF;
if (!$ilogin_demoMode)
{
mysql_close($ilogin_db);
}
?>
login_config.inc (für reg)
PHP:
<?php
if ( !defined('IN_ILOGIN') )
{
die("Hacking attempt");
}
$ilogin_sql_server = "localhost";
$ilogin_sql_username = "garo";
$ilogin_sql_password = "xxxxxx";
$ilogin_sql_database = "garo_login";
$ilogin_siteName = "Registrieren";
$ilogin_adminEmail = "g.adanali@web.de";
$ilogin_protectedUrl = "/members";
$login_adminPassword = "secret";
$ilogin_table = "ilogin";
$ilogin_htpasswd_path = ".htpasswd";
$ilogin_recordPostalAddress = True;
$ilogin_recordPhoneNumber = True;
$ilogin_recordIcq = True;
$ilogin_verifyEmailAddresses = True;
$ilogin_demoMode = False;
$ilogin_pageBackgroundColour = "#ffffff";
$ilogin_formBackgroundColour = "#ffffff";
$ilogin_textColour = "#000000";
$ilogin_useMd5 = False;
?>
index.php (für login)
PHP:
<?php
require("connect.inc.php");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Login</title>
<link rel="stylesheet" type="text/css" href="styles2.css">
</head>
<body>
<?php if(!isset($_POST['submit'])) { ?>
<form action="<?php $PHP_SELF ?>" method="post">
<table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<b>Bitte erst anmelden</b>
</td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Benutzername</td>
<td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"<?php if($_POST['username'] != "" ) {echo ' value="'.$_POST['username'].'"';} ?>></td>
</tr>
<tr>
<td width="170" bgcolor="#e7e7e7">Passwort</td>
<td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
</tr>
<tr>
<td bgcolor="#e7e7e7" align="center" colspan="2">
<input type="submit" name="submit" value="Anmelden" class="button">
</td>
</tr>
</table>
</form>
<?php
}elseif(!$_POST['username'] || $_POST['username'] == "") {
echo '<p align="center">Einen Benutzernamen brauchen wir schon ^^<br><br><a href="index2.php">Zurueck</a></p>';
}elseif(!$_POST['password'] || $_POST['password'] == "") {
echo '<form action="index2.php" method="post">';
echo '<p align="center">Ein Passwort brauchen wir schon ^^<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurueck">';
echo '</p>';
echo '</form>';
}else{
$password = md5($password);
$query = @mysql_query("SELECT username, password FROM ilogin WHERE username = '".$_POST['username']."'") or die('ERROR!');
$result = @mysql_fetch_array($query) or die('<p align="center">Sorry, aber dieser Benutzername existiert nicht!<br><a href="index2.php">Zurueck</a></p>');
if($password != $result['password']){
echo '<form action="index2.php" method="post">';
echo '<p align="center">Dein Passwort ist Falsch! -.-<br><br>';
echo '<input type="hidden" name="username" value="'.$_POST['username'].'">';
echo '<input type="submit" name="zurueck" value="Zurueck"></p>';
echo '</form>';
die;
}else{
$username = $result['username'];
session_register('username');
echo '<p align="center">LogIn erfolgreich! ^^<br><br><a href="sichere_seite.php">Weiter</a></p>';
}
}
?>
</body>
</html>
login.php
PHP:
<?php
// Session starten
session_start ();
// Datenbankverbindung aufbauen
$connectionid = mysql_connect ("localhost", "xxxxxx", "xxxxxx");
if (!mysql_select_db ("garo_login", $connectionid))
{
die ("Keine Verbindung zur Datenbank");
}
$sql = "SELECT ".
"id, username, lastname, firstname ".
"FROM ".
"signup ".
"WHERE ".
"(username like '".$_REQUEST["username"]."') AND ".
"(password = '".md5 ($_REQUEST["password"])."')";
$result = mysql_query ($sql);
$num_rows = (mysql_num_rows $result);
{
$data = mysql_fetch_array ($result);
$_SESSION["user_id"] = $data["id"];
$_SESSION["user_username"] = $data["username"];
$_SESSION["user_lastname"] = $data["lastname"];
$_SESSION["user_firstname"] = $data["firstname"];
header ("Location: intern.php");
}
?>
Ich hoffe ihr könnt mir weiterhelfen.
Wenn ich weitere codes braucht, poste ich die auch!
Ach ja, egal wieviele Leute ich in die Datenbank eintrage, selbst über SQL, der fehler kommt immer das das Passwort falsch ist.
Wenn ein user nicht erkannt ist, sagt er mir das aber auch!
Nur die Funktion scheint ein fehler zu haben!
Greetz
GTO