Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 16

Discussione: login differenziato

  1. #1
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    46

    login differenziato

    Ciao a tutti...sono nuovo del forum, spero mi possiate aiutare..

    Dovrei realizzare degli accessi differenziati a seconda dell'utente su di un sito, ovvero ogni utente quando loggato viene mandato alla sua pagina personale...

    Come posso fare????

    grazie....
    ieri che diventa oggi, non ritornerà domani....

  2. #2
    direi che in un modo semplice lo si può fare cosi:

    io metto il tutto in tre pagine per chiarezza ma la composizione può cambiare a seconda delle esigenze.... basta un po di flessibilità!

    le pagine sono:
    - login.php che ha il form per inserire i dati del login e che punta alla pagina...
    - controllo.php che effettua il "controllo" appunto, della presenza dell'utente sul database ... se trova l'utente effettua un "link" (redirect) alla pagina ...
    - paginapersonale.php che presenta una pagina diversa a seconda dell'utente che si è loggato....

    pagina: login.php
    Codice PHP:
    <html>
    <
    head>
        <
    title>login.php</title>
    </
    head>

    <
    body>
    [
    b]Inserire i dati per l'accesso
    [/b]
    <form action="controllo.php" method="get">
    Userid
    <input type="Text" name="userid">
    Password
    <input type="password" name="password">
    <input type="Submit" value="accedi">
    </form>


    </body>
    </html> 


    pagina: controllo.php
    Codice PHP:
    <?
    //controllo.php
    $user="useridDB";
    $pw="passwordDB";
    $db="nomeDatabase";
    $hostDB="localhost";
    $mysql_access mysql_connect($hostDB$user$pw);
    mysql_select_db($db$mysql_access);


    $nomeTabellaUTENTI="mettereIlNomeQui";

    if(
    $_POST['userid']!="" && $_POST['password']!="") { 

    $select="SELECT * FROM $nomeTabellaUTENTI 
    WHERE userid='"
    .$_POST['userid']."' and password='".$_POST['password']."' ";
    $result=mysql_query($select$mysql_access);
        if(
    mysql_num_rows($result)) { 
        
    //se trovo un record allora i dati corrsipondono
        
        /*quindi richiamo i dati dal db: 
        cambiano a seconda dei campi che hai inserito nella tabella */
        
        
    $idUtente=$row['id'];
        
    Header("location: paginapersonale.php?id=$idUtente");
        
        }
        else 
        {
        echo 
    "
        Username o password non corretti

        <a href=\"javascript:history.back(1)\">torna indietro</a>
        "
    ;
        }
    } else {
    echo 
    "
    Inserire userid e password

    <a href=\"javascript:history.back(1)\">torna indietro</a>
    "
    ;
    }

    ?>

    pagina: paginapersonale.php
    Codice PHP:
    <?
    //paginapersonale.php
    if($_GET['id']!="") {
    $user="useridDB";
    $pw="passwordDB";
    $db="nomeDatabase";
    $hostDB="localhost";
    $mysql_access mysql_connect($hostDB$user$pw);
    mysql_select_db($db$mysql_access);


    $nomeTabellaUTENTI="mettereIlNomeQui";


    $select="SELECT * FROM $nomeTabellaUTENTI WHERE id='".$_GET['id']."' ";
    $result=mysql_query($select$mysql_access);
    $row=mysql_fetch_array($result);
    ?>

    <html>
    <head>
        <title>pagina di <? echo $row['userid']; ?></title>
    </head>

    <body>
    ciao <? echo $row['userid']; ?> questa è la tua pagina personale... bla bla bla ...


    </body>
    </html>


    <?
    }
    ?>


    questo è quanto...
    solo uno spunto da personalizzare ovviamente!

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    46
    Grazie delle informazioni... mi metto all'opera e ti farò sapere
    ieri che diventa oggi, non ritornerà domani....

  4. #4
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    46
    Ciao Biblo... ti disturbo ancora...

    Ho guardato il codice che mi hai scritto, la pagina di login e di controllo mi sembra di averle capite... ma la pagina personale non tanto,
    non mi è chiaro guardando il tuo codice come faccio ad indirizzare tizio a pagina_tizio, caio a pagina_caio e via discorrendo...

    grazie per la disponibilità
    ieri che diventa oggi, non ritornerà domani....

  5. #5
    nella pagina controllo.php c'è una riga che effettua il direzionamento alla pagina...
    per il momento io ho fatto in modo che andando sulla stessa pagina (paginapersonale.php)
    e passando l'id dell'utente la pagina personale (sempre la stessa) dia dei contenuti diversi in base all'id

    questo l'ho fatto con la riga:
    Codice PHP:
    $idUtente=$row['id']; 
    Header("location: paginapersonale.php?id=$idUtente"); 
    Se invece cuoi che il link sia a qualosa com pagina_userid.php allora devi cambiare quella riga così:
    Codice PHP:
    $userididUtente=$row['useridid']; 
    Header("location: pagina_".$userididUtente.".php"); 


  6. #6
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    46
    Ora mi è chiaro...grazie!!!
    ieri che diventa oggi, non ritornerà domani....

  7. #7
    Utente di HTML.it
    Registrato dal
    Jun 2006
    Messaggi
    794
    Ha ragione Biblo.
    Non ti conviene fare una pagina per ogni utente. Ma una sola pagina per tutti gli utenti altrimenti non si userebbero i database... Ma diventerebbe un sito statico..

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2005
    Messaggi
    116
    Ho avuto il tuo stesso problema ed l'ho risolto così:
    praticamente ad ogni utente ho assegnato un id che mi indicava se era un amministratore, un utente normale oppure un operatore. In ogni pagina del mio sito ho messo un controllo che mi preleva l'id utente e quindi con un semplice confronto lo catapulto dove voglio...
    Al momento del log-in verifico che la persona esista poi lo butto nel menù del sito. Il menù è la parte importante in quanto in base al log-in gli faccio visualizzare quello che voglio...
    Cmq ti posto i file in sequenza:
    actionlogin.php
    menu.php

    actionlogin.php:

    <?php

    include ("crypta.php");
    session_start();

    if ((!empty ($_POST['username']))&&(!empty($_POST['psw']))&& (isset($_POST['username']))&&(isset($_POST['psw']))){

    $username=$_POST['username'];
    $psw=$_POST['psw'];

    $pswCrypt=cripta($psw);
    $link=db_connect();
    if ($link){

    select_db("AAAAA",$link);

    $result=mysql_query("SELECT idUser FROM anagrafica WHERE username='".$username."' and password='".$pswCrypt."';");

    if (mysql_num_rows($result)==1) {

    list($_SESSION['utente'])= mysql_fetch_row($result);
    close_db ($link);
    header("Location:menu.php");


    }else{
    close_db($link);
    session_destroy();
    header("Location:index.php");
    }
    }else{
    session_destroy();
    echo "problemi con collegamenti mysql!! O manca mysql o il firewall blocca o l\'antivirus rompe!";
    }

    }else{
    session_destroy();
    header ("Location:index.php");
    }
    ?>


    menu.php:

    <?php
    session_start();

    if(((isset($_SESSION['utente']))||(!empty($_SESSION['utente'])))||(is_numeric($_SESSION['utente']))){

    include ("crypta.php");
    $link=db_connect();
    select_db("AAAAA",$link);
    $user=$_SESSION['utente'];

    $query=mysql_query("SELECT tipouser.idtipo FROM anagrafica,tipouser,personatipo WHERE anagrafica.iduser='".$user."'and anagrafica.iduser=personatipo.iduser and tipouser.idtipo=personatipo.idtipo");



    if (mysql_num_rows($query)==1) {

    $utente=mysql_fetch_array($query,MYSQL_NUM);
    close_db($link);
    include("Template/elementiHTML.php");

    prima_riga("Menu generale");

    add_css("Stile/generale.css");

    close_prima_riga();

    echo "<div class=\"boxmenu\">";

    switch ($utente[0]){
    case $utente[0]==1://caso utente normale
    echo"
    <ul>
    [*]1
    [*]2
    [*]3
    [*]4
    [/list]
    ";
    break;
    case $utente[0]==2://caso amministratore
    echo"
    <ul>
    [*]5
    [*]6
    [*]7
    [*]8
    [*]9
    [*]10
    [/list]
    ";
    break;
    case $utente[0]==3://caso operatore
    echo"
    <ul>
    [*]11
    [*]12
    [*]13
    [*]14
    [*]15
    [*]16<
    [/list]
    ";
    break;
    default:
    echo "

    Problemi seri!!</p>";
    }
    echo"</div>";
    fine_pagina();
    }else{

    session_destroy();
    header("Location:index.php");
    //echo "problemi in query!!";
    }
    }else{
    header("Location:index.php");
    }

    ?>

    Poi , come ti ho detto in ogni pagina ho messo un controllo:

    <?php
    session_start();
    if(((isset($_SESSION['utente']))||(!empty($_SESSION['utente'])))||(is_numeric($_SESSION['utente']))){

    include ("crypta.php");
    $link=db_connect();
    select_db("AAAAAA",$link);
    $user=$_SESSION['utente'];

    $query=mysql_query("SELECT tipouser.idtipo FROM anagrafica,tipouser,personatipo WHERE anagrafica.iduser='".$user."'and anagrafica.iduser=personatipo.iduser and tipouser.idtipo=personatipo.idtipo");

    $utente=mysql_fetch_array($query,MYSQL_NUM);

    close_db($link);
    if ($utente[0]==1){
    .
    .
    ?>

    ok non è ortodosso fare sempre i controlli ma almeno funziona... migliorabile sicuramente....
    Cmq spero di esserti stato d'auito

  9. #9
    Utente di HTML.it
    Registrato dal
    Jul 2006
    Messaggi
    46
    Biblo sapresti dirmi dove sbaglio mi genera il seguente errore nella pagina controllo.php

    Fatal error: Call to undefined function mysql_connect() in C:\Programmi\Apache Group\Apache2\htdocs\controllo.php on line 7

    grazie....
    ieri che diventa oggi, non ritornerà domani....

  10. #10
    veramente è molto strano, sta dandoti un errore su una funzione che è propria di PHP
    non so che dire :master:

    mysql_connect(); dovrebbe funzionare....


    che versione hai di PHP?

    usi easy PHP?

    e il database mysql è istallato correttamente (hai già qualche script php che lavora con i dati sul db?)?

    nn so vediamo che si può fare magari ci aiuta anche qualcun'altro!


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.