Visualizzazione dei risultati da 1 a 4 su 4

Discussione: [PHP] header refresh

  1. #1

    [PHP] header refresh

    ciao a tutti... sono di nuovo qui a chiedere consigli.
    Sto facendo la parte del login con la guida: Gestire gli utenti con PHP
    solo che voglio strutturare la cosa su 2 frame... uno (topFrame) in alto dove metterò il form per il login e il menu con le opzioni che l'utente potrà fare, e il secondo in basso (mainFrame) dove uscriranno i messagi o gli eventuali form per amministrare il db.

    Quindi io ho la necessità lanciando uno script su un frame di scrivere sull'altro...
    per ora ho messo nel topFrame:
    codice:
    <form action="login.php<?=$accodaId?>" method="post"  target="mainFrame">
    La pagina login.php (non ho ancora apportato tutte le modifiche) è così:
    Codice PHP:
    <?
    include("../incPhp/auth.lib.php");
    include(
    "../incPhp/config.php");
    include (
    "../incPhp/top_foot.inc.php");
    $str "";
    top($str);

    list(
    $status$user) = auth_get_status();

    if(
    $status == AUTH_NOT_LOGGED){
        
    $uname strtolower(trim($_POST['uname']));
        
    $passw strtolower(trim($_POST['passw']));

        if(
    $uname == "" or $passw == ""){
            
    $status AUTH_INVALID_PARAMS;
        }else{
            list(
    $status$user) = auth_login($uname$passw);
            if(!
    is_null($user)){
                list(
    $status$uid) = auth_register_session($user);
            }
        }
    }

    switch(
    $status){
        case 
    AUTH_LOGGED:
            
    //header("Refresh: 5;URL=log_menu.php");
            //$str = "";
            //top($str);
            
    echo '<div align="center">Sei gia connesso!</div>';
        break;
        case 
    AUTH_INVALID_PARAMS:
            
    /* Reindirizzamento: 
            header("Refresh: 5;URL=log_menu.php");
            $str = "";
            top($str);*/
            
    echo '<div align="center">Hai inserito dati non corretti.</div>';
        break;
        case [
    COLOR=red]AUTH_LOGEDD_IN:[/COLOR]
            switch(
    auth_get_option("TRANSICTION METHOD")){
                case 
    AUTH_USE_LINK:
                    
    header("Refresh: 5;URL=home.php?uid=".$uid);
                    
    $str "";
                    
    top($str);
                break;
                case 
    AUTH_USE_COOKIE:
                    
    header("Refresh: 5;URL=home.php");
                    
    $str "";
                    
    top($str);
                    
    setcookie('uid'$uidtime()+3600*365);
                break;
                case 
    AUTH_USE_SESSION:
                    
    header("Refresh: 5;URL=home.php");
                    
    $str "";
                    
    top($str);
                    
    $_SESSION['uid'] = $uid;
                break;
            }
            echo 
    '<div align="center">Ciao '.$user['name'].'.</div>';
        break;
        case 
    AUTH_FAILED:
            
    /*header("Refresh: 5;URL=home.php");
            $str = "";
            top($str);*/
            
    echo '<div align="center">Fallimento durante il tentativo di connessione.</div>';
        break;
    }

    foot();
    //chiusura connessione DB
    mysql_close($conn);
    ?>
    Quindi i messaggi tipo "già connesso", "Errore dati", "fallimento" me li scrive in mainFrame...e così va bene.
    Però vorrei che quando il log va bene (quindi AUTH_LOGEDD_IN=true) in mainFrame esca "Ciao nome" e intanti fare il refresh del menu nel topFrame in modo da testare i permessi e ricostruire il menu a seconda dell'utente.
    come posso fare??

    Spero di essere stata un pochino chiara...
    GRAZIE 1000 a TUTTI
    :tongue:

  2. #2

    allora... non si può???

    Vi prego ripondetemi: si può scrivere su un determinato frame(2) essendo posizionati su un altro frame(1)??

    tipo dargli nel frame "1":
    header(Refresh:5; URL=...;TARGET=2)

    o se esiste un'altro modo.... per fare qualcosa di simile??
    :tongue:

  3. #3
    specificare un target nell'header assolutamente non è possibile, avevo anche io lo stesso problema e come puoi vedere non ho avuto risposte consolanti: http://forum.html.it/forum/showthrea...hreadid=887653


    io ho risolto la cosa lato client usando un redirect in js, ma a me serviva un redirect che si vedesse a tutta pagina, specificando un determinato frame non so come lo puoi fare, comunque prova a chiedere in scripting che sicuramente qualcosa troveranno.

    Questa è la discussione che ho seguito io in scipting se ti può servire: http://forum.html.it/forum/showthrea...hreadid=897985







    Talvolta anche una persona apparentemente inutile si rivela un abile samurai dalla forza di mille uomini, dimostrando di poter rinunciare alla vita e che il suo cuore si è completamente identificato con quello del suo padrone

  4. #4

    Grazie 1000

    Avevo trovato questo:
    http://forum.html.it/forum/showthrea...ighlight=frame

    ma non saprei implementarlo allo script php...

    Io adesso ho il codice così:
    Codice PHP:
    case AUTH_USE_COOKIE:
        
    header("Refresh: 5;URL=home.php;");
        
    $str "";
        
    top($str);
        
    setcookie('uid'$uidtime()+3600*365);
        break; 
    posso sostituire l'header con l'echo ("<script...>"); o devo fare qualcos'altro... nn mi viene in mente nulla...
    help!!
    :tongue:

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.