Visualizzazione risultati 1 fino 9 di 9

Discussione: sistema con doppio login

  1. #1
    speedproject non è connesso Neofita
    Data registrazione
    03-02-2012
    Messaggi
    15

    Predefinito sistema con doppio login

    Salve,ho creato nel mio sito, una sezione riservata, vorrei usare lo stesso form per il login per far accedere 2 tipologie di account diversi (soci , clienti) a cui corrispondono 2 pagine riservate ben distinte tra loro.
    il codice che metto nelle pagine riservata ai clienti è questo:

    Codice PHP:
    <?
    session_start
    ();
    if(!
    session_is_registered(myusername)){
    header("location:main_login.php");
    }
    ?>

    come devo fare per usare un unico form datemi una mano che non capisco nulla di programmazione...grazie

    mentre il file main_login.php

    <?php
    $host
    ="localhost"; // Host name
    $username="speedpproject"; // Mysql username
    $password=""; // Mysql password
    $db_name="my_speedproject"; // Database name
    $tbl_name="my_speedproject"; // Table name

    // Connect to server and select databse.
    mysql_connect("$host", "$username", "$password")or die("cannot connect");
    mysql_select_db("$db_name")or die("cannot select DB");

    // username and password sent from form
    $myusername=$_POST['myusername'];
    $mypassword=$_POST['mypassword'];

    // To protect MySQL injection (more detail about MySQL injection)
    $myusername = stripslashes($myusername);
    $mypassword = stripslashes($mypassword);
    $myusername = mysql_real_escape_string($myusername);
    $mypassword = mysql_real_escape_string($mypassword);

    $sql="SELECT * FROM $tbl_name WHERE username=BINARY '$myusername' and password=BINARY '$mypassword'";
    $result=mysql_query($sql);

    // Mysql_num_row is counting table row
    $count=mysql_num_rows($result);
    // If result matched $myusername and $mypassword, table row must be 1 row

    if($count==1){
    // Register $myusername, $mypassword and redirect to file "login_success.php"
    session_register("myusername");
    session_register("mypassword");
    header("location:login_success.php");
    }
    else {
    echo
    "USERNAME O PASSWORD ERRATI";
    }
    ?>
    Ultima modifica di saitfainder : 09-02-2012 alle ore 11.35.31 Motivo: Usa il tag [PHP]

  2. #2
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Creata la colonna "tipo" basta verificare se il tipo è uguale a "socio" oppure a "clienti" (o meglio, a "1" o a "2").
    Quindi cambi il contenuto a seconda del risultato.
    Ciao!

  3. #3
    speedproject non è connesso Neofita
    Data registrazione
    03-02-2012
    Messaggi
    15

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Creata la colonna "tipo" basta verificare se il tipo è uguale a "socio" oppure a "clienti" (o meglio, a "1" o a "2").
    Quindi cambi il contenuto a seconda del risultato.
    Ciao!
    Ciao, grazie per avermi risposto, ma visto ke non capisco niente di programmazione web, mi potresti spiegare passo per passo cosa devo fare

  4. #4
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Creata la colonna "tipo" basta verificare se il tipo è uguale a "socio" oppure a "clienti" (o meglio, a "1" o a "2")
    Quindi ad ogni utente registrato assegni il valore 1 se è socio o 2 se è cliente.
    Fino a qui ci sei?
    A questo punto basta usare questo codice:
    Codice PHP:
    $array=mysql_fetch_array($result);
    $tipo = $array['tipo'];
    if(
    $tipo=="1"){ //metto i doppi apici sennò è inteso come "TRUE"
    header("Location: pagina_socio.php");
    }else{
    header("Location: pagina_cliente.php");
    }
    Ovviamente anche da lì dovrai fare dei controlli.
    Ciao!

  5. #5
    speedproject non è connesso Neofita
    Data registrazione
    03-02-2012
    Messaggi
    15

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Quindi ad ogni utente registrato assegni il valore 1 se è socio o 2 se è cliente.
    Fino a qui ci sei?
    A questo punto basta usare questo codice:
    Codice PHP:
    $array=mysql_fetch_array($result);
    $tipo = $array['tipo'];
    if(
    $tipo=="1"){ //metto i doppi apici sennò è inteso come "TRUE"
    header("Location: pagina_socio.php");
    }else{
    header("Location: pagina_cliente.php");
    }
    Ovviamente anche da lì dovrai fare dei controlli.
    Ciao!
    Ciao, ci sono riuscito, ora il file per fare i controlli, fino ad ora ho usato questo:
    Poi se volessi aggiungere altri tipi 1,2,3,4 , il codice che mi hai postato cambia nella parte dell'"IF" in che modo? mi potresti dare il codice?
    Grazie

    Codice PHP:
    <?
    session_start
    ();
    if(!
    session_is_registered(myusername)){
    header("location:main_login.php");
    }
    ?>
    Ultima modifica di alemoppo : 12-02-2012 alle ore 20.42.12 Motivo: +tag [php]

  6. #6
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Ciao!
    Prova a leggere la guida ufficiale sul sito di PHP.net.
    Se hai problemi ti aiuteremo.

  7. #7
    speedproject non è connesso Neofita
    Data registrazione
    03-02-2012
    Messaggi
    15

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Ciao!
    Prova a leggere la guida ufficiale sul sito di PHP.net.
    Se hai problemi ti aiuteremo.
    Ho letto un po nella guida la parte che mi interessava, e sono riuscito a creare più variabili tipo,
    ora devo creare il file da mettere nelle singole pagine riservate per impedire che i singoli utenti aventi il link corretto possano collegarsi a pagine che non dovrebbero.
    Nel caso della pagina cliente tipo 1 devo creare il codice, che faccia connettere solo il cliente tipo 1, e via scorrendo con gli altri 2 tipi.... grazi

  8. #8
    L'avatar di radiodelmomento
    radiodelmomento non è connesso AlterGuru
    Data registrazione
    09-09-2010
    Messaggi
    1,075

    Predefinito

    Bene, da quello che hai imparato non sarà difficile scrivere lo script.
    Citazione Originalmente inviato da radiodelmomento
    Codice PHP:
    $array=mysql_fetch_array($result);
    $tipo = $array['tipo'];
    if(
    $tipo=="1"){ //metto i doppi apici sennò è inteso come "TRUE"
    header("Location: pagina_socio.php");
    }else{
    header("Location: pagina_cliente.php");
    }
    Quindi, se sei nella pagina dei soci:
    Codice PHP:
    if($tipo=="1"){
    // tutto ok
    }else{
    echo
    "Complimenti, il link è esatto! Peccato che tu debba essere un socio...";
    }
    Stessa cosa per i clienti:
    Codice PHP:
    if($tipo=="1"){
    echo
    "Sei un socio e accedi alla pagina dei clienti? Mah...";
    }else{
    // tutto ok
    }
    Ti consiglio di modificare le scritte...

    Ciao!

  9. #9
    speedproject non è connesso Neofita
    Data registrazione
    03-02-2012
    Messaggi
    15

    Predefinito

    Citazione Originalmente inviato da radiodelmomento Visualizza messaggio
    Bene, da quello che hai imparato non sarà difficile scrivere lo script.

    Quindi, se sei nella pagina dei soci:
    Codice PHP:
    if($tipo=="1"){
    // tutto ok
    }else{
    echo
    "Complimenti, il link è esatto! Peccato che tu debba essere un socio...";
    }
    Stessa cosa per i clienti:
    Codice PHP:
    if($tipo=="1"){
    echo
    "Sei un socio e accedi alla pagina dei clienti? Mah...";
    }else{
    // tutto ok
    }
    Ti consiglio di modificare le scritte...

    Ciao!
    Ciao, ho provato il codice, ma non va, io devo inserire la restrizione in ogni pagine, ovvero una regola che permette solo ai soci di poter visualizzare il contenuto, e non a tutti gli utenti del database, devo inserire un'ulteriore restrizione... lo so che sto rompendo troppo, ma è importante....
    Grazie ancora...

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •