Passwort-Probleme

Torgath

Mitglied
Ich hab ein kleines (vieleicht auch grösseres) Problem.

Ich hab wie schon bei manchen bekannt, ( ;) ) eine Datenbank die ich mittels PHP auf ne Page sichbar machen will, resp. schon gemacht habe.

Nun will ich diese Page per Benutzer-/ Passwortkontrolle schützen.

Den Benutzername (Username) und das Passwort (Password) lese ich aus der Tabelle psemployees genauer aus den Datenfeldern Username und Password.

Nun habe ich das ernsthafte Problem, das ich schon was angefangen habe, aber nich fertig machen kann, weill ich nicht weiter weiss...

Könnt ihr mir helfen?

Hier die Codes: (login_enter.php)

PHP:
<html>
 
<head>
 
<title>
 
login_enter.php
 
</title>
 
<script language="javascript" src="scripts/child.js"></script>
 
<script language="javascript" src="scripts/convert.js"></script>
 
</head>
 
<body background="images/bgpanel.gif" style=font-family:'Arial'>
 
<?php
 
 
 
$table ="psemployees";
 
include("includes/inclconnect.php");
 
 
 
$recsel = "SELECT 'User', 'Password', 'AccessRead', 'AccessUp' FROM $table";
 
 
 
include("includes/inclquery_output.php");
 
 
 
//$access = mysql_query($recsel, $table) or die(mysql_error());
 
$row_access = mysql_fetch_array($access); 
 
$totalRows_access = mysql_num_rows($access);
 
 
 
if ($recsel == "$_POST[Username]")
 
{
 
if ($recsel == "$_POST[Username]")
 
{
 
if ($accessread == J)
 
{
 
if ($accssup == J)
 
{
 
table4.html
 
}
 
else
 
{
 
table3.html
 
}
 
}
 
else
 
{
 
//table2.html
 
//print ("<script langugage=\"javascript\">\n
 
//javascript:parent.RefreshHTML('table', 'table2');\n
 
//</script>\n");
 
}
 
else
 
{
 
echo "Passwort Falsch <br> bitte geben Sie es erneut ein.<br><br>"; 
 
}
 
else
 
{ 
 
echo "Username Falsch <br> bitte geben Sie Ihren Benutzennamen erneut ein.<br><br>"; 
 
} 
 
?>
 
</body>
 
</html>

(login.php)

PHP:
<html>
 
<head>
 
<title>
 
login.php
 
</title>
 
<script language="javascript" src="scripts/child.js"></script>
 
<script language="javascript" src="scripts/convert.js"></script>
 
</head>
 
<body background="images/bgpanel.gif" style=font-family:'Arial'>
 
<center>
 
 
 
<form action="login_enter.php" method="post" name="FormLogin">
 
<table>
 
<tr>
 
<td>Name:</td>
 
<td><input type=text size=10 name=Name value="<?php '$user[Username]'; ?>"></td>
 
</tr>
 
<tr>
 
<td>Passwort:</td>
 
<td><input type=password size=10 name=Password value="<?php '$password[Password]'; ?>"></td>
 
</tr>
 
<tr>
 
<td><input type=submit name=Login value=Login></td>
 
</tr>
 
</table>
 
</form>
 
</center>
 
</body>
 
</html>

(inclconnect.php)

PHP:
<?php
 
$host = "localhost";
 
$user = "root";
 
$dbname = "comprog";
 
$connect = mysql_connect ($host, $user) or die(mysql_error());
 
 
 
function GetNextEnum($curtable)
 
{
 
global $dbname, $connect;
 
$Ldb = $dbname;
 
$Ltblenum = "genum";
 
$Lquery = "SELECT * FROM $Ltblenum WHERE Tablename = '$curtable';";
 
$Lresult = mysql_db_query ($Ldb, $Lquery, $connect);
 
if ($Lresult) //Check if row exists
 
{
 
while($Lout = mysql_fetch_array($Lresult))
 
{
 
$Lhelpvar = $Lout['LastID'];
 
}
 
$LLastID = (1 * $Lhelpvar) + 1; //Force convertion to number and add one
 
$Lquery = "UPDATE $Ltblenum SET LastID = $LLastID WHERE Tablename = '$curtable';";
 
}
 
else
 
{
 
$LLastID = 1;
 
$Lquery = "INSERET INTO $Ltblenum VALUES('0','$curtable', '1');";
 
}
 
mysql_db_query ($Ldb, $Lquery, $connect) or die( "Update von $Ltblenum fehlgeschlagen!" .mysql_error());
 
return $LLastID;
 
}
 
?>

(inclquery_output.php)

PHP:
<?php
 
$result = mysql_db_query ($dbname, $recsel, $connect);
 
?>

Danke schon mal...
 
Ich hab unterdessen selber ein paar Fehler geändert, trotzdem gibts noch Probleme...

PHP:
<html>
   <head>
 	<title>
 	login_enter.php
 	</title>
 	<script language="javascript" src="scripts/child.js"></script>
 	<script language="javascript" src="scripts/convert.js"></script>
   </head>
   <body background="images/bgpanel.gif" style=font-family:'Arial'>
 	<?php
 	
 	$table ="psemployees";
 
 	include("includes/inclconnect.php");
 	
 	$recsel = "SELECT Username, Password, AccessRead, AccessUp FROM $table WHERE Username = '$_POST[Username]'";
 	
 	include("includes/inclquery_output.php");
 	
 	//$access = mysql_query($recsel, $table) or die(mysql_error());
 	$row_access = mysql_fetch_array($access); 
 	$totalRows_access = mysql_num_rows($access);
 	
 	if ($result == "$_POST[Username]")
 	  {
 		if ($accessread == "J")
 		  {
 			if ($accssup == "J")
 			  {
 			    print ("<script langugage=\"javascript\">\n
 			    javascript:parent.RefreshHTML('table', 'table4');\n
 				</script>\n");
 			  }
 				else
 			  {
 			    print ("<script langugage=\"javascript\">\n
 			    javascript:parent.RefreshHTML('table', 'table3');\n
 				</script>\n");
 			  }
 		  }
 			else
 		  {
 			print ("<script langugage=\"javascript\">\n
 			javascript:parent.RefreshHTML('table', 'table2');\n
 			</script>\n");
 		  }
 		else
 	  {  
 		print "Passwort Falsch <br> bitte geben Sie es erneut ein."; 
 	  }
 
 	?>
   </body>
 </html>
 
So, hab fast alle Probleme alleine lösen können... hat zwar mehr als das ganze Weekend gedauert, aber was solls... ich hoffe es ist jemand willends mir jetzt zu helfen oder wenigstens es zu versuchen...

Hier findet man meine Passworteingabe: http://84.72.139.219/Vorlagen

Wenn ich den richtigen Benutzernamen und das richtige Passwort eingebe, komme ich wie gewollt weiter...

Falls ich das einte, das andere oder gar beide Fehler leer lasse kommt je nach dem diese Nachricht: Bitte Passwort eingeben!, diese Nachricht: Bitte Benutzernamen eingeben! oder gar beide Nachrichten...

Das ist soweit auch ok! Aber wenn ich ein Benutzernamen ind ein Passwort eingebe die Falsch sind, kommt keine Fehlermeldung...

Wie krieg ich das hin?

Hier die bisherige Abfrage:

PHP:
	function Validation($username, $userpass)
 	{
 	  $LVal = 0;
 	  
 	  if ($username == "")
 	  {
 		$LVal = 1;
 		print "Bitte Benuternamen eingeben!<br>";
 	  }
 	  
 	  if ($userpass == "")
 	  {
 		$LVal = 1;
 		print "Bitte Passwort eingeben!<br>";
 	  }
 	  return $LVal;
 	}


Habs auch schon zusätzlich mit:

PHP:
if (isset ($username))
 	  {
 		$LVal = 1;
 		print "Falscher Benutzername";
 	  }
 	  
 	  if (isset ($userpass))
 	  {
 		$LVal = 1;
 		print "Falsches Passwort";
 	  }

versucht, das ging aber ganz schief...
 
PHP:
<?php
 session_start ();
 ?>
 <html>
   <head>
 	<title>
 	work_login.php
 	</title>
 	<script language="javascript" src="scripts/child.js"></script>
 	<script language="javascript" src="scripts/convert.js"></script>
   </head>
   <body background="images/bgpanel.gif" style=font-family:'Arial'>
 	<?php
 	
 	function Validation1($username, $userpass)
 	{
 	  $LVal = 0;
 	  
 	  if ($username == "")
 	  {
 		$LVal = 1;
 		print "Bitte Benuternamen eingeben!<br>";
 	  }
 	  
 	  if ($userpass == "")
 	  {
 		$LVal = 1;
 		print "Bitte Passwort eingeben!<br>";
 	  }
 	  return $LVal;
 	}
 	
 	function Validation2($username, $userpass)
 	{
 	  $LVal = 0;
 	  
 	  if ($username == "$_SESSION[user]")
 	  {
 		$LVal = 0;
 	  }
 	  else
 	  {
 		Change_HTML("panel", "noentry");
 	  }
 	  
 	  if ($userpass == "$_SESSION[password]")
 	  {
 		$LVal = 0;
 	  }
 	  else
 	  {
 		Change_HTML("panel", "noentry");
 	  }
 	  return $LVal;
 	}
 	
 	
 
 	include("includes/inclfunction.php");
 	
 	$table = "psemployees";
 
 	$username = "$_POST[Name]";
 	$userpass = "$_POST[Password]";
 	
 	if (Validation1($username, $userpass) == 0)
 		{  
 		include("includes/inclconnect.php");
 		
 		$recsel = "SELECT Username, Password, Access FROM $table WHERE Username = '$username'";
 	
 		$result = Rec_Output($recsel);
 		
 		$access = mysql_fetch_array($result); 
 		
 		$_SESSION["user"] = "$access[Username]";
 		$_SESSION["password"] = "$access[Password]";
 		$_SESSION["access"] = "$access[Access]";
 	
 		if (Validation2($username, $userpass) == 0)
 		  { 
 		  if ($_SESSION["access"] >= "1")
 		  {
 			if ($_SESSION["access"] == "2")
 			{
 					
 			  Change_HTML("table", "muttable");
 					
 			}
 			  else
 			{
 			  Change_HTML("table", "printtable");
 			}
 		  }
 			else
 		  {
 			Change_HTML("table", "reptable");
 		  }
 		}
 		  else
 		{  
 		  Change_HTML("panel", "noentry"); 
 		}
 	  
 	  Dis_Connect();
 	  
 	  }
   
 	Change_PHP("panel", "tempsave");
   
 	?>
   </body>
 </html>

Der Code scheint zu funktionieren, er macht auch fast alles so wie ich will, ausser das wen ich jetzt kein Passwort oder Benutzername eingebe er gleich wieder in Login geht statt den oben gewolten Text auszugeben...

Aber trotzdem hab ich das Gefühl, das was falsch ist... ich weiss nur nicht was!
 
Zurück