Errore nell'invio query

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
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>

Grazie per il consiglio !
Qualcuno ha una soluzione al mio problema?
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
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.

Si se non hai fatto l'accesso è logico.
Poi si, mi riferivo a questo controllo:
PHP:
if (empty($_SESSION['user_id'])) {
    header('Location:index.php');
    exit();
}

Cosa è che non funziona di questo codice??
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
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:
 <?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';
?>
<html>
<head>
<title> Pagina protetta </title>
</head>
<body>
<h1> Questa è una pagina protetta </h1>
</body>
</html>

Vorrei appunto che una volta loggato mi apre quindi una sessione e mi và su una pagina e non semplicemente un echo su pagina bianca.
Ad esempio vorrei che reindirizza a protetta.php che appunto è accessibile solo agli utenti che si loggano..

Cosa è che non funziona di questo codice??
Non ne ho idea di cosa non funziona ma comunque vengo sempre reindirizzato alla index.
In un modo o nell'altro la pagina protetta non riesco a visualizzarla mai..
Buona serata e grazie.
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Prova a stampare la variabile di sessione e vedi se è realmente settata (evidentemente no).
 

blacksbugs

Utente Attivo
18 Feb 2013
30
0
0
No non funziona, a questo punto penso mi serva sapere qualcosa in più sulla gestione delle sessioni e dei cookie perchè penso sia questo il problema.. se qualcuno ha per caso una valida guida dettagliata sugli argomenti sarei felice di vederla.
Grazie buona giornata.
 
Discussioni simili
Autore Titolo Forum Risposte Data
P Errore nell'indirizzo degli elementi HTML e CSS 2
C [MySQL] errore nell'importazione tabella con file csv MySQL 0
M [PHP] Errore nell' assegnazione della variabile $this->id su una funzione PHP 1
M Errore nell'Upload di un file PHP 0
Sevenjeak [C / Eclipse] errore nell'output della console Programmazione 0
D errore 1064 nell'importare txt MySQL 1
M Errore nell'aggiornamento news PHP 4
M errore nell estrazione foto PHP 16
B Errore nell'installazione PHP PHP 0
M asp: errore nell'upload di file di grandi dimensioni Classic ASP 3
A Errore nell'accesso ad un database PHP 1
K Inserimento query Errore 1366 PHP 4
F errore 1062 su campo nuovo MySQL 4
N Errore interno Access MS Access 2
R mi da errore dove inizia il while PHP 1
R Recupero di permalink di un sito che è stato eliminato per errore WordPress 5
R Yoast SEO errore semafori sempre rossi SEO e Posizionamento 0
S Visualizza l'errore di creazione in MSSQL Database 4
simgia Cordova errore quando cerco di emulare o creare la app Sviluppo app per Android 2
Jensen Errore di sintassi con DELETE PHP 3
H Errore su array associativo PHP 1
FDF182 ERRORE 1292 PHP 4
P errore 404 con javascript Javascript 2
felino Windows 7: errore 80072EFE su Windows Update Windows e Software 1
A errore http://datatables.net/tn/7 PHP 4
M Errore visualizzazione meta tag title e description SEO e Posizionamento 1
A Errore durante il salvataggio Photoshop 0
M Errore configurazione motion detection nvr Hikvision DS-7616 IP Cam e Videosorveglianza 0
voldemort [c] Errore di segmentazione (core dump creato) C/C++ 1
T SSD - errore sistema Hardware 2
R Navigare sito con cURL, mi restituisce errore PHP 0
L File CSV con app inventor da errore Sviluppo app per Android 2
A Errore visualizzazione selezione testo Photoshop 0
I Postman 400 Errore di richiesta non valida Programmazione 0
S Errore PHP - Notice: Undefined index ... PHP 14
U Campo vuoto data errore Fatal error: PHP 2
R Errore UPDATE tabella mysql PHP 1
R W10 Segnalazione di errore su terminale USB Windows e Software 0
G non riesco a capire quale sia l'errore [SQL] MySQL 2
I Errore 80040220 nella newsletter con paginazione Classic ASP 0
E Errore di lettura php in html PHP 8
A php metodo post jquery non da mai errore jQuery 4
W Errore di run-time di Microsoft VBScript error '800a0035' Impossibile trovare il file Classic ASP 0
B Errore unexpected '$variabile' (T_VARIABLE) in your code on line PHP 2
M errore dopo passaggio Php 7.2 PHP 6
S -> Errore PHP 8
S Errore "ftp_put(): Can't open that file: Permission denied" PHP 1
P Errore telecamere hdcvi dahua IP Cam e Videosorveglianza 16
L form multipla php sql,errore in inserimento MySQL 0
M Errore JavaScript per php [objeto HTMLParagraphElement] PHP 0

Discussioni simili