[RISOLTO]domande varie su creazione sito con php, mysql e phpmyadmin

scusami forse prima mi sono espresso male

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']);
	//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();
}
 
Ultima modifica di un moderatore:
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
c'è qualcosa che non mi quadra, parliamo dello stesso var_dump?
tu dici che da null, ma se è questo
PHP:
<?php
//.......
	$ris=mysql_query($query);
    var_dump($ris); //questo?
//......
?>
se la query non funziona non dovrebbe darti null, ma bool FALSE
 
si parliamo dello stesso, infatti quello mi da null, per la precisione Warning: mysqli_query() expects at least 2 parameters, 1 given
 
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
PHP:
$link = mysqli_connect($host, $mio_username, $mia_password, $mio_database);
verifica bene cosa stai usando, non puoi mescolare le istruzioni mysql con le mysqli
 
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
 
ciao
allora è questa che non funziona
PHP:
$ris=mysqli_query($link,$query);
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 password
if(mysqli_connect_errno($connessione_al_server)){
	echo "Failed to connect MySQL:" . mysqli_connect_error();
}
?>
 
Ultima modifica di un moderatore:
ciao
1) ti sembrano uguali
PHP:
$connessione_al_server=mysqli_connect("localhost", "root","", "zetaerre");
e
PHP:
$link = mysqli_connect($host, $mio_username, $mia_password, $mio_database);
manca la password
?

2) poi se nel config.php lo chiami
$connessione_al_server
devi chiamarlo nella stessa maniera in mysqli_query
PHP:
$ris=mysqli_query($connessione_al_server,$query);
 
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 password
if(mysqli_connect_errno($connessione_al_server)){
	echo "Failed to connect MySQL:" . mysqli_connect_error();
}
?>

ma io utilizzo quella stringa , e poi essendo in locale non utilizzo password per connettermi al db, poi non so se è obbligatorio utilizzarla
 
ciao
in locale no, ma in remoto credo proprio di si, comunque hai corretto questa
PHP:
$ris=mysqli_query($connessione_al_server,$query);
e riprovato?
 
si ho riprovato ed il risultato è

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 (x86)\EasyPHP-DevServer-13.1VC9\data\localweb\sito\pagina_verifica.php on line 19


come devo fare mamma mia aiiiiuuuuutooooooo:crying::crying:
 

Discussioni simili