database testuale e piccoli problemi...

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

robysdc

Nuovo Utente
15 Nov 2008
21
0
0
Ciao a tutti

sono da pochissimo entrato nel mondo della programmazione in php e vorrei chiedere il vostro aiuto su alcuni problemini che sto riscontrando crendo una semplicissima applicazione..

vorrei creare un form, che mi permetta di memorizzare i dati inseriti su di un database testuale in aggiunta vorrei creare una pagina di amministrazione in cui poter cancellare e modificare i dati inseriti.

vi dico a che punto sono:
ho creato il form (form.php), i dati vengono salvati correttamente nel database testuale (utenti.txt), e posso visualizzarli senza problemi in una pagina (visualizza.php);

il problema nasce a questo punto, vorrei che cliccando sui links MODIFICA E CANCELLA di ciascuna riga si possa modificare o cancellare la riga corrispondente;

per ora ho provato a scrivere solo la parte relativa al cancella (admin.php) ma non riesco effttivamente a cancellare la riga..

credo che il problema sia la riga 13:
if ($idriga <> $riga) {
poiche se al posto di $riga metto manualmente l'ID della riga che voglio cancellare tutto va a posto...

vi posto il codice delle mie paginette:

form.php
--------------
<form method="post" action="registra.php">
<div align="center">
<p><br>
<span class="Stile45">
ID: <input name="id" type="text" size="4">
NOME: <input name="nome" type="text" size="10">
COGNOME: <input name="cognome" type="text"size="10">
NICK: <input name="nick" type="text"size="10">
EMAIL: <input name="email" type="text" id="email" size="10"></span></p>
<p align="center" class="Stile45"><br>
QUALE REGOLAMENTO GIOCHI? 1.0 <input name="rules1" type="checkbox" value="1.0"> 2.0 <input name="rules2" type="checkbox" value="2.0"> DDM GUILD <input name="rules3" type="checkbox" value="Guild">
<br>
<br>
</p>
<p align="center" class="Stile45">QUAL'E' IL MIGLIOR SET USCITO FINO AD ORA? <textarea name="preferito" cols="20" rows="1"></textarea>
</p>
<p align="center" class="Stile45">CONTINUERAI A COLLEZIONARE LE MINIATURE D&D? SI<input type="radio" name="voto" value="si"> NO<input type="radio" name="voto" value="no">
</p>
<p align="center"> <input type="submit" name="invia" value="Invia">
</p>
</div>
</form>


registra.php
---------------------
<?php
$textfile=fopen("utenti.txt", "a");
$id=$_POST["id"];
$nome=$_POST["nome"];
$cognome=$_POST["cognome"];
$nick=$_POST["nick"];
$email=$_POST["email"];
$rules1=$_POST['rules1'];
$rules2=$_POST['rules2'];
$rules3=$_POST['rules3'];
$regolamento="$rules1 $rules2 $rules3";
$preferito=$_POST["preferito"];
$collezionare=$_POST["voto"];
$datiform="$id|$nome|$cognome|$nick|$email|$regolamento|$preferito|$collezionare \n";
fwrite($textfile,$datiform);

echo "<font color=#FFFF00>grazie per esserti iscritto</font>";
fclose($textfile);
?>



visualizza.php
------------------------
<table>
<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><?php
$textfile=fopen("utenti.txt", "r");
while ($rigafile=fgets($textfile,1024)) {
$campiriga=explode("|", $rigafile);
$idID=$campiriga[0];
$idnome=$campiriga[1];
$idcognome=$campiriga[2];
$idnick=$campiriga[3];
$idmail=$campiriga[4];
$idversione=$campiriga[5];
$idpreferito=$campiriga[6];
$idcontinua=$campiriga[7];

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


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


admin.php
------------------
<?php
$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 "Cancellazione eseguita con successo<br>";
}


if ($azione=='modifica'){

// codice per modificare...

}
?>

utenti.txt
-------------------
1|Roberto|Bianconi|Robysdc|[email protected]||Underdark|no
2|Roberto|Bianconi|Robysdc|[email protected]||Underdark|no
3|max|teo|max|[email protected]|s|Harbinger|no
4|erik|pettinari|lillo|[email protected]|Guild|Dragoneye|si


Sapete aiutarmi?
Vi prego di essere "elementari" nelle eventuali spiegazioni data la mia scarsa competenza in materia...

GRAZIE MILLE A TUTTI..

Roberto
 

Discussioni simili