Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14
  1. #1

    [php]Problema con funzione "Login Automatico"

    Ciao, ho creato un sito e do' la possibilità agli utenti di loggarsi per accedere ad alcune funzioni extra ma la funzione di login automatico che in locale

    funziona perfettamente su Altervista non va'

    Questo è il codice della pagina login.php

    codice:
    	#LOGIN
    	#RECUPERO DATI
    	
    	$User = $_POST["User"];
    	$Pwd = $_POST["Pwd"];
    	
    	#LOGIN AUTOMATICO
    	if (isset($_POST["Auto"])){
    		$Auto = 1;
    	}
    	
    	#CONTROLLO CAMPI VUOTI
    	if ($User == "" | $Pwd == "") {
    		redirect("home.php?err=empty",0);
    	}
    	
    	#CONTROLLO USERNAME
    	
    	#INCLUSIONE CONNESSIONE
    	include ("../include/connessione_db.php");
    	
    	#ESTRAGGO IL RECORD RELATIVO ALL'USERNAME
    	$sql = "SELECT Pwd, Ruolo FROM comuc_utenti WHERE User ='$User';";
    	$rs = mysql_db_query($database,$sql);
    	$recordcount = mysql_num_rows($rs);
    	
    	if ($recordcount == 1) {
    		$PwdDatabase = mysql_result($rs,0,"Pwd");
    		
    		if ($PwdDatabase == $Pwd) {
    			session_start();
    			$_SESSION["User"] = $User;
    			$_SESSION["Ruolo"] = mysql_result($rs,0,"Ruolo");
    			
    			#LOGIN AUTOMATICO
    			if ($Auto == 1) {
    				$Scadenza = time() + 31536000;
    				setcookie("User",$User,$Scadenza);
    				setcookie("Ruolo",mysql_result($rs,0,"Ruolo"),$Scadenza);
    			}
    			
    			#AGGIORNA ULTIMO ACCESSO
    			$sql = "update comuc_utenti SET UltimoAccesso = Now() WHERE User='$User';";
    			$rs = mysql_db_query($database,$sql);
    			
    			redirect("home.php",0);
    		}
    		else {
    			redirect("home.php?err=pwd",0);
    		}
    	}
    	else {
    		redirect("home.php?err=user",0);
    	}
    	mysql_close($cn);
    		
    	#FUNZIONE PER IL REDIRECT
    	function redirect($url,$timeout=0) 
    	{
    		echo "\n<script language=\"javascript\">\n";
    		if($timeout == 0) 
    		{
    			echo "  window.location=\"$url\";\n";
    		}
    		else 
    		{
    			echo "string=\"\", timeout = ".($timeout*10).";\n";
    			echo "function dorefresh() {\n";
    			echo "  window.status=\"\"+string;"; 
    			echo "  string = string + \" \";";
    			echo "  timerID = setTimeout(\"dorefresh();\", 100);\n";
    			echo "  if (timeout > 0) {";
    			echo "    timeout -= 1;\n";
    			echo "  } else {\n";
    			echo "    clearTimeout(timerID);\n";
    			echo "    window.status=\"\";\n";
    			echo "    window.location=\"$url\";\n";
    			echo "  }\n";
    			echo "}\n";
    			echo "dorefresh();";
    		}
    		echo "\n</script>\n";
    	}
    Per verificare se un utente è loggato utilizzo questo codice:
    codice:
    	session_start();
    	
    	if (isset($_SESSION["User"]) && isset($_SESSION["Ruolo"])) {
    		$User = $_SESSION["User"];
    		$Ruolo = $_SESSION["Ruolo"];
    	}
    	
    	if (isset($User) == false) {
    		if (isset($_COOKIE["User"]) && isset($_COOKIE["Ruolo"])) {
    			$User = $_COOKIE["User"];
    			$Ruolo = $_COOKIE["Ruolo"];
    			$_SESSION["User"] = $User;
    			$_SESSION["Ruolo"] = $Ruolo;
    		}	
    	}
    In più nonostante tutti gli utenti riescano a loggarsi perfettamente un solo utente si è lamentato perchè dice che non riesce a loggarsi in quanto

    quando sull'homepage preme il tasto Login la pagina viene ricaricata tale e quale senza messaggi di errore...

    Io ho provato a fare il login con i suoi dati e tutto funziona perfettamente da che cosa può dipendere?
    premetto che questo utente utilizza Win 98 SE, browser IE e connessione Alice Flat e dice inoltre che con altri siti non ha alcun tipo di problema...

    Gli ho già anche detto di abbassare la protezione "Privacy" di IE ma senza ottenere alcun risultato anche con il settaggio impostato a "Protezione

    nulla"!

    Ciao e grazie a tutti!

  2. #2

  3. #3
    nessuno mi aiuta?

  4. #4

  5. #5
    nessuno mi sa aiutare?

  6. #6

  7. #7
    Originariamente inviato da Etilico
    Quello che descrivi e' tipico di un utente che ha i cookies disabilitati. Se poi e' uno solo, ne hai la conferma.

    Che significa poi LOGIN automatico???? Che lo user si connette al solo richiamare la pagina????


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  8. #8
    Originariamente inviato da piero.mac
    Quello che descrivi e' tipico di un utente che ha i cookies disabilitati. Se poi e' uno solo, ne hai la conferma.

    Che significa poi LOGIN automatico???? Che lo user si connette al solo richiamare la pagina????

    ma all'utente ho detto di abbassare le restrizioni di IE e lui le ha impostate a "Nulla" quindi dovrebbe accettare tutti i cookies...

    Per LOGIN Automatico intendo che quando richiama una pagina del sito e ha questa impostazione seleziona si connette automaticamente... una specie di riconoscimento degli utenti che hanno già fatto il login...

  9. #9
    Originariamente inviato da Etilico
    ma all'utente ho detto di abbassare le restrizioni di IE e lui le ha impostate a "Nulla" quindi dovrebbe accettare tutti i cookies...

    Per LOGIN Automatico intendo che quando richiama una pagina del sito e ha questa impostazione seleziona si connette automaticamente... una specie di riconoscimento degli utenti che hanno già fatto il login...
    Se funzionano gli altri il problema e' suo e non tuo. Anche se rimane discutibile in termini di sicurezza il login automatico, il tipo dovra' pur fare un login la prima volta che si connette. Se viene inviato ad una pagina bianca lo devi verificare tu dove fai il redirect. In questo caso potresti avere un bug, nel senso si verifica un evento che non e' previsto dallo scritp. Per esempio nel caso che $_SESSION rimanesse vuoto. Sarebbe settato e quindi valido per ISSET, ma con contenuto = vuoto.

    Direi che e' uno script datato... si vede anche dall'uso di myslq_db_query dato come deprecato.

    Vedi se lo user e' in condizione di dirti il nome della pagina in cui finisce.... oppure se hai degli output esclusivamente condizionati dall'esito della query.


    Il silenzio è spesso la cosa migliore. Pensa ... è gratis.

  10. #10
    allora dico all'utente che sono cavoli suoi... per quanto riguarda il login automatico sapete consigliarmi uno script migliore...

    Cosa significa questo passaggio "Direi che e' uno script datato... si vede anche dall'uso di myslq_db_query dato come deprecato"??


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.