Visualizzazione dei risultati da 1 a 9 su 9

Discussione: Login php

  1. #1

    Login php

    Ciao a tutti!

    Parto subito spiegando cos'è che vorrei fare con il mio sito XD
    Ho letto che per realizzare una pagina per il login e memorizzare le variabili di accesso basta usare i cookie, o al massimo le sessioni (anche se non ho capito bene dove), questo però permette di memorizzare un solo utente per volta, io vorrei poter memorizzare più utenti per volta.

    Mi spiego, mettiamo caso che io sia registrata ad un sito con il nome 'Anna' e mio fratello sia registrato allo stessto sito con il nome 'Luca', siamo sullo stesso pc quindi se iovolessi accedere al sito, dove al momento è impostato il suo account, dovrei uscire con il suo ed entrare con il mio. Potrei fare in modo che, invece, il sito memorizzi entrambi i nostri profili e al momento di accedere chieda con quale vogliamo entrare nel sito?

    Esempio pratico:
    - Facebook, posso memorizzare un account alla volta
    - Hotmail, posso memorizzare più account alla volta e scegliere con quale accedere cliccandoci sopra


    Grazie mille!

  2. #2

    Re: Login php

    Originariamente inviato da BiancaMcT
    basta usare i cookie, o al massimo le sessioni (anche se non ho capito bene dove)
    Originariamente inviato da BiancaMcT Potrei fare in modo che, invece, il sito memorizzi entrambi i nostri profili e al momento di accedere chieda con quale vogliamo entrare nel sito?
    La discrepanza fra queste due espressioni rende impossibile aiutarti...

  3. #3
    Basta usare i cookie per memorizzare un solo profilo, volevo sapere come si potevano memorizzare invece più profili..

  4. #4
    si.
    salvando "opportunamente" un array nel cookie. Opportunamente stà a dire utilizzando:
    serialize()/unserialize() oppure implode()/explode()

    si tratta ad ogni modo di un'operazione delicata...

  5. #5
    Veramente non ho mai provato a fare ciò, però penso che sia possibile
    Se ad esempio hai gli utenti Luca ed Anna le cui rispettive password sono pass1 e pass2 puoi provare a settare i seguenti cookies.

    Quando si collega Luca:
    codice:
    setcookie ("utente[Luca]", "Luca");
    setcookie ("password[Luca]", "pass1");
    setcookie ("preferenza[Luca], $pref);
    setcookie ("utentecorrente, "Luca");
    Quando si collega Anna:
    codice:
    setcookie ("utente[Anna]", "Anna");
    setcookie ("password[Anna]", "pass2");
    setcookie ("preferenza[Anna], $pref);
    setcookie ("utentecorrente, "Anna");
    Per sapere quali utenti sono collegati puoi usare un ciclo foreach:
    codice:
    $i=0;
    foreach ($_COOKIE["utente"] as $utente => $value){
      $utenti[$i]=$utente;
      $i++;
    }
    Ovviamente dovresti controllare che le password siano corrette.
    Per cambiare utente basta variare il cookie utentecorrente.

    Utilità per studenti e ingegneri - https://www.engtools.online/

  6. #6
    Hey grazie Sal, domani provo questa soluzione e ti faccio sapere!!

  7. #7
    Ok XD diciamo che non ho capito bene bene come fare, ma ho provato a fare altro:

    <?php

    $conn = mysql_connect("localhost", "root", "");
    if (! $conn)
    {
    echo("Errore durante la connessione a MySql.");
    exit();
    }

    mysql_select_db("SNL");

    $nome1 = $_COOKIE['primopg'];
    $nome2 = $_COOKIE['secondopg'];
    $nome3 = $_COOKIE['terzopg'];

    if (!$pg1)
    {
    echo('<center>
    <form action="login.php" method="post">




    <p class="bianco"> Nome &nbsp &nbsp &nbsp &nbsp
    <input type="text" name="nome" value="" size="20">

    Cognome &nbsp
    <input type="text" name="cognome" value="" size="20">

    Password &nbsp
    <input type="password" name="psw" value="" size="20">



    <input name="" type="submit" value="Invia">
    </form>
    </center>');
    }
    else
    {
    $strSQL = "select * from personaggi where codice = '$pg1'";
    $risultato = mysql_query($strSQL);

    if(! $risultato)
    {
    echo ("Errore nel comando SELECT");
    exit();
    }

    $riga = mysql_fetch_array($risultato);

    if (! $riga)
    {
    echo ("Pg non esistente");
    exit();
    }
    echo('Lista personaggi

    '.$_riga["nome"].' '.$_riga["cognome"].'
    ');
    }

    //-----------------------------secondo--------------------------------------
    if ($pg2)
    {
    $strSQL = "select * from personaggi where codice = '$pg2'";
    $risultato = mysql_query($strSQL);

    if(! $risultato)
    {
    echo ("Errore nel comando SELECT");
    exit();
    }

    $riga = mysql_fetch_array($risultato);

    if (! $riga)
    {
    echo ("Pg non esistente");
    exit();
    }

    echo($_riga["nome"].' '.$_riga["cognome"].'
    ');
    }


    //-----------------------------terzo--------------------------------------
    if ($pg3)
    {
    $strSQL = "select * from personaggi where codice = '$pg3'";
    $risultato = mysql_query($strSQL);

    if(! $risultato)
    {
    echo ("Errore nel comando SELECT");
    exit();
    }

    $riga = mysql_fetch_array($risultato);

    if (! $riga)
    {
    echo ("Pg non esistente");
    exit();
    }

    echo($_riga["nome"].' '.$_riga["cognome"].'
    ');
    }


    mysql_close($conn);

    ?>
    Cioè ho tentato di mettere, ad esempio, tre variabili per memorizzare massimo 3 username, il programma vede se il primo esiste (ovvero se ne è stato memorizzato almeno uno), se sì allora visualizza appunto il nome prendendolo dal DB, altrimenti visualizza solo il form di inserimento dati. Passa poi a controllare gli altri due, ovviamente può essere fatto in modo più dinamico, ma per ora mi basta che funzioni.

    il problema è:
    quando io vado a controllare che sia stato memorizzato nei cookie almeno un utente, se è stato memorizzato ok, ma se non è stato memorizzato mi dice, giustamente, che la variabile non è stata dichiarata. Come posso fare? non posso resettare ogni volta le variabili, sarebbe inutile usare i cookie


    grazie!

  8. #8
    Probabilmente manca qualche parte di codice per poter capire bene cosa non va, ad esempio da dove ricavi e variabili $pg1, $pg2 e $pg3
    Non ho capito bene se ottieni l'errore quando attribuisci alle variabili $nome1, $nome2 e $mone3 i valori dei cookies, quando fai if con le variabili $pg1, $pg2 e $pg3 o quando ti colleghi al database.
    Per sapere se un cookie esiste puoi usare if (isset($_COOKIE['primopg']))
    Utilità per studenti e ingegneri - https://www.engtools.online/

  9. #9
    si scusa XD non ho dato lo stesso nome alle variabili ma mi interessava altro, grazie mille, con isset funziona!

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 © 2024 vBulletin Solutions, Inc. All rights reserved.