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

    attivare una funzione cliccando sul submit del form

    Ciao! Devo andare a modificare un sito già fatto, il quale ha un form di login in una pagina interna del sito, e si vorrebbe riportarlo anche in home.

    Detta così la cosa sembra semplicissima, ma non lo è. Ho ricopiato il codice pari pari, il form richiama una funzione di login tramite questo pulsante <A href=\"#\" onclick=\"document.frmlogin.submit()\" >[ Login ]</A></DIV>, la funzione di login sembra ben fatta:

    Codice PHP:
    function user_login() {
      global 
    $link;
      global 
    $email_logged;
      global 
    $stato;
      global 
    $bypsw;


    if (
    count($_POST)>0) { //se il post è settato, faccio i controlli sui campi

      
    if (((!isset($_POST['loginemail'])) || (!isset($_POST['loginpsw'])) || (trim($_POST['loginemail'])=='') || (trim($_POST['loginpsw'])=='')) && (!isset($_GET['email']))) {
        
    $stato '<DIV class="testogenerico" style="margin-left:10px;">[img]images/icopericolo.gif[/img]ERRORE [user_login]: Mancano i dati per autenticarti.</DIV>';
        return 
    $stato;
      
      } else {

        
    $email strtolower(trim($_POST['loginemail']));
        
    $password strtolower(trim($_POST['loginpsw']));
        
    $crypt_psw md5($password);   // Se arrivo dalla conferma di registrazione non serve recryptare la psw.

            
    if($bypsw==false)
                  
    $query "SELECT NOME, COGNOME, CONFERMATO, ULTIMOACCESSO, STATOADMIN FROM UTENTI WHERE EMAIL='$email' AND PSW='$crypt_psw'";
            else
                 
    $query "SELECT NOME, COGNOME, CONFERMATO, ULTIMOACCESSO, STATOADMIN FROM UTENTI WHERE EMAIL='$email'";

        
    $result mysql_query($query,$link);
               if(
    mysql_num_rows($result)<1){
          
                  
    $stato='<DIV class="testogenerico" style="margin-left:10px;">[img]images/icopericolo.gif[/img]ERRORE [user_login]: Username o password non trovate ('.mysql_error().')</DIV>';
                return 
    $stato;
        
            } else {
            
                 if(
    mysql_result($result,0,'CONFERMATO')=="1" && mysql_result($result,0,'STATOADMIN')!="B"){
                       
    $nome=mysql_result($result,0,'NOME')." ".mysql_result($result,0,'COGNOME');
                    
    $ultimoaccesso=mysql_result($result,0,'ULTIMOACCESSO');
                    
    user_set_token($email,$nome,$ultimoaccesso);
                    
    $email_logged=$email;
                    
    $query="UPDATE UTENTI SET ULTIMOACCESSO=NOW() WHERE EMAIL='".$_POST['loginemail']."'";
                    
    mysql_query($query,$link);
                    return 
    1;
          
                  } else {
           
                       
    $stato '<DIV class="testogenerico" style="margin-left:10px;">[img]images/icopericolo.gif[/img]ERRORE [user_login]: Se non hai ancora confermato il tuo account confermalo tramite il link che ti abbiamo spedito via mail. Se invece hai lo hai già confermato e non riesci ugualmente a fare il login contatta l\'amministratore.</DIV>';
                    return 
    $stato;
                  }
            }
          }
        }

    però funziona benissimo nella pagina interna, e nella home si limita a ricaricare la pagina!! C'è qualcosa che non colgo??! Grazie...

  2. #2
    ci dovrebbe essere uno javascript nella pagina vedi bene

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.