Pagina 1 di 5 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 42
  1. #1
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    34

    Login mutliutente senza database

    Ciao a tutti, ho un problema per quanto riguarda un login multiutente senza database, per capirci meglio ho 2 file php:

    index.php
    Codice PHP:
    <table ><form method="post" action="login.php">        
    <
    tr><td>Nome Utente:</td><td><input type="text" name="username" ></td></tr>        
    <
    tr><td>Password:</td><td><input type="password" name="password" ></td></tr>        
    <
    tr><td><input type="submit" value="Login"></td></tr
    login.php
    Codice PHP:
    <?php     
    session_start
    ();     
    $username=$_POST['username'];     
    $password=$_POST['password'];     
    $utenti[]=array("user" => 1"pass" => 1);     
    $utenti[]=array("user" => 2"pass" => 2);     
    $utenti[]=array("user" => 3"pass" => 3);          
    for(
    $i=0;$i<count($utenti);$i++)   {     
    if ((
    $username!=$utenti[$i]["user"])&($password!=$utenti[$i]["pass"])){     
    echo 
    $utenti[$i]["user"];     echo $utenti[$i]["pass"];     echo $username;     echo $password;     
    }     
    elseif ((
    $username==$utenti[$i]["user"])&($password==$utenti[$i]["pass"])){                 $_SESSION["username"]=$username;                 
    header("Location:home.php");                 
    }        
    ?>
    il mio problema è questo: non mi stampa a video $username e $password, e non capisco il perchè.
    Grazie mille

  2. #2
    L'operatore di AND logico e' && non & (e comunque la prima condizione non mi sembra avere molto senso).

  3. #3
    C'è una grossa differenza tra & e &&. Nel tuo caso devi utilizzare &&.

    http://php.net/manual/en/language.operators.logical.php

    http://www.php.net/manual/en/languag...rs.bitwise.php
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  4. #4
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    34
    ok grazie ho cambiato con &&, però il problema rimane.

    Il primo if ho voluto proprio farlo così per capire il motivo non riuscisse a trovare l'utente e la pass, così stampando a video mi sono accorto che le variabili immesse con il post nel form non ci sono.

  5. #5
    Ciao!

    Ma se tu aggiungi
    codice:
    print_r($utenti);
    .

    A meno che non ci sia altro (o qualcosa mi sfugga ) col codice così come l'hai postato, l'array Array $utenti viene fuori così
    codice:
    ( [0] => Array ( [user] => 1 [pass] => 1 ) [1] => Array ( [user] => 2 [pass] => 2 ) [2] => Array ( [user] => 3 [pass] => 3 ) )
    e quindi user e pass non hanno valori tipo "mionomeutente", "miapassword", ecc.


  6. #6
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    34
    per essere esatti inserendo il print mi esce così:
    Codice PHP:
    Array ( [0] => Array ( [user] => [pass] => ) [1] => Array ( [user] => [pass] => ) [2] => Array ( [user] => [pass] => ) ) Array ( [0] => Array ( [user] => [pass] => ) [1] => Array ( [user] => [pass] => ) [2] => Array ( [user] => [pass] => ) ) Array ( [0] => Array ( [user] => [pass] => ) [1] => Array ( [user] => [pass] => ) [2] => Array ( [user] => [pass] => ) ) 

  7. #7
    Originariamente inviato da nicopres
    ...così stampando a video mi sono accorto che le variabili immesse con il post nel form non ci sono.
    Mi viene il dubbio che la mancata chiusura dei tag form e table nel codice HTML da te postato non sia dovuta ad un errato copia/incolla.
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

  8. #8
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    34
    No è stato solo un mio errore nel copiare il codice, nell'index sono presenti entrambi.

  9. #9
    Utente di HTML.it
    Registrato dal
    Feb 2012
    Messaggi
    34
    a scanso di equivoci il file login.php è così:

    Codice PHP:
    <?php     
    session_start
    ();     
    $utenti[]=array("user" => 1"pass" => 1);     
    $utenti[]=array("user" => 2"pass" => 2);     
    $utenti[]=array("user" => 3"pass" => 3);      
    for(
    $i=0;$i<count($utenti);$i++)   {     
    if ((
    $_POST['username']==$utenti[$i]["user"])&&($_POST['password']==$utenti[$i]["pass"])){     $_SESSION["username"]=$username;                 
    header("Location:home.php");     }     
    else {                 
    header("Location:index.php");                 
    }        
    ?>
    solo che mi rimanda sempre all'index e secondo me è perchè $_POST['username'] e $_POST['password'] sono vuoti ma non capisco come mai.

    Spero di essermi spiegato un pò meglio.

  10. #10
    Perchè non posti tutto l'HTML?
    "Mai discutere con un idiota. Ti trascina al suo livello e ti batte con l'esperienza." (Oscar Wilde)

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.