Visualizzazione risultati 1 fino 9 di 9

Discussione: pannello amministrazione utenti

  1. #1
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito pannello amministrazione utenti

    Il mio sito contiene un'area riservata a cui possono accedere solo gli utenti che decido di inserire in un database testuale (non ho un database mysql).

    A tal fine ho trovato sul web un paio di script in php e, con qualche modifica e combinazione, l'ho adattato ai miei fini e mi funziona egregiamente.
    Tale database è costituito da due documenti .txt uno ("utenti2.txt") da supporto al form per fare il login ed un altro ("utenti.txt") per raccogliere vari dati utente.
    Questi due database li gestisco attraverso un pannello di controllo ("pannello.php").

    Dal pannello di controllo io posso:
    -aggiungere utenti ai database testuali.
    -cancellare un utente dai database testuali.

    nb: l'azione fatta sul pannello di amministrazione (aggiungere o cancellare un utente) modifica contemporaneamente entrambi i database testuali ("utenti.txt" ed "utenti2.txt").
    L'operazione di registrazione viene eseguita dal file "registra.php" mentre l'operazione di cancellazione viene eseguita dal file "admin.php".

    Chiedo il vostro aiuto perchè vorrei implementare lo script introducendo altre due funzioni:
    -modifica dati utente
    -notifica di registrazione (cioè dopo che ho registrato un utente nel database se clicco "notifica" vorrei che lo script inviasse una mail standard che comunichi all'utente i dati di accesso).

    Si può fare?
    Sappiate che sono un un quasi del tutto profano del php...

    quuesto è il mio script

    clicca qui

    Ringrazio anticipatamente chi mi aiuterà.

  2. #2
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Per la modifica dei dati devi semplicemente:
    -prelevare l'intero file (memorizzarlo in un vettore)
    -modificare il dato richiesto
    -riscrivere il file con il vettore appena modificato.

    Per "notifica di registrazione" intendi che l'account deve essere attivato prima di poterlo utilizzare? In tal caso potresti aggiungere l'informazione sullo stato dell'account (da confermare/attivo), eventualmente con un flag numerico.
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  3. #3
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito

    no.

    Attualmente funziona così:
    Dopo che io faccio la registrazione dell'utente compilando il form con almeno i dati nei campi "nome" e "password" nella dal pannello di controllo ("pannello.php") automaticamente i due database testuali sono aggiornati.

    Quindi compilando il form di login ("login.php") con i nuovi dati immessi si potrà accedere all'area riservata.

    Il problema è che l'utente che ho inserito non conosce quei dati!!!
    Pertanto devo essere io che manualmente devo trasmettergli una mail in cui gli comunico i suoi dati di accesso che ho immesso nei database.

    Ciò che vorrei è:
    Dopo aver compilato il form di registrazione ("pannello.php") cliccando su "notifica" lo script invii una mail standard del tipo

    "ciao,

    da ora potrai accedere all'area riservata con questi dati:
    nome: user
    passwword: pass

    ciao"


    ma cmq se scarichi lo script e gli dai uno sguardo capisci meglio...

  4. #4
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Uno sguardo allo script l'ho già dato stamattina.
    Prima di tutto spero che tu abbia un buon (=sicuro) sistema di crittaggio della password, visto che dovresti decrittarla dal database per spedirla.
    Un suggerimento sarebbe di mandarla SUBITO appena li registri (=con lo stesso script) anzichè fare la tiritera (per altro rognosa) di registrare e inviare: vantaggio di ciò è poter evitare il decrittaggio della password (il quale non fa quasi nessuno) visto che avresti accesso alla password inserita da te (variabile $_POST).
    Ultima modifica di ageofempiresgif : 30-11-2009 alle ore 18.42.16
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  5. #5
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito

    non ho capito molto... (mia lacuna!!)
    le mie conoscenze tecniche sul php sono molto limitate e quindi sii comprensivo...


    io (in tutta onestà) desideravo che qualcuno mi mandasse il completamento dello script del file "admin.php"...

  6. #6
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    Dillo che lo script l'hai scaricato da qualche parte, avremmo più comprensione

    Io ti suggerisco gli algoritmi, qualcun altro (nel limite delle facoltà) ti suggerirà lo script ^^ se non conosci la variabile $_POST ti suggeriremo una guida

    Codice:
    <!-- registrazione (HTML) -->
    compilazione form
    invio dati alla pagina
    <!-- fine registrazione -->
    
    <!-- elaborazione (PHP) -->
    memorizzazione dati di login in db
    invio mail con dati
    <!-- fine elaborazione -->
    In parole povere ti ho suggerito di salvare i dati e inviarli all'utente nella stessa pagina.
    Ultima modifica di ageofempiresgif : 30-11-2009 alle ore 19.10.31
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  7. #7
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito

    All'apertura del topic ho scritto:
    "ho trovato sul web un paio di script in php e, con qualche modifica e combinazione, l'ho adattato ai miei fini "

    Cito tutte le fonti in modo tale che puoi fare il confronto:
    1) link da qui ho preso il pannello di registrazione
    2) link da qui ho preso il sistema di login a cui ho apportato le correzioni indicate in questo link

    Dalla combinazione e dalle modifiche (minimali e realizzate con 2.000.000 di tentativi di modifica) ne vien fuori il mio script...

    scusami se nn sono stato chiaro...


    EDIT:
    spulciando tra i topic già aperti ho trovato questo link che potrebbe fare al caso mio... ma che erò non riesco a far funzionare...

    il mio tatabase testuale è fatto così

    tizio | password_tizio | tizio@email.it | note1 | note2 | <a href="admin.php?row=$idID&action=notifica">notific a</a>
    caio | password_caio | caio@email.it | note1 | note2 | <a href="admin.php?row=$idID&action=notifica">notific a</a>
    etc etc...


    lo script che dovrei fare all'interno del file admin.php dovrebbe consentirmi cliccando su "notifica" di far avviare uno script admin.php che prelevando la riga $idID manda una mail a quell'utente presente in quella riga...

    ad esempio in caso $row = $IDid = 2
    lo script deve prelevare il nome la password e la mail dal database testuale ed inviare una mail con testo standard salvo che per il nome e la password e il mittente (ovviamente riferiti alla riga che ho selezionato...

    anzitutto si può fare??


    EDIT2:
    Per quel che riguarda la funzione notifica ho risolto... (evvai!!! con soli 1295631 tentativi...)

    ora ho un problemino credo più semplice.

    Dato il mio database testuale (utenti.txt):

    tizio | pass1 | tizio@email.it | notat | notat | si
    caio | pass2 | caio@email.it | notac | notac | no
    mario | pass3 | mario@email.it | notam | notam | no
    etc etc

    devo costruire uno script che mi impedisca di inserire utenti con lo stesso nome
    es.

    <?php
    $riga = caio; //mandata tramite _post
    $file = fopen(utenti.txt, r);
    ... explode ("|",...) ...
    ...bhò

    if (caio fa parte degli utenti) { echo "Utente già presente"; break; }
    else { il resto dello script }
    ?>


    ... vi prego aiutatemi...

    ne ho partorito uno... ma risulta essere sbagliato

    <?php

    $riga = caio;

    $file=file("utenti.txt");
    for($i=0;$i<count($file);$i++) {
    $file[$i]=explode("|",trim($file[$i]));
    if ($file[$i][0]=="$riga"")
    {
    echo "utente già registrato";
    }

    else
    {
    echo "resto dello script";
    }
    fclose($fp);

    ?>
    Ultima modifica di seneca : 01-12-2009 alle ore 23.54.29

  8. #8
    Data registrazione
    04-09-2009
    Messaggi
    183

    Predefinito

    hai fatto il trim solo alla riga completa, non ai singoli campi! modifica così:
    Codice PHP:
    $file[$i]=explode("|", $file[$i]);
    if (
    trim($file[$i][0])=="$riga"")
    Age Of Empires GIF Creator & Archive
    New! Blog informatico di scripting PHP avanzato
    Vuoi giocare online a Age of Empires The Conquerors? -> Usa Voobly !! (MSN Zone non lo supporta più dal 19 giugno 2006)
    Il mio clan di The Conquerors -> Rifugio dei Conquerors
    Il mio stato su Xfire Live Video -> Unreal Tournament 2004
    Facebook MMORPG

  9. #9
    italialockerz non è connesso Neofita
    Data registrazione
    16-11-2009
    Messaggi
    13

    Predefinito

    ci siamo quasi...

    <?php

    $riga = caio;

    $file=file("utenti.txt");
    for($i=0;$i<count($file);$i++) {
    $file[$i]=explode("|", $file[$i]);
    if (trim($file[$i][0])=="$riga")
    {
    echo "utente già registrato<br>";
    }

    else
    {
    echo "resto dello script<br>";
    }
    fclose($fp);
    }
    ?>

    con questo script:
    1) caso di $riga presente mi stampa:

    resto dello script
    utente già registrato
    resto dello script
    resto dello script
    resto dello script



    la scritta "utente già registrato" mi compare al secondo rigo perchè l'utente è il secondo della lista (quindi sarebbe stato al terzo se l'utente fosse stato il terzo e via dicendo...)

    2) caso di $riga non presente mi stampa:

    resto dello script
    resto dello script
    resto dello script
    resto dello script
    resto dello script

    la scritta "resto dello script" compare tante volte quanti sono gli utenti del mio database (il mio database è composta da 5 righe)


    EDIT:
    AIUTOOO!!


    sto provando con questo codice

    <?php

    $user = "luca";

    $fd = fopen ("utenti.txt", "r");
    while (!feof ($fd)) {
    $buffer = fgets($fd, 4096);

    $campiriga = explode("|", $buffer);

    $nomi = "$campiriga[0] ";



    if ($campiriga[0]==$user)
    {
    echo "$user è un utente già presente nel nostro database<br>"; break;
    }
    else
    {
    echo "$user non è presente nel nostro database possiamo avviare lo script<br>";
    }
    }

    fclose ($fd);

    ?>

    ma cosa c'è che non va??!

    in pratica se l'utente non è presente mi stampa tanti righi con scritto "$user non è presente nel nostro database possiamo avviare lo script<br>"; quanti sono il numeto di utenti presenti nel database.

    se invece è presente ad esempio alla 4 riga del database si stampa la scritta "$user non è presente nel nostro database possiamo avviare lo script<br>"; per tre righi e poi stampa "$user è un utente già presente nel nostro database<br>";
    Ultima modifica di seneca : 01-12-2009 alle ore 23.55.55

Regole di scrittura

  • Non puoi creare nuove discussioni
  • Non puoi rispondere ai messaggi
  • Non puoi inserire allegati.
  • Non puoi modificare i tuoi messaggi
  •