Password working
diff --git a/ajax/getusers.php b/ajax/getusers.php
index cb8520d..4973cf7 100644
--- a/ajax/getusers.php
+++ b/ajax/getusers.php
@@ -1,5 +1,11 @@
+<option>Selecciona usuari...</option>
+
 <?php
 	require '../php/utils.php';
+	
 	$users = get_users(0);
-	foreach ($users as $user) echo "<option value='".$user->id."'>".$user->nomcomplet."</option>\n";
+	foreach ($users as $user) {
+		$nopassword = $user->md5password == "" ? "nopassword" : "";
+		echo "<option class='".$nopassword."' value='".$user->id."'>".$user->nomcomplet."</option>\n";
+	}
 ?>
diff --git a/ajax/userinfo.php b/ajax/userinfo.php
index 686287d..6a36742 100644
--- a/ajax/userinfo.php
+++ b/ajax/userinfo.php
@@ -2,12 +2,14 @@
 	require '../php/utils.php';
 	$user = get_users($_POST['id']);
 	
+	$text_columns = ["nomcomplet", "md5password"];
+	
 	echo '{ ';
 	$first = true;
 	foreach ($user as $prop => $value) {
 		if (!$first) echo ', ';
 		else $first = false;
-		if ($prop == "nomcomplet") echo '"'.$prop.'": "'.$value.'"';
+		if (in_array($prop, $text_columns)) echo '"'.$prop.'": "'.$value.'"';
 		else echo '"'.$prop.'": '.$value;
 	}
 	echo ' }';
diff --git a/css/basic.css b/css/basic.css
index 4a80ca8..db745c4 100644
--- a/css/basic.css
+++ b/css/basic.css
@@ -17,4 +17,8 @@
 #inner-container {
 	background-color: rgba(255,255,255, 0.8);
 	padding: 5%;
-}
\ No newline at end of file
+}
+
+.hidden {
+	display: none;
+}
diff --git a/index.php b/index.php
index d5ff246..6c1f7c7 100644
--- a/index.php
+++ b/index.php
@@ -16,6 +16,7 @@
 					<select name="user" id="list">
 					</select>
 					
+					<input disabled required placeholder="Clau d'accés..." id="password" type="password" name="password"/>
 					<input type="submit" value="Entrar" />
 				</form>
 			</div>
@@ -25,6 +26,11 @@
 			$.post("./ajax/getusers.php", function(data, status){
 				$("#list").html(data);
 			});
+			
+			$('select').on('change', function() {
+				let nopassword = $('select option:selected').hasClass('nopassword');
+				$('#password').prop('disabled', nopassword);
+			});
 		</script>
 	</body>
 </html>
diff --git a/js/utils.js b/js/utils.js
index 4795075..b4795ce 100644
--- a/js/utils.js
+++ b/js/utils.js
@@ -46,6 +46,7 @@
 	$.ajax({
 		url: "./ajax/userinfo.php",
 		data: { id: user.id },
+		dataType: 'text',
 		type: 'POST',
 		success: function(response, status, xhr) {
 			let info = JSON.parse(response);
diff --git a/main.php b/main.php
index aa6d102..8c15ac3 100644
--- a/main.php
+++ b/main.php
@@ -43,8 +43,18 @@
 		<div id="outter-container">
 			<div id="inner-container">
 				<h2>Hola <name id="user_name"><?=$user->nom()?></name>,</h2>
+						
+				<div class="formulari_contrasenya <?=$user->md5password=="" ? 'show' : 'hidden'?>">
+					<p>Sembla que no tens contrasenya, la gent podrà entrar a la teva compta...</p>
+					<form action="./php/change_password.php" method="POST">
+						<input type="hidden" value="<?=$_COOKIE['user']?>" name="userid">
+						<input type="password" placeholder="Nova contrasenya..." name="password" /><br />
+						<input type="password" placeholder="Repeteix la contrasenya" name="confirmation"/><br />
+						<input type="submit">
+					</form>
+				</div>
+				
 				<h3>La teva víctima és:</h3>
-				<div id="state">0</div>
 				
 				<div class="victima">
 					<img width="300px" src="./imgs/<?=$victim->id?>.png" />
diff --git a/php/change_password.php b/php/change_password.php
new file mode 100644
index 0000000..ce157f7
--- /dev/null
+++ b/php/change_password.php
@@ -0,0 +1,19 @@
+<?php
+	require 'utils.php';
+
+	// Check if confirmation is the same
+	if ($_POST['password'] != $_POST['confirmation']) {
+		header("Location: ../main.php?wrong_password=1");
+		die();
+	} else {
+		// Execute query to change password
+		$update_password = "UPDATE users SET password=\"".md5($_POST['password'])."\" WHERE id=".$_POST['userid'];
+		if(!$result = query($update_password)) header("Location: ../main.php?errordb=1");
+		
+		// Save 'password' to cookies
+		setcookie('password', md5($_POST['password']), time() + (86400 * 10), "/");
+		
+		// Go back to main page
+		header("Location: ../main.php?successpassword=1");
+	}
+?>
diff --git a/php/login.php b/php/login.php
index 851f412..3ebd0c5 100644
--- a/php/login.php
+++ b/php/login.php
@@ -2,14 +2,34 @@
 	require 'utils.php';
 	
 	// Set the 'user' POST and COOKIE variable
-	if (isset($_POST['user'])) {
-		setcookie('user', $_POST['user'], time() + (86400 * 10), "/");
-	} else if (isset($_COOKIE['user']) && !isset($_POST['user'])) {
-		$_POST['user'] = $_COOKIE['user'];
-	} else if (!isset($_COOKIE['user']) && !isset($_POST['user'])) {
-		header("Location: ./index.php");
+	$user = '';
+	if (isset($_POST['user'])) $user = $_POST['user'];
+	else if (isset($_COOKIE['user'])) $user = $_COOKIE['user'];
+	else {
+		header("Location: ../index.php");
 		die();
 	}
 	
+	// Check if password is correct
+	$query_password = "SELECT password FROM users WHERE id=".$user;
+	$real_password = query($query_password)->fetch_row()[0];
+	
+	// Prioritize input rather than memory
+	$password = '';
+	if (isset($_POST['password'])) $password = $_POST['password'];
+	else if (isset($_COOKIE['password'])) $password = $_COOKIE['password'];
+	
+	// Redirect if wrong
+	if ($real_password != "" && $real_password != md5($password)) {
+		header("Location: ../index.php?wrongpassword=1");
+		die();
+	}
+	
+	// Save variables as cookies
+	setcookie('user', $user, time() + (86400 * 10), "/");
+	if ($real_password != "") setcookie('password', $password, time() + (86400 * 10), "/");
+	else setcookie('password', '', -1, "/");
+	
+	// Success, proceed to main page
 	header("Location: ../main.php");
 ?>
diff --git a/php/request.php b/php/request.php
index f010b36..aca3540 100644
--- a/php/request.php
+++ b/php/request.php
@@ -1,33 +1,20 @@
 <?php
-	// Define MySQL login variables
-	$servername = "localhost"; // "andreuhuguet78654.ipagemysql.com";
-	$username = "root"; // "andreu";
-	$password = ""; // "1234";
-	$dbname = "pastanaga"; // "fme_2019";
+	require 'utils.php';
 
-	// Create connection
-	$conn = new mysqli($servername, $username, $password, $dbname);
-	if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
-	$conn->set_charset("utf8");
-	
 	// Do the query
 	$queries = [""];
-	
 	$victimid = "ANY (SELECT quimata FROM users WHERE id=".(int)$_POST['user_id'].")";
 	
-	if ($_POST['msg'] == "REQ KILL") $queries = ["UPDATE users SET requested=1 WHERE id=".$victimid]; // request kill
-	if ($_POST['msg'] == "REQ DEAD") $queries = ["UPDATE users SET requested=2 WHERE quimata=".(int)$_POST['user_id']]; // request dead
-	if ($_POST['msg'] == "DENY REQ") $queries = ["UPDATE users SET requested=0 WHERE id=".(int)$_POST['user_id']]; // deny request
+	if ($_POST['msg'] == "REQ KILL") $queries = ["UPDATE users SET requested=1 WHERE id=".$victimid]; 						// request kill
+	if ($_POST['msg'] == "REQ DEAD") $queries = ["UPDATE users SET requested=2 WHERE quimata=".(int)$_POST['user_id']]; 	// request dead
+	if ($_POST['msg'] == "DENY REQ") $queries = ["UPDATE users SET requested=0 WHERE id=".(int)$_POST['user_id']]; 			// deny request
 	if ($_POST['msg'] == "CONF DEAD") {
-		$queries = ["UPDATE users SET requested=0, quimata=".(int)$_POST['user_quimata']." WHERE quimata=".(int)$_POST['user_id'], // assign new victim to killer
-				  "UPDATE users SET quimata=0, mort=1 WHERE id=".(int)$_POST['user_id']]; // confirm victim dead/killed
+		$queries = ["UPDATE users SET requested=0, quimata=".(int)$_POST['user_quimata']." WHERE quimata=".(int)$_POST['user_id'], 	// assign new victim to killer
+				  "UPDATE users SET quimata=0, mort=1 WHERE id=".(int)$_POST['user_id']]; 											// confirm victim dead/killed
 	}
 	// Fetch the information of the user
 	foreach ($queries as $query) {
-		if ($query != "" and $result = $conn->query($query)) echo $query;
+		if ($query != "" and $result = query($query)) echo $query;
 		else die("Wrong query: " . $query);
 	}
-	
-	// Close connection
-	$conn->close();
 ?>
diff --git a/php/utils.php b/php/utils.php
index fd8d731..084c41c 100644
--- a/php/utils.php
+++ b/php/utils.php
@@ -12,9 +12,7 @@
 		}
 	}
 	
-	function get_users($id = 0) {
-		$users = [];
-		
+	function query($query) {
 		// Define MySQL login variables
 		$servername = "localhost"; // "andreuhuguet78654.ipagemysql.com";
 		$username = "root"; // "andreu";
@@ -26,12 +24,25 @@
 		if ($conn->connect_error) die("Connection failed: " . $conn->connect_error);
 		$conn->set_charset("utf8");
 		
-		// Do the query
+		// Execute query and save result
+		$result = $conn->query($query);
+		
+		// Close the connection 
+		$conn->close();
+		
+		// Return result of query
+		return $result;
+	}
+	
+	function get_users($id = 0) {
+		$users = [];
+		
+		// Prepare the query
 		$query = "SELECT * FROM users";
 		if ($id > 0) $query .= " WHERE id=".$id;
 
 		// Fetch the information of the user
-		if ($result = $conn->query($query)) {
+		if ($result = query($query)) {
 			while ($row = $result->fetch_row()) {
 				$user = new User();
 				
@@ -42,6 +53,7 @@
 				$user->quimata = $row[4];
 				$user->requested = $row[5];
 				$user->mort = $row[6];
+				$user->md5password = $row[7];
 				
 				array_push($users, $user);
 			}
@@ -49,9 +61,6 @@
 		} else {
 			die("Wrong query: " . $query);
 		}
-
-		// Close connection
-		$conn->close();
 		
 		if ($id > 0) return $users[0];
 		else return $users;