MRW.it Forum
  • Home
  • Forum
  • Fare Web
  • PHP

SESSION_ID ovvero pagina personale !

  • Creatore Discussione Creatore Discussione iperboreo
  • Data di inizio Data di inizio 5 Ago 2012
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
I

iperboreo

Utente Attivo
21 Giu 2012
126
0
16
  • 13 Ago 2012
  • #21
Ciao CRIRIC, scusami ma ho provato a fare seguendo l'esempio che mi hai scritto, ma non mi funziona, ho rifatto tutto da zero, creato un login, la verifica, tabella e database, ma proprio non va, ho 2 utenti, e ho chiesto con una query di estrarre il nome dell'utente loggato, ma non mi estrae nulla.
Se sei sicuro che il tuo esempio funziona è possibile che non sia compatibile con il mio file di verifica.php?
grazie ancora






criric ha scritto:
E' li che devi creare la sessione, dopo aver fatto la query per vericare il dati di login metti l'id in sessione

PHP:
if(query di login ha successo) {
  $_SESSION['idUtente'] = $row['idUtente'];
}
nella pagina riservata puoi fare le query usando l'id in sessione
PHP:
if(isset($_SESSION['idUtente'])) {
  $query = "SELECT * FROM articoli WHERE idUtente = " . $_SESSION['idUtente'] ;
}
quando usi le sessioni a inizio pagina devi mettere
PHP:
session_start();
Clicca per allargare...
 
P

paperinik4

Utente Attivo
29 Mag 2011
1.811
0
36
Roma
www.ricetteagogo.it
  • 24 Ott 2012
  • #22
Ciao

alessandro1997 ha scritto:
Ma non hai un login funzionante? La verifica dei dati dovrebbe venire eseguita lì. Se vuoi invece eseguirla in ogni pagina per vedere se i valori in sessione corrispondono ancora a quelli dell'utente nel database (un amministratore potrebbe aver cambiato la password dell'utente nel frattempo) ti consiglio di creare una funzione che automatizzi il processo:
PHP:
function checkUser($username, $password)
{
    // ottieni un'istanza di $pdo in qualche modo, come parametro della funzione
    // oppure usando l'iniezione delle dipendenze, ma evita le variabili globali

    $stm = $pdo->prepare('SELECT * FROM users WHERE username = :username AND password = MD5(:password)');
    $stm->execute(array(
        ':username' => $username,
        ':password' => $password,
    ));

    return ($stm->rowCount() == 1);
}
Quindi in cima alle tue pagine inserirai:
PHP:
<?php
if (!checkUser($_SESSION['username'], $_SESSION['password'])) {
    // onestamente qui sono indeciso se utilizzare 401 Unauthorized
    // oppure 403 Forbidden, vedi un po' tu
    header('HTTP/1.0 401 Unauthorized');
    header('Location: login.php');

    exit();
}

// ...
?>
Clicca per allargare...

Ciao,

Ho provato solo ora il tuo codice e mi da il seguente errore:

Fatal error: Call to undefined function checkUser() in /volume1/web/utenti/fabio/provasessionialivelli/login.php on line 5


Ti posto qua come ho fatto tante volte avessi sbagliato:

checkUser.php

PHP:
<?php
require_once("connetti.php");

function checkUser($username, $password)
{
    // ottieni un'istanza di $pdo in qualche modo, come parametro della funzione
    // oppure usando l'iniezione delle dipendenze, ma evita le variabili globali

    $stm = $pdo->prepare('SELECT * FROM utenti WHERE username = :username AND password = MD5(:password)');
    $stm->execute(array(
        ':username' => $username,
        ':password' => $password,
    ));

    return ($stm->rowCount() == 1);
}  
?>

login.php


PHP:
<?php

require_once("connetti.php");
if(isset($_POST['log'])){
 if (!checkUser($_SESSION['username'], $_SESSION['password'])) {
    // onestamente qui sono indeciso se utilizzare 401 Unauthorized
    // oppure 403 Forbidden, vedi un po' tu
    header('HTTP/1.0 401 Unauthorized');
    header('Location: login.php');

    exit();
}


    
}
?>

<center>
<h2>DIGITARE USERNAME & PASSWORD. PREMERE <a href="iscrizione.php"> QUI</a> </h2> 

<form action= "<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<font face="Comic Sans MS">
Username: <input type="text" name="username"  maxlength="30" size ="32"> <br /> <br />
Password: <input type="password" name="password"  maxlength="12" size ="14"><br /><br />
</font>
<input type="submit" name="log" value="Loggati" />
</center>
</form>
<!-- qui il tag center (obsoleto) era indentato col form -->
</center> 
</body>
</html>

Tante volte vedi se hai tempo di dargli un'occhiata te ne sarei grato.
 
Prec.
  • 1
  • 2
Primo Prec. 2 di 2
Devi accedere o registrarti per poter rispondere.

Discussioni simili

S
Ignoranza riguardo $_SESSION
  • Spider-man
  • 4 Mar 2025
  • PHP
Risposte
5
Visite
264
PHP 27 Mar 2025
Spider-man
S
L
login e session
  • luigithen
  • 11 Set 2020
  • PHP
Risposte
4
Visite
1K
PHP 11 Set 2020
luigithen
L
Session Timeout
  • max1974
  • 25 Feb 2020
  • Javascript
Risposte
0
Visite
871
Javascript 25 Feb 2020
max1974
L
[PHP] login e protezione pagine con session
  • lelemkop
  • 31 Mar 2018
  • PHP
Risposte
3
Visite
3K
PHP 5 Apr 2018
lelemkop
L
P
[PHP] Multi-session
  • perseoclub
  • 2 Lug 2017
  • PHP
Risposte
1
Visite
2K
PHP 2 Lug 2017
perseoclub
P
Y
[PHP] The session is lost
  • ypsilo
  • 6 Mag 2017
  • PHP
Risposte
8
Visite
2K
PHP 6 Mag 2017
Max 1
S
[PHP] $_SESSION e sicurezza...
  • stefanoxjx
  • 1 Mar 2017
  • PHP
Risposte
2
Visite
2K
PHP 1 Mar 2017
stefanoxjx
S
G
[PHP] Problema - Warning: session_start() [function.session-start]
  • giumazzi
  • 22 Feb 2017
  • PHP
Risposte
9
Visite
3K
PHP 23 Feb 2017
giumazzi
G
L
[WordPress] creare un plugin , come faccio ad utilizzare le session.
  • luigi777
  • 10 Feb 2017
  • WordPress
Risposte
5
Visite
2K
WordPress 12 Feb 2017
borgo italia
M
[Java] Session Attribute Spring MVC
  • mirkomirko
  • 2 Gen 2017
  • Java
Risposte
1
Visite
2K
Java 4 Apr 2017
ottofonsuppost
M
[PHP] ID in SESSION
  • miagy
  • 3 Ago 2016
  • PHP
Risposte
1
Visite
981
PHP 4 Ago 2016
AdeKnite
P
Session e cookie funzionano solo dopo passaggio valori tramite POST
  • publi88
  • 7 Mag 2016
  • PHP
Risposte
8
Visite
3K
PHP 10 Mag 2016
publi88
P
W
Session e htaccess
  • whowas
  • 19 Dic 2015
  • PHP
Risposte
2
Visite
2K
PHP 28 Dic 2015
whowas
W
M
Non aggiorna valore session
  • marcocorso
  • 28 Giu 2015
  • PHP
Risposte
5
Visite
1K
PHP 9 Lug 2015
borgo italia
Cannot send session cache limiter - ERRORE utilizzando session_start();
  • Nik
  • 3 Apr 2015
  • PHP
Risposte
3
Visite
2K
PHP 13 Apr 2015
filomeni
I
registrazione (SESSION)
  • ispanic
  • 23 Set 2014
  • PHP
Risposte
5
Visite
1K
PHP 25 Set 2014
Altutto
A
K
problemi con nome della session
  • Kelly
  • 17 Set 2014
  • PHP
Risposte
3
Visite
1K
PHP 18 Set 2014
Kelly
K
Sicurezza login $_SESSION attacchi XSS CSRF
  • voldemort
  • 24 Giu 2014
  • PHP
Risposte
0
Visite
1K
PHP 24 Giu 2014
voldemort
N
Problema con le SESSION
  • newOne
  • 22 Apr 2014
  • PHP
Risposte
6
Visite
2K
PHP 5 Mag 2014
Lighty
L
P
problema salvataggio e richiamo SESSION
  • parsifal
  • 17 Mar 2014
  • PHP
Risposte
0
Visite
2K
PHP 17 Mar 2014
parsifal
P
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?