Inloggning

PHP

0 svar · 308 visningar · startad av Ella

Medlem sedan mars 200927 inlägg
Trådstart#1

Hej, skulle behöva lite idéer om varför inte min inlogging fungerar. Får som felmeddelande att inloggningen misslyckades och jag är säker på att tabellerna är korrekta. Vart lägger jag sedan in att den ska vid rätt användarnamn och rätt lösenord gå vidare till startsida.php?

<?php
session_start();
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns = "http://www.w3.org/1999/xhtml">
<head>
<title>Inloggning</title>
</head>

  <body>
  <form action="inloggning.php" method="post">
	Anv&auml;ndarnamn:<br>
	<input type="text" name="UserName" id="UserName" ><br>
	L&ouml;senord:<br>
	<input type="password" name="Password" id="Password"><br>
	<input type="submit" name="btnSubmit" value="Logga in">
	</form>
<div>

<?php

function preparePostData($value)
{
 
   if (get_magic_quotes_gpc()) {
       $value = stripslashes($value);
   }
 
   if (!is_numeric($value)) {
       $value = "'".addslashes($value)."'";
   }
   return $value;
}

function checkInputs($input){
	if(preg_match("/^[A-Za-z0-9_]{4,20}$/",$input,$matches))
		return print_r($matches);
	else
		return "no matches";
}

if(isset($_POST['btnSubmit'])){
	$hostname = '***';
	$username = '***';
	$password = '***';
	
	try {
		$dbConn = new PDO("mysql:host=$hostname;dbname=***", $username, $password);
		$sql = "SELECT * FROM members WHERE UserName='". preparePostData($_POST['UserName']) ."' AND Password='".md5(preparePostData($_POST['Password']))."'";

		$stmt = $dbConn->query($sql);
		$result = $stmt->fetch(PDO::FETCH_BOTH);
		
	
		if($result['ID'] != ""){
			echo "Hej ".$result['UserName']." <br /> Du &auml;r inloggad";
			$_SESSION["LoggedIn"] = "Yes";
			
		}
		else{
			echo "Inloggning misslyckades";
			
		}	

		
		$dbConn = "null";
		
		
		echo "<h2>SQL sats </h2>".$sql."<br />";
		echo "<h2>MySQL escaped strings</h2>Username: ".preparePostData($_POST['UserName'])." <br />Lösen: ".preparePostData($_POST['Password'])."<br />";
		echo "<h2>Kontrollera input med regex</h2>Username: ".checkInputs($_POST['UserName'])." <br />Lösen: ".checkInputs($_POST['Password'])."<br />";
			
		}
	catch(Exception $e)
		{
			echo "Inloggningen misslyckades f&ouml;rs&ouml;k igen!";
		}
}
?>
</div>
</body>
</html>
269 ms totalt · 4 externa anrop · v20260731065814-full.d34c6d5a
131 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
130 ms — ändringar (db)