Oppure

Loading
28/07/07 12:19
Alkzx
Salve ragazzi, volevo chiedervi un aiuto.
Io ho un file "database.php" che contiene gli utenti registrati al sito in questo modo:

$utenti["nick"] = "password";

io volevo che trammite l'inserimento di dati in un form e mediante una successiva funzione si potesse aggiungere un utente, ho provato a creare la suddetta funzione ma senza alcun risultato, quindi ho deciso di rivolgermi a voi.

Grazie
Ultima modifica effettuata da Alkzx 28/07/07 12:20
aaa
30/09/07 11:46
alek777
usi mysql?

se si basta fare una query
aaa
02/10/07 15:24
radio
beh basta che apri il file e ci aggiung un pezzetto tipo
<?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:
<?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

$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 :k:
aaa