Aiuto per snellire un codice...

  • Creatore Discussione Creatore Discussione robysdc
  • Data di inizio Data di inizio

robysdc

Nuovo Utente
15 Nov 2008
21
0
0
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
-----------------
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"><br />
            USERID: </span><input name="userid" type="text" size="20">
            &nbsp;&nbsp;&nbsp;
            <span class="Stile1"> 
            PASSWORD:</span><input type="password" name="password" size="20"><br>
             <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..)
-------------------------
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><br><br><br><br><div align='center'><a href="PAG1.php?<?= SID ?>">PAG1</a></div><br>   
<br><br><br><br><br><div align='center'><a href="Logout.php?<?= SID ?>">LOGOUT</a></div><br>

}

// 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><br>
      <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><br><br><br><br><div align='center'><a href="PAG1.php?<?= SID ?>">PAG1</a></div><br>   
<br><br><br><br><br><div align='center'><a href="Logout.php?<?= SID ?>">LOGOUT</a></div><br>

}
}

?>

PAG1.php
------------------------------

PHP:
<?php

session_start();

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

require ('top.inc');
?>

<html>
<div align='center'>Corpo della prima pagina protetta</div><br>
<div align='center'>Torna alla pagina di <a href="Guild.php?<?= SID ?>">precedente</a></div>   
</html>

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

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

<html>
<div align='center'>Non sei autorizzato ad entrare in questa area</div><br>
<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..
 

Discussioni simili