Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
PHP - Aiuto
Forum - PHP - Aiuto

Avatar
Alkzx (Ex-Member)
Newbie


Messaggi: 1
Iscritto: 26/11/2006

Segnala al moderatore
Postato alle 14:19
Sabato, 28/07/2007
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 il 28/07/2007 alle 14:20
PM Quote
Avatar
alek777 (Normal User)
Rookie


Messaggi: 25
Iscritto: 18/09/2007

Segnala al moderatore
Postato alle 13:46
Domenica, 30/09/2007
usi mysql?

se si basta fare una query

PM Quote
Avatar
radio (Ex-Member)
Expert


Messaggi: 327
Iscritto: 03/03/2005

Segnala al moderatore
Postato alle 17:24
Martedì, 02/10/2007
beh basta che apri il file e ci aggiung un pezzetto tipo
Codice sorgente - presumibilmente Plain Text

  1. <?php
  2. $nick['nuovo']="new_pwd";
  3. ?>



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 :)

PM Quote
Avatar
Nophiq (Founder Member)
Expert


Messaggi: 537
Iscritto: 15/11/2004

Segnala al moderatore
Postato alle 1:32
Sabato, 06/10/2007
Potresti utilizzare la seguente funzione:
Codice sorgente - presumibilmente Php

  1. <?php
  2.  
  3. function writeDB($user, $password) {
  4.         include_once("database.php");
  5.         $f = fopen("database.php", "w");
  6.        
  7.         foreach ($utenti as $key => $value) $record .= "\$utenti[\"$key\"] = \"$value\";\n";
  8.         $record .= "\$utenti[\"$user\"] = \"$password\";\n";    // Aggiungo il nuovo user
  9.        
  10.         fwrite($f, $record);
  11.         fclose($f);
  12. }
  13.  
  14. ?>



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:
Codice sorgente - presumibilmente Plain Text

  1. writeDB($nuovo_nome, $nuova_password);



E' da verificare il suo funzionamento perché l'ho scritta senza testarla. Se hai problemi posta pure.

PM Quote
Avatar
bangirasu (Normal User)
Rookie


Messaggi: 39
Iscritto: 15/08/2007

Segnala al moderatore
Postato alle 1:14
Giovedì, 20/12/2007
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

Codice sorgente - presumibilmente PHP

  1. $database=array();
  2. foreach($current as $file){
  3.   list($nickname, $password)=explode(":",trim($current));
  4.   $database[]=array("nickname"=>$nickname, "password"=>$password);
  5. }



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
Codice sorgente - presumibilmente PHP

  1. function add($nick, $pass){
  2.         $file=fopen("database.php", "a");
  3.         fwrite($file, $nick.":".$pass."\n");
  4.         fclose($file);
  5. }



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:

PM Quote