Beste mensen.

Ik ben bezig met een inlog systeem voor een website te maken voor me zelf.
aangezien deze op een eigen server gepost wordt en niet beschikbaar gaat zijn voor de buiten wereld gaat het me niet echt om de veiligheid.
zelf ben ik niet zo bekend in php maar we leren graag bij zo dus wie kan me helpen.

in de database zit 1 login in. nu het formulier stuurt door naar de verwerking van de login. maar ik krijg een fout die ik niet echt versta.

fout:

Fatal error: Uncaught Error: Call to undefined function mysql_real_escape_string() in /storage/ssd4/194/2951194/public_html/procces.php:8 Stack trace: #0 {main} thrown in /storage/ssd4/194/2951194/public_html/procces.php on line 8

html:

<html>
<head>
<title>Pi Home Life System V1.002</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>

<div id="form">
<form action="procces.php" method="post">

<b>Username</b><br/>
<input type="text" id="username" name="username" /><br/>
<b>Password</b><br/>
<input type="password" id="password" name="password" /><br/>
<input type="submit" id="btn" value="Login" />
</form>
</div>
</body>
</html>

php verwerking:

<?php
$username = $_POST['username'];
$password = $_POST['password'];


$username = stripcslashes($username);
$password = stripcslashes($password);
$username = mysql_real_escape_string($username);
$password = mysql_real_escape_string($password);

mysql_connect("localhost", "*****", "*****" );
mysql_select_db("login");

$result = mysql_query("select * from user where username = '$username' and password = '$password'" )
or die("failed to quiry database" .mysql_error());

$row = mysql_fetch_array($result);
if($row['username'] == $username && $row['password'] == $password ) {
echo "login succes welcom " .$row['username'];
} else { echo"failed to login";
}

?>
Begin eerst eens met het weghalen van stripslashes. Dit heb je nergens voor nodig.
Voor de rest, verdiep je in mysqli of PDO. mysql functies zijn uit PHP gehaald.
Daarnaast is het verstandig om je "password" veld te hernoemen, gezien dit een gereserveerd woord is.
En sla je passwoorden ook op met [php]password_hash[/php] en controleer ze met [php]password_verify[/php]
Hoe kun je nu beginnen met je met het uitspugen van HTML als je nog niet weet wat je applicatie moet gaan doen? Zet die HTML nou eens onderin en plaats enkel echo $eenVariable; tussen de html.
Call to undefined function mysql_real_escape_string()
=
de functie mysql_real_escape_string() bestaat niet.

mysql_* functies zijn al een tijdje in de ban. Vanaf PHP versie 5.5.0 zijn deze functies deprecated en vanaf versie 7.0.0 zijn ze in het geheel verwijderd. Vermoeden: je gebruikt PHP 7.0.0+?

Gebruik mysql[color=#ff0000]i[/color]-functies of -methoden of gebruik PDO voor communicatie met je MySQL-database.

Echo ook geen queries op je scherm als deze mislukken. Althans niet in een productie-omgeving. Het afbreken van de opbouw van je HTML-document is ook niet zo'n strak plan.

Reageren