Ciao a tutti,
sto cercando di sostituire una riga specifica all'interno di un file di testo. Sono già riuscito a fare questo, ma solo in parte. In particolare, con un ciclo while controllo gli utenti all'interno di un file di testo, con lo scopo di trovare l'utente che sta effettuando al momento l'attivazione dell'account. Vi mostro come funziona il mio codice:
Come potete vedere in
salvo la linea corrispondente, e poi confronto l'array splittato con i vari indici passati alla funzione. Quello che sto cercando di fare è di inserire alla fine della riga dell'utente da attivare la scritta "yes", questo il codice lo fa, ma il problema è che se io ho per esempio:
utente A
utente B
utente C
e l'utente B sceglie di attivarsi, allora automaticamente nel file "nuovo" avrò utente A e utente B, mentre C verrà cancellato; questo perché il ciclo while non è ancora terminato.
Non so se esiste un meccanismo meno complesso del mio e più efficace, mi affido a voi esperti nella speranza di riuscire a risolvere.
Buona giornata. :fonzie:
sto cercando di sostituire una riga specifica all'interno di un file di testo. Sono già riuscito a fare questo, ma solo in parte. In particolare, con un ciclo while controllo gli utenti all'interno di un file di testo, con lo scopo di trovare l'utente che sta effettuando al momento l'attivazione dell'account. Vi mostro come funziona il mio codice:
Codice:
function Login($username,$email,$password,$activate)
{
$count = 0;
$temp = array();
if(file_exists("utenti.txt") == true)
{
$handle = fopen("utenti.txt","a+");
if($handle)
{
while(($line = fgets($handle)) !== false)
{
$count++;
$temp[$count] = $line;
$array = explode(";" , $temp[$count]);
if($array[0] == $email)
{
if($array[1] == $username)
{
if($array[2] == $password)
{
if($array[3] == $activate)
{
$filename = "utenti.txt";
$lines = file($filename);
$lines[$count] = "yes;" . "\r\n;"; //qui sostituisco la riga dell'utente da attivare
...
}else... //ci sono gli else ma non sono importanti
}
}
}
}
}
}
}
Come potete vedere in
Codice:
$temp[$count];
utente A
utente B
utente C
e l'utente B sceglie di attivarsi, allora automaticamente nel file "nuovo" avrò utente A e utente B, mentre C verrà cancellato; questo perché il ciclo while non è ancora terminato.
Non so se esiste un meccanismo meno complesso del mio e più efficace, mi affido a voi esperti nella speranza di riuscire a risolvere.
Buona giornata. :fonzie: