Stai usando un browser molto obsoleto. Puoi incorrere in problemi di visualizzazione di questo e altri siti oltre che in problemi di sicurezza. . Dovresti aggiornarlo oppure usarne uno alternativo, moderno e sicuro.
session_start();
if(trim($_POST['username'])=="" || trim($_POST['password'])==""){
// o user o pass vuoti: errore, torni al form pulito
header("location:register.php");
exit();
}
$username =addslashes($_POST['username']);
$password =addslashes($_POST['password']);
//var_dump($_POST['username']);
// var_dump($_POST['password']);
require_once "config.php";
//possibile cambio ad sqli
$query="SELECT * FROM utenti WHERE nome='$username' AND password='$password'";
//var_dump($query);
[COLOR="#FF0000"]$ris=mysqli_num_rows($query); IN QUESTA PARTE IL VAR_DUMP MI DA NULLO[/COLOR]
var_dump($ris);exit();
if(mysqli_num_rows($ris) == 0){
//var_dump($ris);
//user o pass non esistenti
header("location:index.php");
exit();
}else{
$riga=mysqli_fetch_array($ris);
var_dump($ris);exit();
$_SESSION['user']=$username;
var_dump($riga['autorizzazione']);exit();
$_SESSION['autorizzato']=$riga['autorizzazione'];
switch($riga['autorizzazione']){
case "A":
header("Location:y1gujl771a.php");
break;
case "R":
header("Location:prodottiAgenti.php");
break;
case "C":
header("Location:clientiTop.php");
break;
default:
header("Location:index.html");
break;
}
exit();
}
ciao
se non è un errore di copy/paste, ti sei dimenticato mysql_query
PHP:
<?php
//...
//possibile cambio ad sqli
$query="SELECT * FROM utenti WHERE nome='$username' AND password='$password'";
//var_dump($query);
$ris=mysql_query($query);//MANCA QUESTA
var_dump($ris);exit();//l'exit ti serve per vedere?
if(mysqli_num_rows($ris) == 0){
//..
?>
ciao
scusa una cosa di cui mi sono accorto adesso: stai usando mysqli ?
perche se stai usando mysqli la mysqli_query
dveve avere, oltre la querrystringa, anche la variabile di connessione
mysqli_query ( $link , $query)
dove $link (o come la chiami tu) è il risultato di
ciao
ripartiamo da capo, ho messo dei var dump, commenta gli header e dimmi per ciascun var_dump cosa risulta
PHP:
<?php
session_start();
if(trim($_POST['username'])=="" || trim($_POST['password'])==""){
// o user o pass vuoti: errore, torni al form pulito
header("location:register.php");
exit();
}
$username =addslashes($_POST['username']);
$password =addslashes($_POST['password']);//qui ricorda cosa ho detto se codificata
echo "<pre>";//questo ti serve per vedere meglio i vari var_dump, poi lo togli
var_dump($_POST['username']);
var_dump($_POST['password']);
require_once "config.php";
//possibile cambio ad sqli
$query="SELECT * FROM utenti WHERE nome='$username' AND password='$password'";
var_dump($query);
$ris=mysqli_query($link,$query);//come detto se in config.php l'hai chiamato $link
var_dump($ris);
if(mysqli_num_rows($ris) == 0){
//user o pass non esistenti
header("location:index.php");
exit();
}else{
$riga=mysqli_fetch_array($ris);
var_dump($riga['autorizzazione']);
$_SESSION['user']=$username;
var_dump($riga['autorizzazione']);exit();
$_SESSION['autorizzato']=$riga['autorizzazione'];
switch($riga['autorizzazione']){
case "A":
header("Location:y1gujl771a.php");
break;
case "R":
header("Location:prodottiAgenti.php");
break;
case "C":
header("Location:clientiTop.php");
break;
default:
header("Location:index.html");
break;
}
echo "</pre>";//vedi prima
exit();
}
?>
ricorda che devi avere in config.php
PHP:
<?php
$link = mysqli_connect($host, $mio_username, $mia_password, $mio_database);//evidentemente devi dare il valore alle variabili $hosr, $mio_usename.....
?>
se l'hai chiamato in un altro modo o lo cambi in config.php o in mysqli_query
ciao, allora, sulla pag di login se non inserisco dati, mi rimanda alla pag di registrazione, quindi perfetto, ma il problema persiste, ho inserito i dati dell'admin e mi rimanda alla pag index, senza addirittura farmi vedere i var_dump
Scusami per il post precedente, avevo sbagliato a scrivere ecco il risultato dei var_dump
string(5) "Carlo"
string(11) "CarloZucca1"
string(66) "SELECT * FOM utenti WHERE nome ='Carlo' AND password='CarloZucca1'"
bool(false)
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\Program Files\EasyPHP-DevServer-13.1VC11\data\localweb\sito\pagina_verifica.php on line 19
e di conseguenza la mysqli_num_rows($ris) ti dice che non c'è il parametro
comunque la querystringa ("SELECT...") è sintatticamente corretta (sicuro dei nomi?)
quindi comincio a pensare che tu stia facendo un errore nei dati di connessione
posta come ti connetti, se non ho capito male è lo script config.php
string(66) "SELECT * FOM utenti WHERE nome ='Carlo' AND password='CarloZucca1'"
bool(false)
Warning: mysqli_num_rows() expects parameter 1 to be mysqli_result, boolean given in C:\Program Files (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\sito\pagina_verifica.php on line 19
come devo fare mamma mia aiiiiuuuuutooooooo:crying::crying: