Piccolo problema di visualizzazione..

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

robysdc

Nuovo Utente
15 Nov 2008
21
0
0
Salve a tutti

approfitto ancora una volta della vostra competenza per sottoporvi un problemino che mi sta facendo penare un pò..

sono certo che per molti di voi la soluzione potrebbe sembrare scontata e mi scuso in anticipo, ma sono davvero agli inizi con il php...

ho creato una applicazione che consente di mostrare a video in una tabella il contenuto di un database testuale "utenti.txt" in modo da poter visualizzare ed all'occorrenza concellare o modificare le varie righe..

vi posto il codice:

utenti.txt
-------------------------
1|roberto|bianconi|roby@libero.it|roby|miniature|1.0 |Underdark|no
2|erik|pettinari|lillo75@gmail.com|lillo75|lillo|1.0 |Dragoneye|si

visualizza_old.php
---------
PHP:
<html>
<head>
<title>Miniature D&amp;D - Aberrations</title>
<meta name="description" content="Miniature D&D - Sito amatoriale creato per scambiare doppioni con altri appassionati ">
<meta name="keywords" content="miniature d&d, miniature, d&d, miniature dungeons and dragons, dungeons & dragons, scambio, minis, spoilers">
<META NAME="GOOGLEBOT" CONTENT="INDEX, FOLLOW">
<meta name="Robots" content="index,follow">
<META content="2 days" name=revisit-after>
<META http-equiv=Content-Language content=it>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<link rel="shortcut icon" href="http://myminiaturesite.altervista.org/immagini/Icona.ico" />
<link rel="icon" href="http://myminiaturesite.altervista.org/immagini/Icona.ico" />
<style type="text/css">
<!--
.Stile1 {
	color: #000000;
	font-weight: bold;
	font-size: 12px;
}
.Stile2 {color: #000000}
-->
</style>
<tr>
  <td>
<?php
require ('top.inc');
?>
</td>
   <td valign="top" background="immagini/Aberrations_r3_c1.jpg"><p align="center">&nbsp;</p>&nbsp;</p><table width="750" p align="center" border="0" cellpadding="0" cellspacing="0" bordercolor="#000000">
  
  <tr>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">ID</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">NOME</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">COGNOME</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">EMAIL</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">USERID</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">PASSWORD</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">VER</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">PREFERITO</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">COLLEZIONA</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">MODIF</span></div></td>
    <td bordercolor="#000000" bgcolor="#CCCCCC"><div align="left"><span class="Stile1">CANC</span></div></td>

  </tr>
  <tr>
    <td colspan="10"><?php
 $textfile=fopen("utenti.txt", "r");
 while ($rigafile=fgets($textfile,1024))  {
   $campiriga=explode("|", $rigafile);
   $idID=$campiriga[0];
   $idnome=$campiriga[1];
   $idcognome=$campiriga[2];
   $idmail=$campiriga[3];
   $iduserid=$campiriga[4];
   $idpassword=$campiriga[5];
   $idversione=$campiriga[6];
   $idpreferito=$campiriga[7];
   $idcontinua=$campiriga[8];

     echo "<tr><td>$idID</td> <td>$idnome</td> <td>$idcognome</td> <td>$idmail</td> <td>$iduserid</td> <td>$idpassword</td> <td>$idversione</td> <td>$idpreferito</td> <td>$idcontinua</td> <td><a href='admin.php?row=$idID&action=modifica'>modifica</a></td> <td><a href='admin.php?row=$idID&action=cancella'>cancella</a></td></tr>";
	

 }
 fclose($textfile);
?></td>
  </tr>
</table>

<table>
  <tr>

<?php
require ('bottom.inc');
?>
</tr>
</table>


</body>
</html>

so che la formattazione nn è il massino, ma così tutto funzionava..

le cose si sono complicate quando ho deciso di limitare l'accesso a questa area inserendo una pagina di login "manage.php" e modificando la pagina "visualizza.php" di conseguenza..

la limitzione dell'accesso nn mi crea problemi ma questa volta non riesco più a visualizzare tutte le righe del database di testo..

il ciclo si blocca alla prima riga senza visualizzare le altre, ma non mi riesce di capire perchè...

vi posto il codice:

manage.php
----------------
PHP:
<style type="text/css">
<!--
body,td,th {
	color: #FFFFFF;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 10px;
}
body {
	background-color: #000000;
}
a:link {
	color: #FFFF00;
}
a:visited {
	color: #FFFF00;
}
a:hover {
	color: #FFFF00;
}
a:active {
	color: #FF0000;
}
.Stile1 {color: #000000}
-->
</style>
<?php
require ('top.inc')
?>

<table width="500" border="0" align="center" cellpadding="0" cellspacing="0" bgcolor="#CCCCCC">
     <tr>
         <td>
          <form method="post" action="visualizza.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');
?>


visualizza.php
---------------
PHP:
<?php


$password = $_POST["password"];
$username = $_POST["userid"];

if (($password <> admin) && ($username <> admin)) {

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=manage.php>login</a></div>";
require ('bottom.inc');
}


else {
 

if (!isset($_COOKIE["admin_cookie"])) { setcookie("admin_cookie","ok",time()+60*30); };

require ('top.inc');


 $textfile=fopen("utenti.txt", "r");
 while ($rigafile=fgets($textfile,1024))  {
   $campiriga=explode("|", $rigafile);
   $idID=$campiriga[0];
   $idnome=$campiriga[1];
   $idcognome=$campiriga[2];
   $idmail=$campiriga[3];
   $iduserid=$campiriga[4];
   $idpassword=$campiriga[5];
   $idversione=$campiriga[6];
   $idpreferito=$campiriga[7];
   $idcontinua=$campiriga[8];


echo "
<html>
<head>
<title>Miniature D&amp;D - Aberrations</title>
<meta name=\"description\" content=\"Miniature D&D - Sito amatoriale creato per scambiare doppioni con altri appassionati \">
<meta name=\"keywords\" content=\"miniature d&d, miniature, d&d, miniature dungeons and dragons, dungeons & dragons, scambio, minis, spoilers\">
<META NAME=\"GOOGLEBOT\" CONTENT=\"INDEX, FOLLOW\">
<meta name=\"Robots\" content=\"index,follow\">
<META content=\"2 days\" name=revisit-after>
<META http-equiv=Content-Language content=it>
<meta http-equiv=\"Content-Type\" content=\"text/html; charset=iso-8859-1\">
<link rel=\"shortcut icon\" href=\"http://myminiaturesite.altervista.org/immagini/Icona.ico\" />
<link rel=\"icon\" href=\"http://myminiaturesite.altervista.org/immagini/Icona.ico\" />
<style type=\"text/css\">
<!--
.Stile1 {
	color: #000000;
	font-weight: bold;
	font-size: 12px;

.Stile2 {color: #000000}
-->
</style>
<tr>
  <td>

</td>
   <td valign=\"top\" background=\"immagini/Aberrations_r3_c1.jpg\"><p align=\"center\">&nbsp;</p>&nbsp;</p><table width=\"750\" p align=\"center\" border=\"0\" cellpadding=\"0\" cellspacing=\"0\" bordercolor=\"#000000\">
  
  <tr>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">ID</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">NOME</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">COGNOME</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">EMAIL</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">USERID</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">PASSWORD</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">VER</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">PREFERITO</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">COLLEZIONA</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">MODIF</span></div></td>
    <td bordercolor=\"#000000\" bgcolor=\"#CCCCCC\"><div align=\"left\"><span class=\"Stile1\">CANC</span></div></td>

  </tr>
  <tr>
    <td colspan=\"10\">

    <tr><td>$idID</td> <td>$idnome</td> <td>$idcognome</td> <td>$idmail</td> <td>$iduserid</td> <td>$idpassword</td> <td>$idversione</td> <td>$idpreferito</td> <td>$idcontinua</td> <td><a href='admin.php?row=$idID&action=modifica'>modifica</a></td> <td><a href='admin.php?row=$idID&action=cancella'>cancella</a></td></tr>


</td>
  </tr>

</table>


</body>
</html>
";

fclose($textfile);

require ('bottom.inc');

}
}
?>

sapreste dirmi come modificare visualizza.php per mostrare a video tuttte le righe del database...

vi ringrazio per l'aiuto e per la pazienza....

Roberto
 
ciao
se non ho visto male, porta

PHP:
fclose($textfile);

fuori dal ciclo while

non so forse anche
require ('bottom.inc'); altrimenti ad ogni ciclo incorpori bottom
poi due consigli
1. usa require_once (o include_once)
2. ho letto che è sconsigliato utilizzare nomi del tipo bottom.inc, è meglio utilizzare bottom.php, questo per motivi di sicurezza
 

Discussioni simili