Visualizzazione risultati 1 fino 16 di 16

Discussione: [PHP] Nickname già esistente

  1. #1
    Guest

    Predefinito [PHP] Nickname già esistente

    Ciao a tutti...
    ho un form di registrazione, a questo form di registrazione vorrei aggiungere il controllo di Nickname già esistente!
    Cioè, lo script deve andare a vedere su un file di testo (utenti.php) se il nickname scelto è già esistente... come posso fare?
    grazie anticipatamente!
    ...byex!

  2. #2
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Dovresti dire com'è questo file di testo e com'è lo script.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  3. #3
    Guest

    Predefinito

    ho appena provato a fare questo:
    Codice PHP:
    /* controlliamo se il nickname esiste già */

    function controlla_presenza($nick){
    $file = file("utenti.php");
    foreach(
    $file as $rigo) {
    $ex = explode("|",$rigo);
    if(
    $ex[1] == $nick) {
    return
    "presente";
    }
    }
    }
    {
    $_TEMP .= "Errore! Nickname già esistente, scegli un'altro Nickname";
    }
    l'errore mi esce, però allo stesso tempo l'email di registrazione la invia lo stesso...
    Cosa c'è che non va?

    @ funcool: cosa intendi?

    ...byex!

  4. #4
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Io cambierei il tuo script così:
    Codice PHP:
    /* controlliamo se il nickname esiste già */

    function controlla_presenza($nick){
    $presente = false;
    $file = file("utenti.php");
    foreach(
    $file as $rigo) {
    $ex = explode("|",$rigo);
    if(
    $ex[1] == $nick) {
    $presente=true;
    break;
    }
    }
    return
    $presente
    }
    if (
    controlla_presenza($nick){
    $_TEMP .= "Errore! Nickname già esistente, scegli un'altro Nickname";
    }
    else {
    //Invia mail e registra l'utente
    }
    Io chiedevo com'era formato il file dove registri gli utenti.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  5. #5
    Guest

    Predefinito

    ecco il solito errore rompi-balle
    Parse error: syntax error, unexpected '}' in /membri2/turkosoft/registrati/form.php on line 33
    dov'è che non si aspetta } dopo l'else?

    il "database" degli utenti è in .php

  6. #6
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Nel codice che ho scritto io non trovo parentesi in più.

    EDIT: Ho capito che il database degli utenti è in un file con estensione *.php. Ma prova a scrivere l'esempio del file.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  7. #7
    Guest

    Predefinito

    ecco, nella directory dove è presente il form di registrazione, il file utenti.php non c'è
    Posso mettere l'URL lungo? esempio http://turkosoft.altervista.org/ceeter/utenti.php ?

  8. #8
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Puoi utilizzare sia l'URL relativo che quello assoluto.
    Quello assoluto ha però questo formato: /membri/turkosoft/ceeter/utenti.php oppure /membri2/turkosoft/ceeter/utenti.php.
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  9. #9
    Guest

    Predefinito

    mi da quell'errore di prima, che non si aspettava la parentesi graffa:
    Codice PHP:
    /* controlliamo che siano stati compilati tutti i campi del form */

    if( trim(empty($_POST['nome'])) OR
    trim(empty($_POST['cognome'])) OR
    trim(empty($_POST['nick'])) OR
    trim(empty($_POST['dominio'])) OR
    trim(empty($_POST['pass'])) OR
    trim(empty($_POST['email'])) OR
    trim(empty($_POST['citta'])) OR
    trim(empty($_POST['luogo'])) OR
    trim(empty($_POST['data'])) OR
    trim(empty($_POST['ora'])) OR
    trim(empty($_POST['news'])) OR
    trim(empty($_POST['dati'])))
    {
    $_TEMP .= "Errore! Sei sicuro di aver compilato tutti i campi del form? Ricontrolla!";
    }

    /* controlliamo se il nickname esiste già */

    function controlla_presenza($nick){
    $presente = false;
    $file = file("utenti.php");
    foreach(
    $file as $rigo) {
    $ex = explode("|",$rigo);
    if(
    $ex[1] == $nick) {
    $presente=true;
    break;
    }
    }
    return
    $presente
    }
    if (
    controlla_presenza($nick){
    $_TEMP .= "Errore! Nickname già esistente, scegli un'altro Nickname";
    }
    else {
    //Invia mail e registra l'utente
    }

    /* controlliamo il fomato dei caratteri */

    if(eregi("[\&\$\%\£\.\:\,\;\ò\@\ç\à\°\#\è\è\+\*\ù\§\^\ì\?\'\|\=]+",$dominio))
    {
    $_TEMP .= "Errore! Hai inserito caratteri non consentiti nel campo ''Nome Dominio''";
    }

    /* controlliamo il formato dell'email */

    elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $_POST['email']))
    {
    $_TEMP .= "Errore! Non hai inserito un indirizzo email valido! Ricontrolla l'indirizzo e-mail!";
    }
    /* se l'if e l'elseif sono andati a buon fine... */
    ECCETERA...
    il codice non è tutto! Cosa non va?

  10. #10
    L'avatar di funcool
    funcool non è connesso Utente storico
    Data registrazione
    05-02-2004
    Residenza
    Qui... Non lì, qui!
    Messaggi
    15,433

    Predefinito

    Al posto di:
    Codice PHP:
    if (controlla_presenza($nick){
    Metti:
    Codice PHP:
    if (controlla_presenza($nick)){
    Mattia vi manda a FunCool - Matriz - Directory Gogol - Sfondo rosso per la Birmania
    «Tu mi dai fastidio perché ti credi tanto un Dio!» «Bè, dovrò pur prendere un modello a cui ispirarmi, no?» Woody Allen

  11. #11
    Guest

    Predefinito

    è inutile, mi da sempre questo errore:
    Parse error: syntax error, unexpected '}' in /membri2/turkosoft/registrati/form.php on line 33
    ecco il codice modificato:
    Codice PHP:
    /* controlliamo che siano stati compilati tutti i campi del form */

    if( trim(empty($_POST['nome'])) OR
    trim(empty($_POST['cognome'])) OR
    trim(empty($_POST['nick'])) OR
    trim(empty($_POST['dominio'])) OR
    trim(empty($_POST['pass'])) OR
    trim(empty($_POST['email'])) OR
    trim(empty($_POST['citta'])) OR
    trim(empty($_POST['luogo'])) OR
    trim(empty($_POST['data'])) OR
    trim(empty($_POST['ora'])) OR
    trim(empty($_POST['news'])) OR
    trim(empty($_POST['dati'])))
    {
    $_TEMP .= "Errore! Sei sicuro di aver compilato tutti i campi del form? Ricontrolla!";
    }

    /* controlliamo se il nickname esiste già */

    function controlla_presenza($nick){
    $presente = false;
    $file = file("/membri2/turkosoft/log/utenti.php");
    foreach(
    $file as $rigo) {
    $ex = explode("|",$rigo);
    if(
    $ex[1] == $nick) {
    $presente=true;
    break;
    }
    }
    return
    $presente
    }
    if (
    controlla_presenza($nick)){
    $_TEMP .= "Errore! Nickname già esistente, scegli un'altro Nickname";
    }
    else {
    //Invia mail e registra l'utente
    }


    /* controlliamo il fomato dei caratteri */

    if(eregi("[\&\$\%\£\.\:\,\;\ò\@\ç\à\°\#\è\è\+\*\ù\§\^\ì\?\'\|\=]+",$dominio))
    {
    $_TEMP .= "Errore! Hai inserito caratteri non consentiti nel campo ''Nome Dominio''";
    }

    /* controlliamo il formato dell'email */

    elseif(!eregi("^[a-z0-9][_\.a-z0-9-]+@([a-z0-9][0-9a-z-]+\.)+([a-z]{2,4})", $_POST['email']))
    {
    $_TEMP .= "Errore! Non hai inserito un indirizzo email valido! Ricontrolla l'indirizzo e-mail!";
    }
    /* se l'if e l'elseif sono andati a buon fine... */
    ECCETERA...
    il file utenti è formato così:
    Codice PHP:
    <?
    $utenti
    ["admin"] = "admin";
    $utenti['utente'] = "userpw";
    $utenti['user'] = "pass";
    ?>
    <? $utenti
    ['Ivan'] = 'xxx';?>
    <? $utenti
    ['Tano'] = 'zzz';?>

  12. #12
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

  13. #13
    Guest

    Predefinito

    Citazione Originalmente inviato da Leo91
    quella funzione è mia

    il file utenti.php è così strutturato
    <?|nick|pass|\n
    appunto, te l'ho zigata
    ma come la posso modificare per il mio file utenti.php?

  14. #14
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    appunto, te l'ho zigata
    ma come la posso modificare per il mio file utenti.php?
    Beh purtoppo quella funzione fa questo lavoro:
    controlla ogni riga di un file chiamato "utenti.php" così strutturato (<?|nick|pass|\n) e va a prendere il nick di ogni riga mettendolo a confronto con quello passato nella funzione. Se riscontra la corrispondenza allora dà come risultato la stringa "presente" (o nel caso di funcool da un risultato booleano [true] )
    Però se il file è strutturato come dici te, quella funzione ti è pressochè inutile...

  15. #15
    Guest

    Predefinito

    perchè è inutile?
    allora faccio così: dentro la directory del form di registrazione, ci metto anche questo file utenti.php (come il tuo)
    Quindi come devo procedere?
    ...byex!

  16. #16
    L'avatar di Leo91
    Leo91 non è connesso Altervistiano Junior
    Data registrazione
    28-03-2004
    Residenza
    alle tue spalle
    Messaggi
    728

    Predefinito

    Citazione Originalmente inviato da TurkoSoft
    perchè è inutile?
    allora faccio così: dentro la directory del form di registrazione, ci metto anche questo file utenti.php (come il tuo)
    Quindi come devo procedere?
    ...byex!
    Non si fa così!

    Praticamente, partendo dal mio script completo, potresti anche farlo...poi se vuoi ti faccio delle modifiche per il nome, il cognome e le altre tue aggiunte...

Regole di scrittura

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