login.php

Marco Turchetta

Nuovo Utente
10 Ago 2014
24
0
0
PHP:
<?php

session_start();
include ("connessione.php");

$nome_utente = ($_POST['nome_utente']);
$password = ($_POST['password']);

$sql = "SELECT * FROM users WHERE nome_utente = 'nome_utente'
and password = 'password'";
$result = mysql_query($sql);

$count= mysql_num_rows($result);

if (count = 1)
{
	$_SESSION['nome_utente'] = 'nome_utente';
	$_SESSION['password'] = 'password';
	header(location:login_1.html);
}

else 
{
	print ("Attenzione nome utente o password errati");
}
 


?>

Mi potreste aiutare con la pagina di login? che cosa ho sbagliato e cosa fa la funzione mysql_num_rows?
 
mysql_num_rows() restituisce il numero di record trovati
non si scrive cosi
PHP:
if (count = 1)
ma
PHP:
if ($count == 1)
nelle condizioni si usa il doppio uguale :
== per confrontare un valore
= per assegnare un valore
tutte le variabili in php iniziano con il simbolo del dollaro $
 
Infatti anche quando dopo assegni le varaiabili $_session a nome_utente e password devi aggiungere prima il $

Sappi che una pagina login così é vulnerabilissima e si può fare il login con qualsiasi utente senza la password.

Inviato con Tapatalk Free da Android
 
Ultima modifica:
ragazzi comunque ancora niente, non funge:
PHP:
<?php


session_start();
include ("connessione.php");

$nome_utente = ($_POST['nome_utente']);
$password = ($_POST['password']);

$sql = "SELECT * FROM users WHERE nome_utente = '$nome_utente'
and password = '$password'";
$result = mysql_query($sql);

$count= mysql_num_rows($result);


if ($count == 1)
{
	$_SESSION['nome_utente'] = $nome_utente;
	$_SESSION['password'] = $password;
	header(location:login_1.html);
}

else 
{
	print ("Attenzione nome utente o password errati");
}
 


?>
 
Stampa query ed eventuali errori mysql
PHP:
if(!$result) {
     echo " errore : " . mysql_error() . "<br/>" . $sql;
}
 
Non è possibile!
riposta lo script con la modifica che ti ho suggerito
oppure spiega meglio
comunque ancora niente, non funge:
 
Ultima modifica:
PHP:
<?php

session_start();
include ("connessione.php");

$nome_utente = ($_POST['nome_utente']);
$password = ($_POST['password']);


$sql = "SELECT * FROM users WHERE nome_utente = '$nome_utente'
and password = '$password'";
$result = mysql_query($sql);

$count= mysql_num_rows($result);


if ($count == 1)
{
	$_SESSION['nome_utente'] = $nome_utente;
	$_SESSION['password'] = $password;
	header(location:login_1.html);
}

else 
{
	print ("Attenzione nome utente o password errati");
}
 
?>
Non so dirti altro perchè non capisco perchè mai non funge..
 
non hai messo il codice che ti ho postato
PHP:
if(!$result) {
     echo " errore : " . mysql_error() . "<br/>" . $sql;
}
devi metterlo dopo
PHP:
$result = mysql_query($sql);
 
questa sintassi è sbagliata
PHP:
header(location:login_1.html);
ci vogliono gli apici
PHP:
header("location:login_1.html");
 

Discussioni simili