er zit geen echt beveiliging op het script maar dat maakt (voor nu) niet uit.
het registreren lukt al als je het formulier invult komen je naam en wachtwoord in de db te staan alleen krijg je nog wel een foutmelding
als je vervolgens gaat inloggen krijg ik deze meldingen en word ik niet doorgestuurd naar welcome.php
meldingen login.php:
Notice: Undefined variable: query in C:\xampp1\htdocs\login.php on line 24
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, null given in C:\xampp1\htdocs\login.php on line 24
melding register.php:
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\xampp1\htdocs\Register.php on line 24
dit is mijn script op register.php :
<!DOCTYPE html>
<html>
<head>
<title>User registration</title>
</head>
<body>
<h1>Registreren</h1>
<form action="" method="post">
<label>Gebruikersnaam :</label><input type="text" name="user"><br /><br />
<label>Wachtwoord :</label><input type="password" name="pass"><br /><br />
<input type="submit" value="Register" name="submit"><br /><br />
<!--login link-->
<a href="login.php">Login</a>
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])){
$user = $_POST['user'];
$pass = $_POST['pass'];
$conn = new mysqli('localhost','root', '') or die (mysqli_error()); // DB Conection
$db = mysqli_select_db($conn, 'login') or die("DB error"); // select db from database
//selecting database
$query = mysqli_query($conn, "SELECT * FROM usserpass WHERE user='".$user."'");
$numrows = mysqli_num_rows($query);
if($numrows == 0){
//insert to mysqli query
$sql = "INSERT INTO userpass(user,pass) VALUES('$user','$pass')";
$result = mysqli_query($conn, $sql);
//result message
if($result){
echo "Uw account is succesvol aangemaakt";
}
else{
echo "Er is helaas wat misgegaan probeer het opnieuw";
}
}
else{
echo "uw gekozen gebruikersnaam bestaat al! probeer wat anders";
}
}
else{
?>
<!--Javascript alert-->
<script>alert('U heeft niet alle velden correct ingevuld');</script>
<?php
}
}?>
</body>
</html>en dit is mijn code van login.php
<!doctype html>
<html>
<head>
<title>test login</title>
</head>
<body>
<h1>Inloggen</h1>
<form action="" method="post">
<label>Gebruikersnaam:</label><input type="text" name="user"><br />
<label>Wachtwoord:</label><input type="password" name="pass"><br />
<input type="submit" name="submit" value="login"><br />
<!--new user register link -->
<p><a href="register.php">Nieuw? registreer je hier!</a></p>
</form>
<?php
if(isset($_POST["submit"])){
if(!empty($_POST['user']) && !empty($_POST['pass'])){
$user = $_POST['user'];
$pass = $_POST['pass'];
//db connection
$conn = new mysqli('localhost','root', '') or die (mysqli_error());
//selecting database
$db = mysqli_select_db($conn, "SELECT * FROM userpassWhere user ='".$user."'AND pass='".$pass."'");
$numrows = mysqli_num_rows( $query );
if($numrows !=0){
while($row = mysqli_fetch_assoc($query)){
$dbusername = $row['user'];
$dbpassword = $row['pass'];
}
if($user == $dbusername && $pass == $dbpassword){
session_start();
$_SESSION['sess_user']=$user;
//redirect browser
header("location:welcome.php");
}
}
}
else{
echo "uw gebruikersnaam en wachtwoord komen niet overeen (let op hoofdletters)";
}
}
else{
echo "alle velden zijn verplicht om in te vullen!";
}
?>
</body>
</html>en nog welcome.php
<?php
session_start();
if(!isser($_SESSION["sess_user"])){
header("location: login.php");
}
else{
?>
<!doctype html>
<html>
<head>
<title>Welkom</title>
</head>
<body>
<h1>welkom</h1>
<?=$_session['sess_user'];?>!<a href="logout.php"></a>
</body>
</html>
<?php
}
?>ik heb zelf nog niet heel veel ervaring met php ik werk normaal met wordpress maar php leek me handig om te leren
dit script heeft verder ook nog geen doel het is meer om te testen