Visualizzazione dei risultati da 1 a 9 su 9
  1. #1

    Costruzione pagina di login

    Buongiorno a tutti....forse avrei dovuto subito scrivervi il problema completo, in quanto non so più come andare avanti!!!
    Cercherò di essere il più chiara possibile e completa:
    Devo costruire una pagina di login e far si che dopo l'accesso l'utente possa vedere cliccabili solo alcune voci di un menu che si trova su una pagina con frame!
    La struttura delle mie pagine:
    ACCESSO.HTML
    Codice PHP:
    <html>
        <
    head><title>Accesso</title></head>
        <
    body>
        <
    form action="bianca.php" method="post">
        <
    table align="center">
          <
    tr
        <
    td width="140" height="57">[b]NOME UTENTE:[/b]</td>
        <
    td width="163"><div align="center"
            <
    input type="text" name="user">
          </
    div></td>
      </
    tr>
      <
    tr
        <
    td height="64">[b]PASSWORD:[/b]</td>
        <
    td><div align="center"
            <
    input type="password" name="pass">
          </
    div></td>
      </
    tr>
      <
    tr
        <
    td height="65" colspan="2">
          <
    div align="center"
             <
    input name="submit" type="submit" value="Entra">
          </
    div></td>
      </
    tr>
    </
    table>
        </
    form>
        </
    body>
    </
    html
    Cliccando sul pulsante entra, dopo aver inserito user e password, verrà indirizzato alla pagina frame1 che effettuerà i controlli sull'user e la password in modo che se qualcosa è sbagliato da errore, altrimenti mostra una pagina con i frame. In uno di questi frame deve esserci un menu con 5 voci e deve poter essere cliccabile solo quella relativa all'utente che si è loggato! In quanto ogni utente ha un suo profilo e può vedere solo alcune cose.
    La pagina con i frame: FRAME1.PHP
    Codice PHP:
    <html>
        <
    head>
            <
    title>La Mia Pagina Frame</title>
        </
    head>
        <
    frameset rows="110,*,50" 
        <!-- 
    aggiungendo questa stringa
            frameborder
    =0
            all
    'interno di ogni frameset spariscono le linee di divisione -->
            <frame src="welcomepage.php" name="main">
            <frameset cols="240,*"> 
            
                <frame src="menupage_prova2.php" name="menu">
                <frame src="bianca.php" name="login">
            </frameset> 
            <frame src="bottombanner.htm" name="bottom">
        </frameset><noframes></noframes>
    </html> 
    Dato che come si può vedere dal codice che ho postato ora in ogni frame compare una pagina diversa, menupage_prova2, bianca, welcomepage. Dove devo mettere il codice con il controllo dell'user e della password e come faccio a rendere selezionabili solo alcune voci del menu??? Il menu si trova nella pagina menupage_prova2.php
    Codice PHP:
    <html>
        <head>
            <title>Menù</title>
        </head>
        <link rel="stylesheet" type="text/CSS" href="jsmenu.CSS">
        <link rel="stylesheet" type="text/CSS" href="css.CSS">
        <script type="text/Javascript" src="expand.js"></script> 
        <body>
            <div id="nav">
                <ul>
                    <?php
                    $c
    =oci_connect("XXX""XXX""XXX"); 
                    
    $queryprima=oci_parse($c,"select m.cod_macro livello1, m.des_macro des_livello1
                                from con_macro m
                                order by m.ordine"
    );
                    
    oci_execute($queryprima);
                    
    $j=1;
                    while ((
    $riga=oci_fetch_array($queryprimaOCI_NUM OCI_RETURN_NULLS))){
                        echo(
    "[*]<h3>".$riga[1]."</h3><ul>");
                        
    $macro=$riga[0];
                        
    $queryseconda=oci_parse($c,"select m.cod_macro livello1, 
                                                            fu.des_funzione des_livello2
                                                    from con_macro m, con_menu me, con_funzioni fu
                                                    where m.cod_macro = me.cod_macro and
                                                            me.cod_funzione = fu.cod_funzione and m.cod_macro='
    $macro'
                                                    order by m.ordine,me.ordine"
    );
                        
    oci_execute($queryseconda);
                        
    $i=1;
                        while ((
    $row=oci_fetch_array($querysecondaOCI_NUM OCI_RETURN_NULLS))){
                            echo (
    '[*][url="prova_menu'.$j.'_'.$i.'.php"]'.$row[1].'[/url]');
                            
    $i++;
                        }
                        
    #echo('<ul>');
                            #echo('[*][url="#"]CSS[/url]');
                            #echo('[*][url="#"]Javascript[/url]');
                            #echo('[*][url="#"]DOM[/url]');
                            #echo('[*][url="#"]PHP[/url]');
                        #echo('[/list]');
                        
    echo('[/list]');
                        
    $j++;
                    }
                    
    ?>
                [/list]
            </div>
        </body>
    </html>
    Vi allego anche il codice del javascript...
    codice:
    var prev= null;
    
    window.onload=function(){
    if(document.getElementsByTagName && document.getElementById){
        document.getElementById("nav").className="jsenable";
        BuildList();
        }
    }
    
    function BuildList(){
    var hs=document.getElementById("nav").getElementsByTagName("h3");
    for(var i=0;i<hs.length;i++){
        hs[i].onclick=function(){
            if(this.parentNode.className!="show"){
                this.parentNode.className="show";
                if(prev && prev!=this.parentNode) prev.className="hide";
                prev=this.parentNode;
                }
            else this.parentNode.className="hide";
            }
        }
    }
    Spero che qualcuno mi risponderà...
    Grazie

    Sara

  2. #2
    Utente di HTML.it L'avatar di izzusan
    Registrato dal
    Apr 2003
    Messaggi
    463
    buon dì;

    ti sono proprio necessari i frame?

    se no ti conviene fare una pagina di mezzo ke rimane invisibile, ossia

    quando clicchi entra fai una pagina controllo.php

    dove controlli user e psw se è tutto ok vai alla pagina con i frame ecc ecc

    se no torni indietro al login

    per i link devi portarti avanti i dati utente magari inserendoli in variabili di sess e cosi fai un controllo se $_session == utente1 allora menu1 menu2

    ecc ecc

    questa è la soluzione ke mi viene in mente se ti serve codice dimmelo

  3. #3
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Direi che con questo problema hai proprio dato una dimostrazione di perché è meglio evitare i frame!

    La tua form non ti manda a frame1.php, ma a bianca.php (guarda la action del file).
    Per gestire il login e poi andare ad una pagina con frame ti consiglierei una pagina intermedia per gestire l'autenticazione che poi faccia un redirect alla pagina con i frame (ma ti servono davvero?????).

  4. #4
    Originariamente inviato da izzusan
    buon dì;

    ti sono proprio necessari i frame?

    se no ti conviene fare una pagina di mezzo ke rimane invisibile, ossia

    quando clicchi entra fai una pagina controllo.php

    dove controlli user e psw se è tutto ok vai alla pagina con i frame ecc ecc

    se no torni indietro al login

    per i link devi portarti avanti i dati utente magari inserendoli in variabili di sess e cosi fai un controllo se $_session == utente1 allora menu1 menu2

    ecc ecc

    questa è la soluzione ke mi viene in mente se ti serve codice dimmelo
    Sono d'accordo con lui. Ti conviene creare la pagina controllo.php che, appunto, controlla le variabili

  5. #5
    I frame mi servono perchè graficamente voglio lasciare il menu fisso sulla sinistra, l'intestazione in alto e far viariare il contenuto all'interno della pagina.
    Per quanto riguarda la pagina di controllo intermedia ok...ma come funziona il redirect???
    E un'altra cosa...come faccio a rendere solo alcune voci del menu selezionabili???
    Sto impazzendo, ci sono un sacco di pagine e io non so veramente come fare per tirarmene fuori!!!

    Ah...un'altra cosa....come si chiude una sessione??? E quando devo chiuderla??? Alla fine di tutto???

  6. #6
    Utente di HTML.it L'avatar di Luke70
    Registrato dal
    Jul 1999
    Messaggi
    767
    Originariamente inviato da Saretta883
    I frame mi servono perchè graficamente voglio lasciare il menu fisso sulla sinistra, l'intestazione in alto e far viariare il contenuto all'interno della pagina.
    Per quanto riguarda la pagina di controllo intermedia ok...ma come funziona il redirect???
    E un'altra cosa...come faccio a rendere solo alcune voci del menu selezionabili???
    Sto impazzendo, ci sono un sacco di pagine e io non so veramente come fare per tirarmene fuori!!!

    Ah...un'altra cosa....come si chiude una sessione??? E quando devo chiuderla??? Alla fine di tutto???

    Non usare i frame, ma un sistema di template (meglio se semplicissimo tipo http://phpsavant.com/)

    Se non sai usare un redirect forse c'è qualche problemino per realizzare un login efficace e sicuro.

  7. #7
    Utente di HTML.it L'avatar di izzusan
    Registrato dal
    Apr 2003
    Messaggi
    463
    direi di si...

    un altra cosa senza usare i frame puoi utilizzare jquery riesci avere lo stesso effetto senza usare i frame ke nn si usano + da mo.

    x distruggere una sessione:

    http://forum.html.it/forum/showthread/t-646147.html

    google è sempre la migliore risorsa:

  8. #8
    Utente di HTML.it L'avatar di izzusan
    Registrato dal
    Apr 2003
    Messaggi
    463
    es login

    Codice PHP:

                        <h4>Login</h4>
            

    Inserisci nome utente e password.
    <?php if($errore != NULL) print "errore. Login errato" ?></p>

         <form id="modulo" method="post" name="post" action="controllo.php">
                    
                    Nome utente*: 

                    <input name="login" id="email" type="text" class="input" size="33" /> 


                    Password*: 

                    <input name="password" type="password" id="password" class="input" size="33" /> 


                                <input type="submit" name="Inserisci" value="Invia" class="submit" />
                                <input type="reset" name="reset_campi" value="Reimposta" class="bottone" />

                      
                       </form>
    es controllo

    Codice PHP:

        
    @$user str_replace("'","'",$_POST["login"]);
        @
    $psw str_replace("'","'",$_POST["password"]);
       
        
    $query "select * from login_lovers where login = '" $user "' AND password = '" .$psw"'";
        
    $result=mysql_query($query);
        
    $row=mysql_fetch_array($result);

    if (
    $row["login"] == $user && $row["password"] == $psw && $user != null && $psw !=  null ){

        
    $_SESSION["login"] = $row["id_login_lovers"];
        @
    header("Location: intro.php");
        exit;
            

    elseif (
    $user == "xxx@xxx.net" && $psw == "xxx" && $user != null && $psw !=  null){


        @
    header("Location: aspetto_dettaglio.php");
        exit;
            

    else{

        @
    header("Location: login.php?errore=login");
        exit;
            
    }


    ?> 

  9. #9
    Grazie a tutti...ora faccio qualche prova e poi vi faccio sapere!!!

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.