Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 39

Discussione: Errore login php

  1. #1
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75

    Errore login php

    Questa è la mia pagina di login..Lo so non è perfetta ma intanto meglio che niente..Ma mi da un errore stupido..
    Se i campi sono vuoti mi rimanda alla form,sei campi sono pieni fa la query e mi stampa sei loggato con i campi corrispondenti nel database.

    Come faccio a digli che se i valori dei campi sono sbagliati(nome e o pwd errati) da qll che sono presenti nel database mi ritorni alla form?io pensavo che nella query, siccome sono presenti questi 2 campi, lo facesse mysql..Ma nn funziona..HELP:-)

    <?
    session_start();
    session_register("loggato");
    session_register("logout");
    $logout = $HTTP_POST_VARS['logout'];
    session_register("nick");
    $nick = $HTTP_POST_VARS['nick'];
    session_register("psw");
    $psw = $HTTP_POST_VARS['psw'];?>

    <head>
    <link href="css/moduliarial.css" rel="stylesheet" type="text/css">
    <base target="_self">
    </head>

    <body bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" topmargin="0" text="#FFFFFF" bgcolor="#000000" >
    <p align="center" style="line-height: 150%">

    <?$conn=mysql_connect("localhost","root","")
    or die ("Non riesco a connettermi al database");
    $db=mysql_select_db("user",$conn)
    or die ("Non trovo il database specificato");
    $query="SELECT * FROM `anagrafica`where `nick`='" .$_SESSION['nick']. "' and psw='" .$_SESSION['psw']. "'";
    $risultato=mysql_query($query,$conn)
    or die("Interrogazione al database fallita");
    while ($row = mysql_fetch_array($risultato)){
    echo "$row[Cognome] - $row[Nome] - $row[email]-$row[Telefono] - $row[CAP] - $row[Indirizzo]"; }
    if (isset($_REQUEST["nick"])and ($_REQUEST["psw"])){
    $loggato=1;
    if ($_SESSION['logout']<>"")
    unset($_SESSION['loggato']);
    session_destroy();

    ?>
    <?
    if ($_SESSION['loggato']==1){
    ?>
    sei loggato
    <td align="center">
    <form method="post" action="login.php">
    <input name="logout" class="bottone" type="submit" value="Logout">
    </form></td>


    <?}}else {
    ?>

    </p>
    <form method="post" action="login.php">
    <div align="center">
    <table width="118" height="116">
    <tr>
    <td>
    <p align="center"><p align="center">Utente</td>
    <td>
    <p align="center"><p align="center"><font color="#FFFFFF"><input type="text" name="nick" size="8"></font></td>
    </tr>
    <tr>
    <td>
    <p align="center">Password</td>
    <td>
    <p align="center"><font color="#FFFFFF"><input type="password" name="psw" size="8"></font></td>
    </tr>
    <tr>
    <td>
    <p align="center"><input name="log" class="bottone" type="submit" value="Login">
    </form>

    <td align="center">
    <form action="registrazione.php" target="content">
    <input name="reg" class="bottone" type="submit" value="Registrati">
    </form></td>
    </tr>

    </div>
    </table>


    </div>
    </body>
    </html>

    <?}
    ?>

  2. #2
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    Nessuno che mi aiuta?Io ho provato ieri fare cm mi hai detto cris e mi sono sbattuto ma mi da qll errore...inoltre non mi salva la session, l'ho visto adesso,se faccio un refresh della pagina mi torna alla form anche se prima mi ero lggato..

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    intanto comincerei con l'usare gli array "standard" tipo $_POST e poi farei un po' di debug (tipo che cosa ritorna la query? un bell echo non ci starebbe male).
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  4. #4
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    non mi hai capito..mi sono espresso male..la query funziona..e infatti se ti logghi con password e nome utente giusti lui ti stampa nome cognome ecc. relativi a qll user e qll password..
    Poi se io lasci i campi vuoti lui giustamente mi ripresenta la form senza fare niente.
    MA se invece io metto nome utente e password sbagliati lui non mi dice niente sui nome,cognome ecc corrispondenti all'user e alla pwd inserite, ma mi presenta lo stesso il pezzo di codice che mi dice che sono loggato e il pulsante logout.

    Per cui penso sia un problema di if :

    DEve essere così alla fine :

    1)se (user,pwd) sono corretti allora :
    pulsante logout e scritta sei loggato e dati corretti relativi all'user e alla pwd inseriti

    2)se (user,pwd) sono incorretti allora :
    ripresenta la form

    3)se (user,pwd) sono vuoti allora :
    ripresenta la form


    Il primo e il terzo me lo fa, il secondo non me lo fa e non so come scriverlo in codice..

    Tipo dovrei dire : se la query viene eseguita e poi i campi non corrispondon allora user e/o pwd sono errati e ricarica la form.

    MI potresti aiutare?Grazie per la risposta.

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    non registri $loggato nella session. Controlla le parentesi nei vari if (mettile anche per istruzioni singole, dove teoricamente si potrebbero anche omettere).

    Resta comunque il problema che usi array "deprecati" HTTP_POST_VARS adesso è POST ad esempio, così come REQUEST
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  6. #6
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    ma come posso fare per il post sopra a dirgli k se non sono esatti i dati della form mi ripresenta la form?
    mi puoi postare il codice corretto?anche per le post e le request?
    io ho provato a fare con le $_POst ma non mi funzionava..

  7. #7
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    codice:
    <? 
    session_start(); 
    session_register("loggato"); 
    session_register("logout"); 
    $logout = $_POST['logout']; 
    session_register("nick"); 
    $nick = $_POST['nick']; 
    session_register("psw"); 
    $psw = $_POST['psw'];?> 
    
    <head> 
    <link href="css/moduliarial.css" rel="stylesheet" type="text/css"> 
    <base target="_self"> 
    </head> 
    
    <body bottommargin="0" leftmargin="0" marginheight="0" marginwidth="0" rightmargin="0" topmargin="0" text="#FFFFFF" bgcolor="#000000" > 
    <p align="center" style="line-height: 150%"> 
    
    <?php
      $conn=mysql_connect("localhost","root","") or die ("Non riesco a connettermi al database");
      $db=mysql_select_db("user",$conn) or die ("Non trovo il database specificato"); 
      //ok connesso al db, eseguo query
      $query="SELECT * FROM `anagrafica`where `nick`='" .$_SESSION['nick']. "' and psw='" .$_SESSION['psw']. "'";
      $risultato=mysql_query($query,$conn) or die("Interrogazione al database fallita");
      
      //query eseguita con successo, ripesco il risultato
      while ($row = mysql_fetch_array($risultato)) { 
        echo "$row[Cognome] - $row[Nome] - $row[email]-$row[Telefono] - $row[CAP] - $row[Indirizzo]"; 
      }
     
      if (isset($_POST['nick'])and isset($_POST['psw'])) { 
        $loggato=1;
        // devi registrare loggato?
        //session_register('loggato');?
      }
      
      if ($_SESSION['logout']<>"") {
        unset($_SESSION['loggato']);
        session_destroy(); 
      }
      
      if ($_SESSION['loggato']==1) { 
       //è il form per il logout?
    ?> 
    sei loggato 
    <td align="center"> 
    <form method="post" action="login.php"> 
    <input name="logout" class="bottone" type="submit" value="Logout"> 
    </form></td> 
    
    <?php
      }  //non sei loggato
      else {
    ?> 
    
    </p> 
    <form method="post" action="login.php"> 
    <div align="center"> 
    <table width="118" height="116"> 
    <tr> 
    <td> 
    <p align="center"><p align="center">Utente</td> 
    <td> 
    <p align="center"><p align="center"><font color="#FFFFFF"><input type="text" name="nick" size="8"></font></td> 
    </tr> 
    <tr> 
    <td> 
    <p align="center">Password</td> 
    <td> 
    <p align="center"><font color="#FFFFFF"><input type="password" name="psw" size="8"></font></td> 
    </tr> 
    <tr> 
    <td> 
    <p align="center"><input name="log" class="bottone" type="submit" value="Login"> 
    </form> 
    
    <td align="center"> 
    <form action="registrazione.php" target="content"> 
    <input name="reg" class="bottone" type="submit" value="Registrati"> 
    </form></td> 
    </tr> 
    
    </div> 
    </table> 
    
    
     </div> 
    </body> 
    </html> <?php } //chiudo else 
    ?>
    Comunque restano magagne a livello concettuale.
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

  8. #8
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    ah scusami...sn molto bravo su asp...ma con php ho appena iniziato da 2 gg...scusa..allora provo il codice ke mi hai postato e ti so dire subito..

  9. #9
    Utente di HTML.it
    Registrato dal
    Sep 2005
    Messaggi
    75
    Ti rispondo subito..Intanto ti ringrazio perchè ora la session mi resta...ma qll non era il mio problema..Il mio problema è che se inserisco nome utente e password sbagliati mi presenta comunque il pulasnte logout e mi dice che sono loggato..Me lo puoi risolvere per favore?Grazie e scusa se ti disturbo per tt il pome di domenica..

    Inoltre poi se faccio il login giusto poi mi scrive i campi tipo benvenuto nome cognome ecc.., ma se faccio un refresh della pagina mi tiene sì la session ma mi sparicono i dati dell'utente...

  10. #10
    Utente di HTML.it
    Registrato dal
    Aug 2002
    Messaggi
    8,013
    ah... bhè, se andavi a dare una sbirciatina su freephp, la sezione php di html.it, trovavi dei bei tutorial per interazione con database e gestione di sessioni. Comunque, se sai già asp, colmare le lacune in php sarà un processo rapido... basta avere una visione organica del progetto.

    Ad esempio una pagina di login (gestita via sessioni)

    - far partire la sessione
    - recuperare le info di login in $_POST
    - eseguire una query sul database utenti con quelle info e controllare che ci sia un riscontro
    - registrare la login in sessione e redirect a pagina opportuna se il controllo precedente risulta positivo o riproporre la maschera di login
    <´¯)(¯`¤._)(¯`»ANDREA«´¯)(_.¤´¯)(¯`>
    "The answer to your question is: welcome to tomorrow"

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.