• Home
  • Forum
  • Fare Web
  • PHP

Errore nell'invio query

  • Creatore Discussione Creatore Discussione blacksbugs
  • Data di inizio Data di inizio 20 Nov 2013
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 28 Nov 2013
  • #21
Ciao, ho cambiato il titolo
sicuro che sia
PHP:
if ($result->errno) {
e non
PHP:
if ($mysqli->errno) {
?
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 28 Nov 2013
  • #22
Certo ho fatto la copia, comunque non funziona..
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 28 Nov 2013
  • #23
quell'istruzione comunque verifica se la query è stata eseguita correttamente ma non se restituisce qualche risultato
modifica il controllo cosi
PHP:
if ($result->num_rows == 0) {
    printf("Nome utente o password errati: <br/> %s", $mysqli->error);
    exit();
} else {
    session_start();
    $_SESSION['user_id'] = $record['id'];
    echo "Utente registrato coretatmente!";
}
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 29 Nov 2013
  • #24
Non funziona.. solita pagina bianca..
 
Ultima modifica: 29 Nov 2013

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 29 Nov 2013
  • #25
Se hai pagina bianca c'è qualcosa che non va di fondo.
In entrambi i casi dovrebbe stampare qualcosa a video.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 29 Nov 2013
  • #26
potrebbe essere il require, di solito sbagliando percorso del file da questo tipo di errore
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 30 Nov 2013
  • #27
criric ha scritto:
potrebbe essere il require, di solito sbagliando percorso del file da questo tipo di errore
Clicca per allargare...

Stessa cartella in localhost
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 30 Nov 2013
  • #28
In effetti guardando meglio il codice hai sbagliato l'esecuzione della query
PHP:
// preparo ed invio la query
    $query = $mysqli->real_query("SELECT id FROM users WHERE username = '$user' AND password = '$pwd'");
    
// controllo l'esito
    $result = $mysqli->query($query);
modifica cosi
PHP:
// preparo  la query
    $query ="SELECT id FROM users WHERE username = '$user' AND password = '$pwd'";
    
// la eseguo
    $result = $mysqli->query($query);
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 30 Nov 2013
  • #29
criric ha scritto:
In effetti guardando meglio il codice hai sbagliato l'esecuzione della query
PHP:
// preparo ed invio la query
    $query = $mysqli->real_query("SELECT id FROM users WHERE username = '$user' AND password = '$pwd'");
    
// controllo l'esito
    $result = $mysqli->query($query);
modifica cosi
PHP:
// preparo  la query
    $query ="SELECT id FROM users WHERE username = '$user' AND password = '$pwd'";
    
// la eseguo
    $result = $mysqli->query($query);
Clicca per allargare...

Niente caro, anche questa volta restituisce pagina bianca... e io mi chiedo se sto facendo perdere tempo a voi inutilmente con qualcosa di fondo sbagliato.. ma vi assicuro che non è così.. Mistero !!
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 30 Nov 2013
  • #30
inizia a mettere degli echo in tutto il codice per vedere dove si blocca
PHP:
<?php
echo "inizio";
include_once 'connessione.php';
echo "connessione";
$user = trim($_POST['user']);
$pwd  = trim($_POST['pwd']);
echo "recupero post";

etc etc
in questo modo riuscirai a capire dove si blocca
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 30 Nov 2013
  • #31
PHP:
<?php
require_once 'connessione.php';
echo 'uno';
$user = trim($_POST['user']);
$pwd  = trim($_POST['pwd']);
echo '2';
$user = $mysqli -> mysql_real_escape_string($user);
$pwd = $mysqli ->mysql_real_escape_string($pwd);	
$pwd= md5($pwd); 
echo 'tre';
.....

Okk si blocca al punto 2, il terzo non lo stampa già !
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 30 Nov 2013
  • #32
la sintssi corretta è cosi
PHP:
$user = $mysqli->real_escape_string($user);
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 2 Dic 2013
  • #33
criric ha scritto:
la sintssi corretta è cosi
PHP:
$user = $mysqli->real_escape_string($user);
Clicca per allargare...

Caspita è vero chisà da dove mi è uscito quel mysql_ ..grazie mille criric ora funziona perfettamente !
Mi rimane solo una domanda.. ora che gli utenti si possono autentificare ci saranno pagine protette e pagine non protette.
Per proteggere queste pagine basta che inserisco queste righe all'inizio della mia pagina, vero?
PHP:
<?php
require_once 'connessione.php';
session_start();
$_SESSION['user_id'] = $record['id'];
?>
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
  • 3 Dic 2013
  • #34
Dovresti mettere un reindirizzamento che avviene quando non c'è una sessione attiva.
Così facendo obblighi l'utente a fare il login prima di andare avanti.
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 3 Dic 2013
  • #35
Longo8 ha scritto:
Dovresti mettere un reindirizzamento che avviene quando non c'è una sessione attiva.
Così facendo obblighi l'utente a fare il login prima di andare avanti.
Clicca per allargare...

PHP:
if ($result->num_rows == 0) {
    printf("Nome utente o password errati: <br/> %s", $mysqli->error);
    header("Location: /INDEX.php");
    exit();
} else {
    ......
}

Intendi semplicemente questo?
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
  • 3 Dic 2013
  • #36
blacksbugs ha scritto:
PHP:
if ($result->num_rows == 0) {
    printf("Nome utente o password errati: <br/> %s", $mysqli->error);
    header("Location: /INDEX.php");
    exit();
} else {
    ......
}

Intendi semplicemente questo?
Clicca per allargare...

Una volta che
PHP:
$_SESSION['user_id'] = $record['id'];
è stata valorizzata al login non devi più ridefinirla nelle altre pagine, altrimenti rischi di creare una sessione che contiene dati confusi e questo potrebbe rendere instabile la tua applicazione.


Il tuo controllo diventa qualcosa di molto semplice da fare nelle pagine dove vuoi sia richiesta una sessione:
PHP:
<?php
session_start();

#> se $_SESSION['user_id'] non esiste o è vuoto, rimando l'utente ad index.php
if (empty($_SESSION['user_id'])) {
    header("Location: /INDEX.php");
    exit();
}

#> se arrivo fin qui l'utente è autenticato, procedo con lo script..
require_once 'connessione.php';
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 3 Dic 2013
  • #37
Allora io ho fatto una pagina chiamata protetta.php e l'ho inserita in un collegamento presente nella home.
Se faccio click su di essa senza loggarmi mi fà il refresh diciamo sulla home, anche se la richiamo da url fa la stessa cosa.. come faccio a vedere la pagina protetta?
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.606
54
48
TN
  • 3 Dic 2013
  • #38
Se fai il login setti la $_SESSION['user_id'] e quindi vedi la pagina altrimenti vieni reindirizzato alla index o all apagina di login dipende cosa hai impostato
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
  • 3 Dic 2013
  • #39
Allora ricapitolando tutto vorrei che la mia pagina accedi.php rimandasse ad una pagina del sito e non ad un semplice echo su pagina bianca.
Se il login non avviene con successo rimanda alla index con la stampa nome e pwd errati, mentre se è andato a buon fine alla mia pagina protetta.php:
accedi.php
PHP:
if ($result->num_rows == 0) {
    header('Location:index.php');
    printf("Nome utente o password errati: <br/> %s", $mysqli->error);
    exit();
} else {
    session_start();
    $_SESSION['user_id'] = $record['id'];
    header('Location:protetta.php');
    echo "Utente loggato coretatmente!"; 
}

e questa è la pagina protetta.php:
PHP:
<html>
 <?php
session_start();

#> se $_SESSION['user_id'] non esiste o è vuoto, rimando l'utente ad index.php
if (empty($_SESSION['user_id'])) {
	header('Location:index.php');
   // echo "qualcosa non quadra!";
    exit();
}
echo 'ciao';
#> se arrivo fin qui l'utente è autenticato, procedo con lo script..
require_once 'connessione.php'; 
echo 'la pagina protetta';
?>
<head>
<title> Pagina protetta </title>
</head>
<body>
<h1> Questa è una pagina protetta </h1>
</body>
</html>

Se decommentavo // echo "qualcosa non quadra!"; e toglievo la riga dell header che portava all'index esce costantemente qualcosa non quadra, come se la sessione fosse sempre vuota..
Ringrazio tutti per l'aiuto che mi state dando, siete davvero gentilissimi.. spero di non chiedere troppo.
 

flameseeker

Utente Attivo
27 Nov 2013
699
0
0
  • 4 Dic 2013
  • #40
Per natura di funzionamento del protocollo http, gli header vanno inviati sempre prima di un qualsiasi altro output.
Inoltre è buona pratica inizializzare la sessione come prima istruzione dello script.

Di conseguenza ti suggerirei di operare queste modifiche:
PHP:
<?php
session_start();

#> controllo sessione valida
if (empty($_SESSION['user_id'])) {
    header('Location:index.php');
   // echo "qualcosa non quadra!";
    exit();
}


#> se arrivo fin qui l'utente è autenticato, procedo con lo script..
echo 'ciao';

require_once 'connessione.php'; 
echo 'la pagina protetta';

?><html>
<head>
<title> Pagina protetta </title>
</head>
<body>
<h1> Questa è una pagina protetta </h1>
</body>
</html>
 
Prec.
  • 1
  • 2
  • 3
Succ.
Primo Prec. 2 di 3 Succ. Ultimo
Devi accedere o registrarti per poter rispondere.

Discussioni simili

P
Errore nell'indirizzo degli elementi
  • Pyone
  • 6 Giu 2022
  • HTML e CSS
Risposte
2
Visite
2K
HTML e CSS 7 Giu 2022
Pyone
P
C
[MySQL] errore nell'importazione tabella con file csv
  • claudioverga
  • 9 Nov 2016
  • MySQL
Risposte
0
Visite
2K
MySQL 9 Nov 2016
claudioverga
C
M
[PHP] Errore nell' assegnazione della variabile $this->id su una funzione
  • micha93
  • 29 Set 2016
  • PHP
Risposte
1
Visite
1K
PHP 30 Set 2016
micha93
M
M
Errore nell'Upload di un file
  • mickey123
  • 3 Mar 2015
  • PHP
Risposte
0
Visite
2K
PHP 3 Mar 2015
mickey123
M
[C / Eclipse] errore nell'output della console
  • Sevenjeak
  • 13 Gen 2013
  • Programmazione
Risposte
0
Visite
2K
Programmazione 13 Gen 2013
Sevenjeak
D
errore 1064 nell'importare txt
  • djpipino
  • 27 Feb 2012
  • MySQL
Risposte
1
Visite
2K
MySQL 27 Feb 2012
alessandro1997
M
Errore nell'aggiornamento news
  • Mr_S
  • 28 Mag 2010
  • PHP
Risposte
4
Visite
1K
PHP 3 Giu 2010
Mr_S
M
M
errore nell estrazione foto
  • marikaflash
  • 9 Feb 2009
  • PHP
Risposte
16
Visite
2K
PHP 14 Feb 2009
marikaflash
M
B
Errore nell'installazione PHP
  • Boole
  • 8 Mar 2006
  • PHP
Risposte
0
Visite
1K
PHP 8 Mar 2006
Boole
B
M
asp: errore nell'upload di file di grandi dimensioni
  • maxdat
  • 28 Set 2005
  • Classic ASP
Risposte
3
Visite
2K
Classic ASP 5 Ott 2005
PoLe
A
Errore nell'accesso ad un database
  • alexbadboys
  • 28 Feb 2005
  • PHP
Risposte
1
Visite
2K
PHP 1 Mar 2005
lorenzo
L
F
errore file creato con ps 2025
  • fabry1707
  • 22 Mar 2025
  • Photoshop
Risposte
0
Visite
136
Photoshop 22 Mar 2025
fabry1707
F
I
errore inserimento creazione stanza
  • Imperor
  • 18 Giu 2024
  • PHP
Risposte
1
Visite
2K
PHP 18 Giu 2024
Imperor
I
K
Inserimento query Errore 1366
  • Kiko74b
  • 6 Mag 2023
  • PHP
Risposte
4
Visite
1K
PHP 7 Mag 2023
marino51
F
errore 1062 su campo nuovo
  • frankz
  • 26 Gen 2023
  • MySQL
Risposte
4
Visite
2K
MySQL 30 Gen 2023
frankz
F
N
Errore interno Access
  • NeuNovizio
  • 10 Gen 2023
  • MS Access
Risposte
2
Visite
1K
MS Access 22 Gen 2023
CarloFdrc
C
R
mi da errore dove inizia il while
  • raul cri
  • 6 Nov 2022
  • PHP
Risposte
1
Visite
931
PHP 8 Nov 2022
WmbertSea
R
Recupero di permalink di un sito che è stato eliminato per errore
  • RobertaG
  • 24 Ott 2022
  • WordPress
Risposte
5
Visite
2K
WordPress 26 Ott 2022
glm1986ITALY
R
Yoast SEO errore semafori sempre rossi
  • RobertaG
  • 23 Set 2022
  • SEO e Posizionamento
Risposte
0
Visite
2K
SEO e Posizionamento 23 Set 2022
RobertaG
R
S
Visualizza l'errore di creazione in MSSQL
  • steven myth
  • 23 Set 2022
  • Database
Risposte
4
Visite
2K
Database 26 Set 2022
marino51
Condividi:
Facebook X (Twitter) LinkedIn WhatsApp e-mail Condividi Link
  • Home
  • Forum
  • Fare Web
  • PHP
  • Italiano
  • Termini e condizioni d'uso del sito
  • Policy Privacy
  • Aiuto
  • Home
Community platform by XenForo® © 2010-2024 XenForo Ltd. | Traduzione a cura di XenForo Italia
Menu
Accedi

Registrati

  • Home
  • Forum
    • Nuovi Messaggi
    • Cerca...
  • Novità
    • Featured content
    • Nuovi Messaggi
    • Ultime Attività
X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?

X

Privacy & Transparency

We use cookies and similar technologies for the following purposes:

  • Personalized ads and content
  • Content measurement and audience insights

Do you accept cookies and these technologies?