Visualizzazione dei risultati da 1 a 6 su 6

Discussione: Sessioni

  1. #1
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128

    Sessioni

    Allora, nell'ambiente sessioni, mi sto addentrando ora.. non so molto (ma sto cercando di imparare visto che sono molto importanti e utili)

    guardando qua e la, qualcosa ceh abbia senso dovrebbe essere questo

    Qui assegno la variabile alla sessione

    prova1.php
    Codice PHP:
    <?php
    session_start
    ();
    $_SESSION['ciaoooo']= 'ciaoooo';
    echo 
    $_SESSION['ciaoooo'];
    echo 
    $_SERVER['HTTP_HOST'];

            
    ?> 

    [url="prova2.php"]prova2[/url]

    Qui controllo se mantengo la sessione

    prova2.php
    Codice PHP:
    <?php
    session_start
    ();
    echo 
    $_SESSION['ciaoooo'];
    echo 
    'OKKK;
    ?>
    per il logout dovrei fare credo così, ditemi se sbaglio

    logout.php
    Codice PHP:
    <?php
    session_start
    ();
    session_destroy();
    ?>
    Io vorrei dare la possibilità di afre un login a degli utenti.. i dati si andrebbero a prendere in una tabella nel database

    per esempio

    nome database. MI_utenti
    Campi: id, nickname, username (per ora teniamo solo questi tre)

    come dovrei afre epr far si ceh si crei la sessione solo se il login è corretto e come si fa a far si ceh alla pagina con la sessione possa accedere solo quello autenticato??

  2. #2
    utente.php
    Codice PHP:
    session_start();
    if (isset(
    $_SESSION['autenticato'])) {
       
    //La sessione è presente, controllo se i dati inseriti sono corretti
       
    $dati explode("|",$_SESSION['autenticato']); //Suppongo di aver messo i dati nella forma, username.password
       
    if (mysql_num_rows(mysql_query("SELECT * FROM utenti WHERE user={$dati[0]} AND pass={$dati[1]}"))>0) {
          
    //Dati corretti
          
    echo "Ciao {$dati[0]}";

          ......
    Contenuto da proteggere.....

       }
       .....
    } else {
       
    //Sessione non presente, devo fare il login
       
    <form action='login.php'>
          <
    input type='text' name='user'>
          <
    input type='text' name='pass'>
          <
    input type='Submit'...>
       </
    form>

    login.php
    Codice PHP:
    if (mysql_num_rows(mysql_query("SELECT * FROM utenti WHERE user={$_POST['user']}AND pass={$_POST['pass']}"))>0) {
       
    //Dati corretti
       
    session_start();
       
    $_SESSION['autenticato'] = $_POST['user']."|".$_POST['pass']; //Inserisco nella sessione user e pass cosi poi le posso ricontrollare quando si rientra
       
    header("Location: utente.php");
    } else {
       echo 
    "I dati non sono corretti";

    E' solo un esempio scritto al volo, i modi di farlo sono molteplici

  3. #3
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    ciao!

    1-ti ringrazio..

    2-ho qualche problemino già

    allora ecco qui le due pagine, similari alle tue

    utente.php
    Codice PHP:
    <?php

    include 'configurazione.php';

    session_start();
    if (isset(
    $_SESSION['autenticato'])) {
       
    //La sessione è presente, controllo se i dati inseriti sono corretti
       
    $dati explode(".",$_SESSION['autenticato']);
       if (
    mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname={$dati[0]} AND password={$dati[1]}"))>0) {
          
    //Dati corretti
          
    echo "Bentornato {$dati[0]}";

    echo 
    "      ......Contenuto da proteggere.....";

       }
      
    echo 
    " .....";

    } else {
       
    echo 
    "<form method='post' action='login.php'>
    nickname <input type='text' name='nickname'>

    password <input type='text' name='password'>

    <input type='Submit'...>
    </form>"
    ;

    }

    ?>
    login.php
    Codice PHP:
    <?php

    include 'configurazione.php';

    if (
    mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname={$_POST['nickname']} AND password={$_POST['password']}")) > 0) {

    //Dati corretti

    session_start();

    $_SESSION['autenticato'] = $_POST['nickname'].$_POST['password'];

    header("Location: utente.php");

    } else {

    echo 
    "I dati non sono corretti";

    }

    ?>

    mi da errore a questa linea del file login.php

    Codice PHP:
    if (mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname={$_POST['nickname']} AND password={$_POST['password']}")) > 0) { 

  4. #4
    Ah lol, sarà il sonno

    Codice PHP:
    if (mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname=".$_POST['nickname']." AND password=".$_POST['password']."")) > 0) { 
    La stessa modifica falla al resto

  5. #5
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    utente.php
    Codice PHP:
    <?php

    include 'configurazione.php';

    session_start();
    if (isset(
    $_SESSION['autenticato'])) {
       
    //La sessione è presente, controllo se i dati inseriti sono corretti
       
    $dati explode(".",$_SESSION['autenticato']);
       
    if (
    mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname= '" $dati[0] . "' AND password = '" $dati[1] . "'"))>0) {

    //Dati corretti
    echo "Bentornato {$dati[0]}";
    echo 
    "      ......Contenuto da proteggere.....";


    }

    //Dati corretti
    echo " .....";

    } else {
       
    echo 
    "<form method='post' action='login.php'>
    nickname <input type='text' name='nickname'>

    password <input type='text' name='password'>

    <input type='Submit'...>
    </form>"
    ;

    }

    ?>
    aggiustando così la pagina, i dati non me li mostra, cioè non mi mostra bentornato etc

    cosa c'è di sbagliato ora? :berto:

  6. #6
    Utente di HTML.it L'avatar di torrone
    Registrato dal
    Apr 2006
    residenza
    Padova
    Messaggi
    1,128
    riprendo la discussione dopo una piccola dormita!!

    allora, questa è la pagina utente.php in questione

    Codice PHP:
    <?php

    include 'configurazione.php';

    session_start();

    if (isset(
    $_SESSION['autenticato'])) {
       
    //La sessione è presente, controllo se i dati inseriti sono corretti
       
    $dati explode(".",$_SESSION['autenticato']);
       
    if (
    mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname= '" $dati[0] . "' AND password = '" $dati[1] . "'"))>0) {

    //Dati corretti
    echo "Bentornato $dati[0]";
    echo 
    "      ......Contenuto da proteggere.....";

    }

    echo 
    " .....";

    } else {
       
    echo 
    "<form method='post' action='login.php'>
    nickname <input type='text' name='nickname'>

    password <input type='text' name='password'>

    <input type='Submit'...>
    </form>"
    ;

    }

    ?>
    all'apparenza sembrerebbe funzioni correttamente.. io effettuo il login e dopo mi mostra la pagina.. il problema è che non mi mostra bentornato etc, ma mi mostra solo "....."
    provando a spostare le due righe con bentornato e contenuto da proteggere dove stanno i ....., su $dati[01] (che dovrebbe mostrarmi l'username) mi mostra anche la password

    es.

    Codice PHP:
    <?php

    include 'configurazione.php';

    session_start();

    if (isset(
    $_SESSION['autenticato'])) {
       
    //La sessione è presente, controllo se i dati inseriti sono corretti
       
    $dati explode(".",$_SESSION['autenticato']);
       
    if (
    mysql_num_rows(mysql_query("SELECT * FROM MI_utenti WHERE nickname= '" $dati[0] . "' AND password = '" $dati[1] . "'"))>0) {

    }

    //Dati corretti
    echo "Bentornato $dati[0]";
    echo 
    "      ......Contenuto da proteggere.....";
    echo 
    " .....";

    } else {
       
    echo 
    "<form method='post' action='login.php'>
    nickname <input type='text' name='nickname'>

    password <input type='text' name='password'>

    <input type='Submit'...>
    </form>"
    ;

    }

    ?>
    dove sta il probelma??

    cmq io vorrei riuscire a prelevare tutti i dati dell'utente (se la tabella dell'utente avesse anche per esempio nome, cognome etc etc)

    come dovrei fare??..

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.