Salve a tutti
Sono uno dei tanti peincipianti nel campo della programmazione in PHO, dato il grande aiuto che mi avete sempre dato vi sottopongo un altro problemino con cui mi sto misurando..
Ho generato un semplice pannello di amministrazione (visualizza.php) per un database testuale (utenti.txt) al quale è possibile accedere previo login corretto (manage.php); dal pannello di visualizzazione (visualizza.php) è poi possibile andare a cancellare o modificare i dati dei vari utenti;
Il programmino visualizza.php per ciascuna riga passa ID riga e tipo di azione (cancellare o modificare) al programmino admin.php;
Nel caso si voglia modificare i dati di una riga, il programma admin.php rimanda poi al file update.php che aggiorna il database e fornisce il link per tornare al pannello di visualizzazione;
Il mio piccolo problema sta proprio qui: dopo aver effettuato una modifica quando dal file update.php clicco sul link per tornare al pannello di visualizzazione (visualizza.php) la pagina non mi lascia entrare in automatico poichè le righe:
non trovano alcun valore passato dal modulo di login e sono costretto a effettuare un nuovo login per poter vedere le modifiche effettuate..
Il tutto funziona comunque ma preferirei che una volta effettuato il login una volta la pagina mi riconoscesse in automatico..
Ho provato a giocare un pò con i cookies ma mi sa che ho fatto confusione...
nel caso ci fosse qualcuno così paziente da darmi una mano vi posto il codice delle mie pagine...
utenti.txt (è il database testuale)
--------------------------------------
1|roberto|bianchi|roby@aruba.it|roby|miniature|1.0 |Underdark|no
2|mario|rossi|tex75@gmail.com|lillo75|lillo|1.0 |Dragoneye|si
manage.php (è la pagina di login per l'accesso al pannello di amministrazione)
------------------------------------------------------------------------------
admin.php (è il programma che consente la cancellazione o la modifica dei dati degli utenti; vi si accede da visualizza.php)
-----------------------------------------------------------
update.php (è il programmino che nel caso di una modifica, mi aggiorna la riga del database testuale..)
-------------------
Vi ricordo che il mio problema sta nel passaggio dalla pagina update.php a visualizza.php;
il codice nn trova alcun dato passato da un modulo e quindi non mi lascia entrare se non effettuando un nuovo login..
Spero di essere stato chiaro... Ringrazio tutti quanti voi per la pazienza e l'aiuto che saprete darmi..
Robysdc
Sono uno dei tanti peincipianti nel campo della programmazione in PHO, dato il grande aiuto che mi avete sempre dato vi sottopongo un altro problemino con cui mi sto misurando..
Ho generato un semplice pannello di amministrazione (visualizza.php) per un database testuale (utenti.txt) al quale è possibile accedere previo login corretto (manage.php); dal pannello di visualizzazione (visualizza.php) è poi possibile andare a cancellare o modificare i dati dei vari utenti;
Il programmino visualizza.php per ciascuna riga passa ID riga e tipo di azione (cancellare o modificare) al programmino admin.php;
Nel caso si voglia modificare i dati di una riga, il programma admin.php rimanda poi al file update.php che aggiorna il database e fornisce il link per tornare al pannello di visualizzazione;
Il mio piccolo problema sta proprio qui: dopo aver effettuato una modifica quando dal file update.php clicco sul link per tornare al pannello di visualizzazione (visualizza.php) la pagina non mi lascia entrare in automatico poichè le righe:
PHP:
$password = $_POST["password"];
$username = $_POST["userid"];
non trovano alcun valore passato dal modulo di login e sono costretto a effettuare un nuovo login per poter vedere le modifiche effettuate..
Il tutto funziona comunque ma preferirei che una volta effettuato il login una volta la pagina mi riconoscesse in automatico..
Ho provato a giocare un pò con i cookies ma mi sa che ho fatto confusione...
nel caso ci fosse qualcuno così paziente da darmi una mano vi posto il codice delle mie pagine...
utenti.txt (è il database testuale)
--------------------------------------
1|roberto|bianchi|roby@aruba.it|roby|miniature|1.0 |Underdark|no
2|mario|rossi|tex75@gmail.com|lillo75|lillo|1.0 |Dragoneye|si
manage.php (è la pagina di login per l'accesso al pannello di amministrazione)
------------------------------------------------------------------------------
PHP:
<?php
$password = $_POST["password"];
$username = $_POST["userid"];
if (($password <> XXXXXXXX) && ($username <> XXXXXXX)) {
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');
echo "
<html>
<head>
<title>Miniature D&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\"> </p> </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>";
$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>";
}
// fine ciclo while
echo "
</table>
</body>
</html>
";
fclose($textfile);
require ('bottom.inc');
}
?>
admin.php (è il programma che consente la cancellazione o la modifica dei dati degli utenti; vi si accede da visualizza.php)
-----------------------------------------------------------
PHP:
<?php
if (!isset($_COOKIE["admin_cookie"]) && $_COOKIE["admin_cookie"] <> "ok") {
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 {
require ('top.inc');
$azione=$_GET["action"];
$riga=$_GET["row"];
if ($azione=='cancella'){
$textfile = fopen("utenti.txt", "r");
$textfile_new = fopen("utenti_new.txt", "a");
while ($rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
$idriga = $campiriga[0];
if ($idriga <> $riga) {
fwrite($textfile_new, $rigafile);
}
}
fclose($textfile);
fclose($textfile_new);
unlink("utenti.txt");
rename("utenti_new.txt","utenti.txt");
echo "<div align='center'>Cancellazione eseguita con successo</div><br>";
}
if ($azione=='modifica'){
$textfile = fopen("utenti.txt", "r");
while ($rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
$idriga = $campiriga[0];
if ($idriga == $riga) {
$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];
}
}
fclose($textfile);
echo "
<tr>
<td></td>
<td valign='top' ><p align='center'> </p>
<p align='center'>PANNELLO DI AMMINISTRAZIONE</p>
<table width='750' border='0' align='center' cellpadding='0' cellspacing='0' bgcolor='#CCCCCC'>
<tr>
<td>
<form method='post' action='update.php'>
<div align='center'>
<p><br>
<span class='Stile45'>
ID: <input name='id' type='text' size='5' value='$idID'>
NOME: <input name='nome' type='text' size='10' value='$idnome'>
COGNOME: <input name='cognome' type='text'size='10' value='$idcognome'>
EMAIL: <input name='email' type='text' id='email' size='10' value='$idmail'><br>
USERID: <input name='userid' type='text'size='10' value='$iduserid'>
PASSWORD: <input name='password' type='text'size='10' value='$idpassword'><br>
VERSIONE: <input name='versione' type='text'size='10' value='$idversione'>
PREFERITO: <input name='preferito' type='text'size='10' value='$idpreferito'>
CONTINUA: <input name='continua' type='text'size='10' value='$idcontinua'>
</p>
<p align='center' class='Stile45'><br>
<p align='center'> <input type='submit' name='invia' value='Modifica'>
</p>
</div>
</form></td>
</tr> </table>
<p align='center'> </p>
<p align='center'> </p>
<p align='center'> </p>
<p align='center'> </p>
<p align='center'> </p>
<p align='center'> </p>
<table>
<tr></tr>
</table>
</body>
</html>";
}
}
require ('bottom.inc');
?>
update.php (è il programmino che nel caso di una modifica, mi aggiorna la riga del database testuale..)
-------------------
PHP:
<?php
if (!isset($_COOKIE["admin_cookie"]) && $_COOKIE["admin_cookie"] <> "ok") {
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 {
require ('top.inc');
$riga=$_POST["id"];
$textfile = fopen("utenti.txt", "r");
$textfile_new = fopen("utenti_new.txt", "a");
while ($rigafile = fgets($textfile,1024)) {
$campiriga = explode("|", $rigafile);
$idriga = $campiriga[0];
if ($idriga == $riga) {
$cID=$_POST["id"];
$cnome=$_POST["nome"];
$ccognome=$_POST["cognome"];
$cmail=$_POST["email"];
$cuserid=$_POST["userid"];
$cpassword=$_POST["password"];
$cversione=$_POST["versione"];
$cpreferito=$_POST["preferito"];
$ccontinua=$_POST["continua"];
$nuovariga="$cID|$cnome|$ccognome|$cmail|$cuserid|$cpassword|$cversione|$cpreferito|$ccontinua \n";
fwrite($textfile_new, $nuovariga);
} else {
fwrite($textfile_new, $rigafile);
}
}
fclose($textfile);
fclose($textfile_new);
unlink("utenti.txt");
rename("utenti_new.txt","utenti.txt");
echo "<div align='center'>Aggiornamento eseguito con successo<br>
<a href='visualizza.php'>visualizza</a></div><br>";
require ('bottom.inc');
}
?>
Vi ricordo che il mio problema sta nel passaggio dalla pagina update.php a visualizza.php;
il codice nn trova alcun dato passato da un modulo e quindi non mi lascia entrare se non effettuando un nuovo login..
Spero di essere stato chiaro... Ringrazio tutti quanti voi per la pazienza e l'aiuto che saprete darmi..
Robysdc