Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    struttura di controllo, come ne esco?

    Vado al sodo.

    Ho una variabile $user che mi viene valorizzata tramite una select in una form:

    <select name="user">
    <option value="Fabio">Fabio</option>
    <option value="Antonio">Antonio</option>
    <option value="Alberto">Alberto</option>
    ... ecc ecc...

    Per ogni $user esiste una ed una sola password, per esempio allo user Fabio è associata la password "111", ad Antonio "328", e così via...

    Questi valori mi arrivano in una pagina php che deve verificare che l'accoppiata user/password sia corretta.

    Detto in parole, devo verificare se Fabio = 111, oppure Antonio = 328, oppure...

    SOLO se una di quelle accoppiate user/pass sono esatte proseguo, altrimenti viene messaggio di errore.

    Devo usare lo switch? bohhh!
    Ho provato a fare:

    if (($user == "Fabio") AND ($pwd == "111")) OR (($user == "Antonio") AND ($pwd == 328"))

    Ma non finisco piu'...
    *** You shouldn't compare yourself to the best others can do but to the best you can do ***

  2. #2
    Dove conservi i valori relativi alle coppia username/password?
    Quando dici "SOLO se una di quelle accoppiate user/pass sono esatte proseguo" intendi dire che NON prosegui nel caso in cui:

    a. nessuna coppia è valida
    b. due o più coppie sono valide

  3. #3
    Non è possibile avere più di una coppia di variabili.
    Alla pagina di controllo mi arriva una sola coppia di valori, mi arriva un solo $user e un solo $password.

    E poi, se nessuna delle coppie user/password risulta valida NON vado avanti.

    :rollo:
    *** You shouldn't compare yourself to the best others can do but to the best you can do ***

  4. #4
    Originariamente inviato da filippo.toso
    Dove conservi i valori relativi alle coppia username/password?

  5. #5
    Li conservo nella variabile $user e $password.

    *** You shouldn't compare yourself to the best others can do but to the best you can do ***

  6. #6
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    I dati o li conservi in un file o in un database.

    Arguisco che tu prenda quei dati e li controlli direttamente con un if... se hai 1000 utenti ti metti a scrivere mille accoppiate con OR?
    Usa un database se puoi, oppure un file in cui registri le accoppiate criptandole. Con un database ti basta una SELECT password FROM utenti WHERE utente=$user e verifichi i risultati.
    Con un file è più complesso ma fattibile comunque.

    A te la scelta

  7. #7
    I soci agonisti della società sono attualmente 12, arriveranno a 20 alla fine dell'anno...
    ecco perchè pensavo di non usare neanche i txt (per l'appunto non saprei come fare il controllo dell'accoppiata)...

    Penso mi sia sufficiente una struttura con OR ma l'ho provata e non mi funge... ecco perchè vi scrivo...

    :rollo:
    *** You shouldn't compare yourself to the best others can do but to the best you can do ***

  8. #8
    Utente di HTML.it L'avatar di clasku
    Registrato dal
    Aug 2006
    Messaggi
    3,197
    Prova a postare il codice che hai sviluppato, magari c'è solo un errore che blocca tutto...
    Rimango del parere che lasciare nello stesso file php sia nome utente che password non sia sicurissimo

  9. #9
    L'ho già cancellato,
    ho deciso di mettere user e pwd in un DB.

    Cmq era del tipo:

    if (((((($user == "Fabio") AND ($pwd == "111")) OR (($user == "Antonio") AND ($pwd == 328")) OR (($user == "Carlo") AND ($pwd == "388")) OR (($user == "Luigi") AND ($pwd == 332")))))) {
    codice codice codice... ;
    } else {
    echo "blocca tutto";
    exit();
    }
    *** You shouldn't compare yourself to the best others can do but to the best you can do ***

  10. #10
    ecco, si, esatto è stata la scelta più saggia ... ma giusto per la cronaca se avessi tenuto i dati di accesso nel file di php ti sarebbe convenuto creare un array con chiavi associative, ovvero

    codice:
    $users = array
    (
      'Fabio' => '111',
      'Antonio' => '328',
      .
      .
      .
    );
    e poi nell'if semplicemente

    codice:
    if (($userExists = isset($users[$user])= === true && $users[$user] == $pwd)
    {
      echo 'accesso riuscito';
    }
    else
    {
      echo $userExists === true ? 'password errata' : 'utente inesistente';
      exit;
    }
    The fastest Redis alternative ... cachegrand! https://github.com/danielealbano/cachegrand

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.