• User Attivo

    ciao, ho provato come mi hai detto
    [PHP]
    if(isset($_SESSION['username']))
    [/PHP]
    in questo modo riesco a vedere la pagina successsiva al login,
    però c'è un problema,
    ti spiego meglio
    ho la pagina login.php, dove m trovo davanti i campi da riempire
    Username e Password
    una volta scritto i dati correttamente dovrei vedere la pagina menu.php
    fin qua ci siamo, però se tento di andare in modo diretto a menu.php
    senza passare per la pagina di login.php riesco a farlo comunque.
    Il mio problema è proprio questo
    Ciò che voglio fare è quello di mandare un messaggio se qualcuno tenta di accedere alle pagine di amministrazione senza passare per il login

    penso di essere stato chiaro

    ciao e grazie da danny


  • User Attivo

    ciao, ho risolto facendo così e funziona
    avevo scritto
    questa parte
    if($dati=mysql_fetch_array($result,MYSQL_ASSOC))
    però a dati non avevo assegnato nessun valore
    ed ho rimediato così
    $username=$dati['user'];
    $password=$dati['pwd'];
    $_SESSION['username']=isset($_POST['username']);
    $_SESSION['password']=isset($_POST['password']);

    fortunatamente funziona, però non rimando indietro soluzioni migliori

    ciao da danny


  • User Attivo

    Ciao ragazzi, che casino
    dopo aver fatto l'ultima modifica, andava bene
    ma quando aprivo le altre pagine di amministrazione del sito
    mi dava un errore, allora ho inserito il codice
    [PHP]
    <?php
    session_start();
    if(!isset($_SESSION['username']))
    {
    $messaggio=urlencode("Ti consiglio di autenticarti");
    header('location:'.'watch/accept.php'.'?msg='.$messaggio);
    exit;
    }
    ?>
    [/PHP]
    nelle altre pagine di amministrazione
    ma adesso ricevo il seguente errore

    
    **Notice**: A session had already been started - ignoring session_start() in **c:\programmi\easyphp1-8\www\gestione\menu.php** on line **2**
    
    

    che tradotto

    
    Avviso: Una sessione era già stato iniziato - ignorando session_start () in c: \ programmi \ easyphp1-8 \ www \ gestione \ menu.php on line 2
    
    

    potete dirmi come faccio ad evitare questo errore?

    grazie


  • ModSenior

    c'è session_start ripetuto 2 volte, come dice l'errore...


  • User Attivo

    @Thedarkita said:

    c'è session_start ripetuto 2 volte, come dice l'errore...

    ciao, come posso evitare questo errore?

    grazie


  • ModSenior

    toglierne 1?


  • User Attivo

    @Thedarkita said:

    toglierne 1?

    l'hai scritto come se fosse una cosa semplice:o

    se tolgo la sessione da menu.php l'errore svanisce, però posso visualizzare la pagina menu.php anche saltando la pagina di login, cosa non bene per il sito

    sto usando le sessioni proprio per questo, per far si che qualche cattivello non possa accedere in modo diretto alle pagine di amministrazione, costringendolo a passare per il login

    ciao


  • ModSenior

    Aggiungere un file config.php in cui mettere la session_start in modo che venga aperta la sessione su tutti i file 1 volta sola?


  • User Attivo

    @Thedarkita said:

    Aggiungere un file config.php in cui mettere la session_start in modo che venga aperta la sessione su tutti i file 1 volta sola?

    mmhh! il problema sembra essere uguale
    penso di aver capito cosa tu voglia dirmi e lo fatto
    ho messo 2 file config. e connect.php
    connect.php
    [PHP]<?php
    session_start();
    require'Config.php';
    $link=mysql_connect($db_host,$db_user,$db_password);
    if(!$link)
    {
    die("Non riesco a connettermi:".mysql_error());
    }
    $db_selected=mysql_select_db($db_name,$link);
    if(!$db_selected)
    {
    die("Errore nella selezione del database:".mysql_error());
    }
    ?>[/PHP]

    menu.php
    [PHP]<?php
    require 'Config.php';
    require 'Connect.php';
    if(!isset($_SESSION['username']))
    {
    $messaggio=urlencode("Ti consiglio di autenticarti");
    header('location:'.'watch/accept.php'.'?msg='.$messaggio);
    exit;
    }
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta name="GENERATOR" content="Microsoft FrontPage 5.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Pannello di controllo Area principale</title>
    </head>
    <body>
    <div align="center">
    <table border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse" bordercolor="#111111" width="605" height="79" id="AutoNumber1">
    <tr>
    <td width="34" height="79" rowspan="3">
    <img border="0" src="immages/active_curva_sx.gif" width="33" height="93"></td>
    <td width="270" height="6" colspan="3">
    <img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
    <td width="299" height="6" colspan="3">
    <img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
    <td width="99" height="36" rowspan="3">
    <img border="0" src="immages/active_curva_dx.gif" width="33" height="94"></td>
    </tr>
    <tr>
    <td width="76" height="65" valign="top" bgcolor="#FFFFFF">
    <a href="app_scelta_articolo.php">
    <img border="0" src="immages/articolo.gif" width="90" height="68"></a></td>
    <td width="76" height="65" valign="top" bgcolor="#FFFFFF">
    <a href="app_scelta_categoria.php">
    <img border="0" src="immages/categoria.gif" width="90" height="68"></a></td>
    <td width="91" height="65" valign="top" bgcolor="#FFFFFF">
    <a href="app_eye_contatto.php">
    <img border="0" src="immages/contatto.gif" width="90" height="68"></a></td>
    <td width="9" height="65" valign="top" bgcolor="#FFFFFF">
    <a href="app_eye_ordine.php">
    <img border="0" src="immages/ordine.gif" width="90" height="68"></a></td>
    <td width="22" height="65" valign="top" bgcolor="#FFFFFF">
    <img border="0" src="immages/newsletter.gif" width="90" height="68"></td>
    <td width="107" height="65" valign="top" bgcolor="#FFFFFF">
    <img border="0" src="immages/banner.gif" width="90" height="68"></td>
    </tr>
    <tr>
    <td width="270" height="7" colspan="3"> <img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
    <td width="299" height="7" colspan="3">
    <img border="0" src="immages/active_linea.gif" width="270" height="11"></td>
    </tr>
    </table>
    </div>
    </body>
    </html>[/PHP]

    app_scelta_categoria.php
    [PHP]
    <?php
    require 'Config.php';
    require 'Connect.php';
    if(!isset($_SESSION['username']))
    {
    $messaggio=urlencode("Ti consiglio di autenticarti");
    header('location:'.'watch/accept.php'.'?msg='.$messaggio);
    exit;
    }
    ?>
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional/">
    <html>
    <head>
    <title>Pannello di controllo Inserimento nuova categoria</title>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
    </head>
    <body>
    <?
    include('menu.php');
    ?>
    <br>
    <?
    include('Categoria/frm_categoria.php');
    ?>
    </body>
    </html>
    [/PHP]

    penso di aver capito bene

    mica il problema sta nel fatto che quando richiamo app_scelta_categoria.php richiamo menu.php?


  • ModSenior

    usa require_once


  • User Attivo

    @Thedarkita said:

    usa require_once

    Thedarkita, non so come ringraziarti, però vorrei sapere cosa c'è di diverso tra require e require_once

    grazie ancora


  • ModSenior

    require_once include il file 1 volta(se hai già incluso non lo include un altra volta), mentre require lo include sempre.