PHP registracija problem

imam register.php i sve radi, ide u db i sve je ok, kada recimo umjesto 8 znakova za lozinku, stavim tri izbaci mi poruku da treba najmanje 8 znakova i to je dobro, onda odem u db i uspjesno sam se registriro a nebi trebao… nije mi jasno zasto dopusta registraciju ako sam za lozinku stavio 3 slova ono…

e znam gdje da ubacim taj strlen za sifru… stavio sam ispod count ==0 i pokaze se error ali dopusta registraciju

<?php
error_reporting(0);

include_once ‘mysqliconnect.php’;

if(isset($_POST[‘btnreg’]))
{
$usr = mysqli_real_escape_string($con, $_POST[‘username’]);
$email = mysqli_real_escape_string($con, $_POST[‘email’]);
$pass = mysqli_real_escape_string($con, $_POST[‘password’]);

$maincategories = mysqli_real_escape_string($con, $_POST['country']);
$subcategories = mysqli_real_escape_string($con, $_POST['club']);


$query = mysqli_query($con, "SELECT username FROM users WHERE username='".$usr."'");


if($count == 0)
{
	$query = "INSERT INTO users(username,email,password,country,club) VALUES('$usr', '$email', '$pass', '$maincategories', '$subcategories')";


if(mysqli_query($con,$query))
{
     $msg = "<div class='alert alert-success'>
					<span class='glyphicon glyphicon-info-sign'></span> &nbsp; successfully registered !
				</div>";
}


if(strlen($pass)>64 || strlen($pass)<8)
{
	$msg = "<div class='alert alert-danger'>
				<span class='glyphicon glyphicon-info-sign'></span> &nbsp; Password character
			</div>";
}


}

}

?>

Mozes li cijeli kod ubaciti na npr https://pastebin.com/, ovdje je malo nepregledno

evo https://pastebin.com/0cJHe4b7

problem je ovaj if strlen… ne znam gdje da to stavim

Na liniji 24 se pozove mysqli_query koji ubaci podatke u bazu, i zatim se postavi na liniji 26 poruka u uspjesnu poruku (successfully registered). Zatim na liniji 32 radis provjeru za duljinu stringa lozinke, i ako uneses vecu od 64 ili manju od 8, onda ce se $msg varijabla prepisati i vise nece imati onu success poruku nego gresku o lozinki. Sto znaci da ces ti na kraju ispisati tu $msg varijablu, ali si vec ranije na liniji 24 insertao podatke u bazu.

Trebas validirati podatke prije. Prouci ovo, pomoci ce ti: http://php.net/manual/en/control-structures.elseif.php

1 Like

hvala :smiley: stavio sam tako gore if strlen i onda samo else