Visualizzazione dei risultati da 1 a 3 su 3

Discussione: login

  1. #1

    login

    Il sito e' strutturato in questo modo:

    La pagina index.php e' quella principale e contiene in uframe per il menu eil form per il login e un iframe per le altre pagine. Il codice e' questo:

    Codice PHP:
    <html>
    <
    head>
    <
    title>Studio Pittura Puani</title>
    </
    head>
    <
    body>
    <
    iframe name="menu" style="position:absolute; left:9px; top:5px; width:882px; height:200px; z-index:1" src="pages/menu/menu.php" frameborder="0"></iframe>
    <
    iframe name="contents" style="position:absolute; left:9px; top:200px; width:882px; height:538px; z-index:1" src="pages/contents/news.php" frameborder="0"></iframe>
    </
    body>
    </
    html
    La pagina menu.php che viene richiamata nel primo iframe e' questa:

    Codice PHP:
    <?php
    session_start
    ();
    ?>
    <html>
    <head>
    <title>Studio Pittura Puani</title>
    <script language="javascript">
    function refresh() { 
        var current = parent.contents.location.href;
        parent.contents.location.href = current; 
        setTimeout("refresh()", 1000000); 
    }
    </script>
    </head>
    <body>
    [url="../contents/news.php"]News[/url]
    [url="../contents/gallery.php"]Gallery[/url]
    [url="../contents/biografia.php"]Biografia[/url]
    [url="../contents/studio.php"]Studio[/url]
    [url="../contents/contatti.php"]Contatti[/url]
    <?php
    if(isset($_POST['login'])) {
        include(
    "../config/config.inc.php");
        
    $select "SELECT * FROM login";
        
    $setselect mysql_db_query($db_name$select) or die (mysql_errno ": " mysql_error() . "\n");
        
    $num mysql_num_rows($setselect);
        if(
    $num == 1) {
            
    $user mysql_result($setselect0"user");
            
    $pwd mysql_result($setselect0"pwd");
            
    $current_user $_POST['user'];
            
    $current_pwd $_POST['password'];
            
    session_register('autorizzato');
            if(
    $user == $current_user && $pwd == $current_pwd) {
                
    $_SESSION["autorizzato"] = 1;
                
    $destinazione "../contents/login.php";
            } else {    
                
    $_SESSION["autorizzato"] = 0;
                
    $destinazione "../contents/error.php";
            }
            echo 
    '<script language="javascript">refresh();</script>';
            echo 
    '<script language=javascript>document.location.href="'.$destinazione.'"</script>';
        } else {
            echo(
    "errore nel database");
        }
    } else {
        
    ?>
        


        <form name="login" action="menu.php" method="post">
        User:

        <input name="user" type="text" size="15" maxlength="20">

        Password:

        <input name="password" type="password" size="15" maxlength="20">


        <input type="submit" name="submit" value="login">
        <input type="reset" name="reset" value="reset">
        <input type="hidden" name="login">
        </form>
        <?php
    }
    ?>
    </body>
    </html>
    Nel codice ho pensato di inserire un controllo in javascript per verificare il valore della variabile di sessione e quindi far visualizzare nella corrente pagina dell'iframe i privilegi del login.
    Se il login ha avuto successo richiama la seguente pagina:

    Codice PHP:
    <?php
    session_start
    ();
    if(isset(
    $_POST['logout'])) {
        
    $_SESSION['autorizzato'] = 0;
        echo 
    '<script language=javascript>document.location.href="../menu/menu.php"</script>';
    } else {
        
    ?>
        <html>
        <head>
        <title>Studio Pittura Puani</title>
        </head>
        <body>
        [url="news.php"]News[/url]
        [url="gallery.php"]Gallery[/url]
        [url="biografia.php"]Biografia[/url]
        [url="studio.php"]Studio[/url]
        [url="contatti.php"]Contatti[/url]


        <form action="login.php" method="post">

        <input type="submit" name="submit" value="logout">
        <input type="hidden" name="logout">
        </form>

        <?php
    }
    ?>
    </body>
    </html>
    In questo caso non ho inserito il controllo javascript per il refresh ma anche inserendolo non produce risultati. Se il login non ha avuto successo richiama la pagina error.php che ridireziona alla pagina principale. Il codice e' questo:

    Codice PHP:
    <?php
    session_start
    ();
    session_unset();
    session_destroy();
    ?>
    <script language="javascript"> 
        var current = parent.contents.location.href;
        parent.contents.location.href = current; 
        document.location.href = "../menu/menu.php";
    </script>
    Infine una pagina di prova che viene caricata nel secondo iframe e' questa:

    Codice PHP:
    <?php
    session_start
    ();
    ?>
    <html>
    <head>
    <title>Studio Pittura Puani</title>
    </head>
    <body>
    <?php
    if($_SESSION['autorizzato'] = 1) {
     echo 
    'sei loggato';
    }
    if(
    $_SESSION['autorizzato'] = 0) {
        echo 
    'non sei loggato';
    }
    ?>
    </body>
    </html>
    So che il problema che vi presento e' un po' complesso da individuare comunque vi chiedo: dove sbaglio ? cosa devo fare per far funzionare correttamente il login visualizzando nell'iframe le giuste righe di codice (possibilmente senza richiamare un'altra pagina ma utilizzando la stessa) ?

    Grazie a tutti.

  2. #2
    ritornando al problema del login ho appurato che con i frames funziona pero' sono molto scomodi per una grafica decente. Qualcuno sa consigliarmi qualcosa ? E' possibile utilizzare i frame (e quindi far funzionare il login) bloccandoli per evitare che si ridimensionino ad ogni ridimensionamento della finestra ? oppure e' meglio scartare i frames e usare qualche altra risorsa che pero' non mi dia problemi con il login ?

  3. #3
    Originariamente inviato da Rei Ayanami
    oppure e' meglio scartare i frames e usare qualche altra risorsa che pero' non mi dia problemi con il login ?
    scarta i frames, sono a dir poco obsoleti. usa CSS e XHTML.
    però per questo ti conviene spostarti nelle sezioni apposite di questo forum.



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.