session_start();if(trim($_POST['username'])==""||trim($_POST['password'])==""){// o user o pass vuoti: errore, torni al form pulitoheader("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);INQUESTAPARTEILVAR_DUMPMIDANULLO[/COLOR]var_dump($ris);exit();if(mysqli_num_rows($ris)==0){//var_dump($ris);//user o pass non esistentiheader("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 QUESTAvar_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:
<?phpsession_start();if(trim($_POST['username'])==""||trim($_POST['password'])==""){// o user o pass vuoti: errore, torni al form pulitoheader("location:register.php");exit();}$username=addslashes($_POST['username']);$password=addslashes($_POST['password']);//qui ricorda cosa ho detto se codificataecho"<pre>";//questo ti serve per vedere meglio i vari var_dump, poi lo toglivar_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 $linkvar_dump($ris);if(mysqli_num_rows($ris)==0){//user o pass non esistentiheader("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 primaexit();}?>
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
si i nomi sono corretti, adesso ti posto il config.php
PHP:
<?php//connessione al nostro database$connessione_al_server=mysqli_connect("localhost","root","","zetaerre");// ip locale, login e passwordif(mysqli_connect_errno($connessione_al_server)){echo"Failed to connect MySQL:".mysqli_connect_error();}?>
si i nomi sono corretti, adesso ti posto il config.php
PHP:
<?php//connessione al nostro database$connessione_al_server=mysqli_connect("localhost","root","","zetaerre");// ip locale, login e passwordif(mysqli_connect_errno($connessione_al_server)){echo"Failed to connect MySQL:".mysqli_connect_error();}?>
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: