Visualizzazione dei risultati da 1 a 3 su 3
  1. #1
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    86

    Aiuto per snellire un codice...

    Salve

    vi chiedo una mano per rendere un pò più "snello" il mio codice..

    ho creato una area ad accesso riservato utilizzando le sessioni e tutto funziona con o senza cookie attivati, il problema è che

    data la mia inesperienza mi sa che ho creato un codice un pò pesante..

    ve lo posto così magari vedete se potete darmi una mano a snellirlo;
    in particolare vorrei snellire il codice della pagina Guild.php nella quale, per come ho impostato o le cose, devo inserire ben due volte il codice della pagina protetta, la prima volta quando all'inizio controllo se la funzione sia già stata avviata (mi serve nel caso avessi già avviato la sessione e tornassi indietro a questa pagina) e la seconda nel caso invece la sessione sia da creare per la prima volta..

    login.php
    -----------------
    Codice PHP:
    <?php
    require ('top.inc')
    ?>

    <table width="500" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
         <tr>
             <td>
              <form method="post" action="Guild.php">
             
                <div align="center"><span class="Stile1">

                USERID: </span><input name="userid" type="text" size="20">
                
                <span class="Stile1"> 
                PASSWORD:</span><input type="password" name="password" size="20">

                 <input type="submit" value="Login" name="submit" />
                </div>
              </form></td>
    </tr> </table>


    <?php
    require ('bottom.inc');
    ?>
    Guild.php (questa sarebbe la parte che vorrei snellire..)
    -------------------------
    Codice PHP:
    <?php

    // Abilito le sessioni
    session_start();

    // Come prima cosa verifico se la sessione è già attivata e se ha il valore giusto (ad es se sto tornando indietro da un'altra pagina avendo già attivato la sessione la prima volta che 
    // sono passato per questa pagina dal login); se la sessione esiste già, visualizzo la pagina protetta, se no procedo con lo script.
    if (isset($_SESSION['autorizzazione']) ||$_SESSION['autorizzazione'] == 1) {

    Corpo pagina protetta
    br
    >



    <
    div align='center'>[url="PAG1.php?<?= SID ?>"]PAG1[/url]</div>
       





    <
    div align='center'>[url="Logout.php?<?= SID ?>"]LOGOUT[/url]</div>


    }

    // se la sessione non esiste vuol dire che è la prima volta che accedo a questa pagina quidi devo verificare che l'utente ci arrivi dal login con le giuste credenziali;
    else  {

    header('Cache-Control: Private');

    // Creo la funzione che stabilirà se un utente ha le credenziali di accesso o meno
    function check_user($usr,$pws) {
    $textfile fopen("utenti.txt""r");

    while ( 
    $rigafile fgets($textfile,1024) ) {
    $campiriga explode("|"$rigafile);
    $file_username $campiriga[4];
    $file_password $campiriga[5];
    if ((
    $file_username == $usr) && ($file_password == $pws)) {
    return 
    0;
    }
    }
    return 
    1;
    fclose($textfile);
    }


    // Controllo che UserID e Password siano corretti;
    // se lo sono vai setto una sessione e do alla variabile autorizzazione il valore 1 e mostro la pagina, se non sono corretti 

    visualizzo "non sei autorizzato ad entrare in quest'area"
    $password $_POST["password"];
    $username $_POST["userid"];

    if (
    check_user($username,$password)) {
      
    require (
    'top.inc');
    echo 
    "<div align='center'>Non sei autorizzato ad entrare in quest'area</div>

          <div align='center'>Torna alla pagina di <a href=login.php>login</a></div>"
    ;
    require (
    'bottom.inc');
    }


    else {

    $_SESSION['autorizzazione']=1;

    Corpo pagina protetta
    br
    >



    <
    div align='center'>[url="PAG1.php?<?= SID ?>"]PAG1[/url]</div>
       





    <
    div align='center'>[url="Logout.php?<?= SID ?>"]LOGOUT[/url]</div>


    }
    }

    ?>
    PAG1.php
    ------------------------------

    Codice PHP:
    <?php

    session_start
    ();

    if (isset(
    $_SESSION['autorizzazione']) ||$_SESSION['autorizzazione'] == 1){

    require (
    'top.inc');
    ?>

    <html>
    <div align='center'>Corpo della prima pagina protetta</div>

    <div align='center'>Torna alla pagina di [url="Guild.php?<?= SID ?>"]precedente[/url]</div>   
    </html>

    <?php
    require ('bottom.inc');
    }

    else {
    require (
    'top.inc');
    ?>

    <html>
    <div align='center'>Non sei autorizzato ad entrare in questa area</div>

    <div align='center'>Torna alla pagina di <a href=login.php>login</a></div>
    </html>

    <?php
    require ('bottom.inc');

    In definitiva, posso in qualche modo semplificare il codice di Guild.php?

    Grazie mille a tutti per la pazienza e l'aiuto che date ai novellini come me..

  2. #2
    Utente di HTML.it
    Registrato dal
    Aug 2009
    Messaggi
    114
    Al dil a del fatto che non sono un estimatore del codice html dentro al php... guild.php mi sembra sufficientemente chiaro e immediato.

    Considera che uno script non è snello quando è corto, ma quanto è comprensibile ed efficiente.
    Io per esempio memorizzerei le utenze in db e via dicendo, ma il tuo script è sufficientemente commentato e ordinato.

    Semmai dovresti rivedere un po il css e l'html. Vedo per esempio che stampi tanti "
    " che potresti tranquillamente eliminare lavorando sugli stili css.

    Gabriele

  3. #3
    Utente di HTML.it
    Registrato dal
    Jan 2005
    Messaggi
    86
    Salvare gli utenti in un DB sarà il prossimo passo che avevo in mente, ma prima devo studiarmi un pò meglio MySQL..

    Quello che mi interessava era sapere se esiste un modo di poter scrivere una sola volta il corpo della pagina principale senza creare una serie di condizioni if-else successive.

    Grazie mille per l'aiuto

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 © 2024 vBulletin Solutions, Inc. All rights reserved.