Sessioni - Database

Z0MB13

Utente Attivo
30 Mar 2013
34
0
0
Salve, ho creato un sito e, grazie all'aiuto di un mio amico, sono riuscito a fare il login. Però quando inserisco i dati il database mi riconosce, ma non rimango memorizzato nella cache del server. Cioè, quando accedo mi esce sempre la pagina del login nonostante sono entrato.
In pratica dovrei inserire le sessioni ma non so farlo. Mi dareste una mano? Grazie!
 

helpdesk

Utente Attivo
30 Set 2009
726
0
0
Pesaro
Ciao, per aprire la sessione devi usare: session_star();.
Ecco un piccolo esempio, ho inserito solo il nickname puoi ovviamente
inserire anche la password.
Inserisco anche un form direttamente nell'else del codice PHP
ma puoi richiamare il codice PHP anche esternamente dal comando
action di HTML.
Dopo il login "e dopo aver registrato la sessione" mandi con header('');
alla pagina di Benvenuto dove stampi con un echo lo user dell'utente.

Pagina Login.php
PHP:
<?php 
@session_start();
if(isset($_POST['nickname'])&&($_POST['nickname']!="")){
  $_SESSION['username'] = $_POST['nickname'];
  @header('Location:Pagina_Benvenuto.php');
 }else{
 ?>
//// Inizio Form HTML /////
<html>
<head>
<title>Login Utente</title>
</head>
<body>
<p>
<form method="post" action="login.php">
Scegli il tuo nickname<br><br>
<input type="text" name="nickname" maxlength="10">
<input type="submit" value="Invia">
</form>
</p>
</body>
</html>
///// Fine Form HTML ////
<?
}
?>
 
Ultima modifica:

Z0MB13

Utente Attivo
30 Mar 2013
34
0
0
Invece di sostituire questo codice con l'altro, come potrei aggiungerlo?
 

Jonn

Utente Attivo
29 Dic 2012
352
3
18
Pistoia
Salve,
sono io "l'amico" XD.
vi spiego a grandi linee qual'è la situazione:
Abbiamo creato un database chiamato test con dentro una tabella che contiene i campi ID, USERNAME e PASSWORD.
- ID (come penso che sia in tutti i database) è il valore incrementale che conteggia i record
- Username e password penso siano abbastanza chiari

Abbiamo creato la login e funziona, che funziona si capisce dal fatto che lo script PHP non reindirizza alla pagina di errore, questo perchè:
il Checklogin (un file php) fa il controllo e dice, se la login è corretta, l'header rimanda alla index.php mentre se è sbagliata, stampa a video "Attenzione username o password errati".

Quando si esegue la login infatti si viene rimandati alla index.php, per questo si capisce che funziona, ma non viene stampato il nome utente al posto della login, che appunto non sappiamo come stamparlo prendendolo dal database.

La pagina comunque si trova qui:
- JohnnyFerrari.it/prove/pubbliche/5/

Adesso non funziona perchè non è collegato il database (lo testavamo offline con XAMPP).
Vorrei specificare che se il lavoro non è esageratamente laborioso, interessa anche a me.
Ciao a tutti.

PS. se riusciamo a mantenere le sessioni di login aperte ed a gestirle poi ci interessa sapere anche come creare la pagina di registrazione, quella personalizzata dell'utente, e le pagine del sito accessibili solo tramite login, comunque.....un passo alla volta.
 

criric

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
21 Ago 2010
5.607
54
48
TN
Ciao, non avevndo a disposizione il codice della Checklogin provo ad immaginarmelo e ti faccio un semplice esempio
PHP:
<?php

session_start();
// recupero dati login
$nomeutente = $_POST['username'];
$password = md5($_POST['password']);

// connessione al database
$query = "SELECT idutente,nomeutente 
                 FROM utenti 
                 WHERE nomeutente = '$nomeutente' && password = '$password' && attivo = 1";
// esecuzione della query

if ($num_rows == 1) {
    $_SESSION['nomeutente'] = $nomeutente;
    $_SESSION['idutente'] = $rows['idutente'];
    header("location:index.php");
} else {
    header("location:loginerrato.php");
}
?>
per verificare la sessione nella index
PHP:
<?php
session_start(); 
if (isset($_SESSION['idutente'])) {
    echo "Benvenuto " . $_SESSION['nomeutente'];
} else {
    header("location:loginerrato.php");
}
?>
edit
avevo dimenticato session_start(); in index.php
 
Ultima modifica:

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Ovviamente quando si iscrive un nuovo utente e salvi quindi le password nel db devi salvarle criptate con md5() così come viene criptati la variabile $password nel codice postato da criric.
 
Discussioni simili
Autore Titolo Forum Risposte Data
E Gestione Sessioni sui file anziche nel database - Come fare? Joomla 0
keyascii File temporanei Sessioni PHP 6
T PROBLEMA CON SESSIONI PHP 3
ilsuomillennio Sessioni PHP 3
maxnegri Contare sessioni aperte e creare condizione PHP 1
AC1 Sessioni php PHP 16
S [PHP] problemi con le sessioni PHP 3
B [PHP] Reload pagina e sessioni PHP 3
A Php e sessioni PHP 3
J sessioni in PHP PHP 3
T gestione livelli sessioni php msqli PHP 1
M Problema MySQL e sessioni MySQL 0
A form su più pagine e sessioni PHP 8
V Le sessioni: ho dei dubbi sul posizionamento PHP 6
A sessioni sicure? PHP 5
G Controllo scadenza sessioni PHP 2
M Sessioni??? PHP 4
C Sessioni in php (urgente) PHP 4
R Efficenza sessioni con proxy PHP 0
baobabdesign Problema scrittura sessioni PHP 0
Shyson Non mantiene sessioni PHP 0
L segnalare l'utilizzo delle sessioni come accade per i cookie PHP 0
D Login con sessioni per 2 pagine diverse PHP 2
L problema array con le sessioni PHP 1
D Sessioni e variabili PHP 4
R problema con le sessioni PHP 2
L Sessioni rank [#PHP] PHP 3
R Sessioni, cookies e token di autenticazione PHP 0
E [risolto] win 8.1 + IE11 le sessioni PHP non fuonzionano correttamente PHP 7
A Sessioni php PHP 0
otto9due [risolto] Problema sessioni php e login PHP 5
B Sessioni PHP 10
H [risolto] Uso delle SESSIONI PHP 2
F Sessioni PHP 1
A conservazione sessioni PHP 2
S Stampare una variabile in ogni pagina usando le sessioni PHP 5
Z Registrazione e sessioni PHP 8
asevenx problema con le sessioni PHP 6
S Un piccolo aiuto su cookie e sessioni PHP 1
S Problema con sessioni PHP 4
I Problema con le sessioni PHP 2
Emix Problema sessioni... PHP 17
P Problema con l'uso delle sessioni... PHP 4
P Problema con sessioni e aggiornamento profilo PHP 21
redevilduil Php problema nelle sessioni PHP 6
P Ho riunito le prove con le sessioni, ma l'update non va PHP 20
Shyson Non mantiene le sessioni PHP 7
D [JSP] Gestire eccezioni relative alla scadenza delle sessioni Java 0
M $_SESSION['sessione'][1] possibile? Sessioni con indice. PHP 8
zighy sessioni personali PHP 9

Discussioni simili