• User Attivo

    Nel file accept, prova cosi:

    <?php
    $msg=$_GET['msg'];
    switch($msg){
    case 1:
    echo "Non hai inserito una username corretta";
    break;
    case 2:
    echo"Non hai inserito una password corretta";
    break;
    default:
    echo"Errore non identificato";
    break;
    }
    ?>

    E nel file login2.php, modificare questa stringa:
    if($username=="")
    {
    $messaggio=urlencode("Non hai inserito la user");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }
    if($password=="")
    {
    $messaggio=urlencode("Non hai inserito la pass");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }
    Cosi:

    if($username=="")
    {
    echo" <script type="text/javascript">
    <!--
    function doRedirect() {
    location.href = "accept.php?msg=1";
    }
    window.setTimeout("doRedirect()", 10); //Fa partire il redirect dopo tot. secondi
    //-->
    </script>";

    exit;
    

    }
    if($password=="")
    {

    echo" <script type=\"text/javascript\">
    

    <!--
    function doRedirect() {
    location.href = "accept.php?msg=2";
    }
    window.setTimeout("doRedirect()", 10); //Fa partire il redirect dopo tot. secondi
    //-->
    </script>";
    exit;
    }


  • User Attivo

    @ilnetsurfer said:

    Nel file accept, prova cosi:

    <?php
    $msg=$_GET['msg'];
    switch($msg){
    case 1:
    echo "Non hai inserito una username corretta";
    break;
    case 2:
    echo"Non hai inserito una password corretta";
    break;
    default:
    echo"Errore non identificato";
    break;
    }
    ?>

    E nel file login2.php, modificare questa stringa:
    if($username=="")
    {
    $messaggio=urlencode("Non hai inserito la user");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }
    if($password=="")
    {
    $messaggio=urlencode("Non hai inserito la pass");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }
    Cosi:

    if($username=="")
    {
    echo" <script type="text/javascript">
    <!--
    function doRedirect() {
    location.href = "accept.php?msg=1";
    }
    window.setTimeout("doRedirect()", 10); //Fa partire il redirect dopo tot. secondi
    //-->
    </script>";

    exit;
    }
    if($password=="")
    {

    echo" <script type="text/javascript">
    <!--
    function doRedirect() {
    location.href = "accept.php?msg=2";
    }
    window.setTimeout("doRedirect()", 10); //Fa partire il redirect dopo tot. secondi
    //-->
    </script>";
    exit;
    }

    Ciao, ho fatto come mi hai chiesto
    ma a cambiare sono soli i messaggi
    cmq non riesco a passare il login
    forse qualche errore nelle sessioni?

    grazie e ciao


  • User Attivo

    ok, ho risolto, adesso potreste farmi capire come faccio ad evitare
    a qualche mascalzoncello di visitare direttamente una pagina che si trova dopo il login?

    vi spiego

    esempio:pagina di login
    una volta inserita la user e la pwd mi manda in prima.php
    adesso vorrei evitare che qualcuno vada direttamente in prima.php
    senza prima aver fatto il login, indirizzandolo di nuovo alla pagian di login.php

    ecco il codice[PHP]
    session_start();
    //richiamo il file di configurazione
    require 'Config.php';
    //richiamo il file di connessione
    require 'Connect.php';

    if(isset($_POST['txtuser']))
    {
    $username=$_POST['txtuser'];
    $password=$_POST['txtpassword'];

    if($username=="")
    {
    $messaggio=urlencode("Non hai inserito la user");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }
    if($password=="")
    {
    $messaggio=urlencode("Non hai inserito la pass");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }

    //$password = md5($pwd);
    $query="select * from plimun where user='$username' AND pwd='$password'";
    $result=mysql_query($query)or die(mysql_error());
    if($dati=mysql_fetch_array($result,MYSQL_ASSOC))
    {
    $_SESSION['valid_user']=isset($_POST['username']);
    $_SESSION['valid_pass']=isset($_POST['password']);
    $_SESSION['valid_time']=time();
    header('location:'.'../menu.php');
    }
    else
    {
    $messaggio=urlencode("dati non corretti");
    header('location:'.'accept.php'.'?msg='.$messaggio);
    exit;
    }
    }
    [/PHP]

    poi ho altre 2 cose da dirvi
    in session valid_time va messo qualcosa?

    perchè quando cerco di criptare la pwd mi da errore?

    grazie a tutti


  • User Attivo

    ciao
    una è andata
    ho fatto così
    [PHP]if(isset($_SESSION['valid_user'])== 0)
    {
    $messaggio=urlencode("Ti consiglio di loggarti");
    header('location:'.'watch/accept.php'.'?msg='.$messaggio);
    exit;
    }[/PHP]

    potete aiutarmi sulle altre domande?

    grazie


  • User Attivo

    Rieccomi, un saluto a tutti
    sto facendo un casino, perchè pensavo di aver risolto, invece mi ritovo punto e a capo.
    vi ricordate del mio problema n.1?
    evitare che qualcuno possa vedere le pagine di amministrazione, senza prima essersi loggato.
    io ho scritto una cosa del genere nella pagina che dovrebbe apparire
    appena essermi loggato
    [PHP]
    if(isset($_SESSION['username'])== 0)
    {
    $messaggio=urlencode("Ti consiglio di autenticarti");
    header('location:'.'watch/accept.php'.'?msg='.$messaggio);
    exit;
    }
    else
    {
    //<div align='center'>
    echo"<table border='0' cellpadding='0' cellspacing='0' width='605' height='79'>";
    echo"<tr>";
    echo"<td width='34' height='79' rowspan='3'>
    <img border='0' src='immages/active_curva_sx.gif' width='33' height='93'></td>";
    echo"</tr>";
    echo"</table>";
    }
    [/PHP]

    quando provo a loggarmi mi da sempre lo stesso messaggio

    ti consiglio di autenticarti
    

    potreste farmi capire dove sta l'intoppo?

    grazie a tutti


  • User Attivo

    @danny1975 said:

    Rieccomi, un saluto a tutti
    sto facendo un casino, perchè pensavo di aver risolto, invece mi ritovo punto e a capo.
    vi ricordate del mio problema n.1?
    evitare che qualcuno possa vedere le pagine di amministrazione, senza prima essersi loggato.
    io ho scritto una cosa del genere nella pagina che dovrebbe apparire
    appena essermi loggato
    [php]
    if(isset($_SESSION['username'])== 0)
    {
    $messaggio=urlencode("Ti consiglio di autenticarti");
    header('location:'.'watch/accept.php'.'?msg='.$messaggio);
    exit;
    }
    else
    {
    //<div align='center'>
    echo"<table border='0' cellpadding='0' cellspacing='0' width='605' height='79'>";
    echo"<tr>";
    echo"<td width='34' height='79' rowspan='3'>
    <img border='0' src='immages/active_curva_sx.gif' width='33' height='93'></td>";
    echo"</tr>";
    echo"</table>";
    }
    [/php]quando provo a loggarmi mi da sempre lo stesso messaggio

    >ti consiglio di autenticarti
    >```potreste farmi capire dove sta l'intoppo?
     
    grazie  a tutti
    
    Prova cosi:
    if(isset($_SESSION['username']))

  • 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.