02/10/07 15:24
radio
beh basta che apri il file e ci aggiung un pezzetto tipo
e per farlo apri il file (prima se necessario imposta i permessi in modo adeguato) con $link=fopen($nome_file, "ab" e poi ci scrivi il pezzetto in più in fondo fwrite($link, $testo);
Ciò però ti "imbruttisce" il file, per ogni valore ci saranno, infatti, una coppia di tag di apertura e chiusura php. E non è bello.
Per evitarli puoi includere il file php ricordarti i dati già presenti e riscriverlo da capo, oppure cancellare gli ultimi 2 caratteri ('?>') ammesso che tu acceda al file solo tramite php e non con un editor di testo, fatto che creerebbe confusione qualora tu dovessi aggiungere caratteri oltre il tag finale.
Se non sono stato chiaro scusami, oggi ho avuto 6 ore a scuola
<?php $nick['nuovo']="new_pwd"; ?>
e per farlo apri il file (prima se necessario imposta i permessi in modo adeguato) con $link=fopen($nome_file, "ab" e poi ci scrivi il pezzetto in più in fondo fwrite($link, $testo);
Ciò però ti "imbruttisce" il file, per ogni valore ci saranno, infatti, una coppia di tag di apertura e chiusura php. E non è bello.
Per evitarli puoi includere il file php ricordarti i dati già presenti e riscriverlo da capo, oppure cancellare gli ultimi 2 caratteri ('?>') ammesso che tu acceda al file solo tramite php e non con un editor di testo, fatto che creerebbe confusione qualora tu dovessi aggiungere caratteri oltre il tag finale.
Se non sono stato chiaro scusami, oggi ho avuto 6 ore a scuola
aaa
05/10/07 23:32
Nophiq
Potresti utilizzare la seguente funzione:
1) E' necessario inserire il path corretto del file database.php, io ho dato per scontato che il file che esegue l'aggiornamento del db sia nella stessa cartella di "database.php"
per richiamarla (una volta inclusa) basta scrivere:
E' da verificare il suo funzionamento perché l'ho scritta senza testarla. Se hai problemi posta pure.
<?php function writeDB($user, $password) { include_once("database.php"); $f = fopen("database.php", "w"); foreach ($utenti as $key => $value) $record .= "$utenti[\"$key\"] = \"$value\";\n"; $record .= "$utenti[\"$user\"] = \"$password\";\n"; // Aggiungo il nuovo user fwrite($f, $record); fclose($f); } ?>
1) E' necessario inserire il path corretto del file database.php, io ho dato per scontato che il file che esegue l'aggiornamento del db sia nella stessa cartella di "database.php"
per richiamarla (una volta inclusa) basta scrivere:
writeDB($nuovo_nome, $nuova_password);
E' da verificare il suo funzionamento perché l'ho scritta senza testarla. Se hai problemi posta pure.
aaa
20/12/07 0:14
bangirasu
io cambierei completamente la struttura del file database.php, potresti creare un file con scritto
nome1:password1
nome2:password2
...eccetera
per leggerli dovresti fare semplicemente:
$file=file("database.php"
a questo punto file è un array e ad ogni indice corrisponde una coppia utente password
e poi
a questo punto hai $database che contiene tutti i dati:
$database[13]["nickname"]
è il nick dell'utente 13
$database[13]["password"]
è la password dell'utente 13
per inserie un utente dovresti semplicemente chiamare questa funzione
invece per modificare una password le cose si complicano e cioè: dovresti riscrivere tutto il file...
Se hai la possibilità di usare un db MySQL usa quello!
Anche se non hai mai usato MySQL ti assicuro che è tutt'altro che complicato fare una semplice tabella con nick-password
nome1:password1
nome2:password2
...eccetera
per leggerli dovresti fare semplicemente:
$file=file("database.php"
a questo punto file è un array e ad ogni indice corrisponde una coppia utente password
e poi
$database=array(); foreach($current as $file){ list($nickname, $password)=explode(":",trim($current)); $database[]=array("nickname"=>$nickname, "password"=>$password); }
a questo punto hai $database che contiene tutti i dati:
$database[13]["nickname"]
è il nick dell'utente 13
$database[13]["password"]
è la password dell'utente 13
per inserie un utente dovresti semplicemente chiamare questa funzione
function add($nick, $pass){ $file=fopen("database.php", "a"); fwrite($file, $nick.":".$pass."\n"); fclose($file); }
invece per modificare una password le cose si complicano e cioè: dovresti riscrivere tutto il file...
Se hai la possibilità di usare un db MySQL usa quello!
Anche se non hai mai usato MySQL ti assicuro che è tutt'altro che complicato fare una semplice tabella con nick-password
aaa