login con indirizzo a pagine diverse

Marco196943

Utente Attivo
19 Ago 2012
66
0
0
Salve a tutti Vorrei rompervi ancora un pò le scatoline, ho creato un login e vorrei dare la possibilità al solo amministratore di accedere ad unaltra pagina tramite username e password, ora mi sto impicciando con gli if e gli else e le graffe e le tonde :hammer:potete aiutarmi a capire? grazie per l'attenzione vi posto il codice


PHP:
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['email'])) {
  $loginUsername=$_POST['email'];
  $password=$_POST['password'];
  $MM_fldUserAuthorization = "";
  $MM_redirectLoginSuccess = "ok.php";
  $MM_redirectLoginFailed = "accesso ko.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_iscritti, $iscritti);
  
  $LoginRS__query=sprintf("SELECT email, password FROM iscrizioni WHERE email=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $iscritti) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
?>
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
potresti provare a procedere in due modi
se l'adm ha il suo user e pass (ti scrivo in pseudo codice)
if usn== userm_dell_admin e pass== pass_dell_admin
mandi alla pag dell admin
else
alla pagina utente

oppure metti nella tabella iscrizioni un campo chiamato autorizzazione
quando cerchi l'user e la pass estrai anche quel campo
if campo autorizzazione == 1
mandi alla pag dell admin
else
alla pagina utente

il sencondo, per me, è migliore
 

Longo8

Utente Attivo
28 Mar 2011
1.694
0
36
Si infatti meglio il secondo. Se vuoi creare un secondo admin in futuro o cambiare quello
Che c'è (oppure semplicemente cambiare password) dovresti modificare anche il codice. Invece con un altro campo nella tabella puoi fare tutto senza mettere mani alle pagine.
 

Marco196943

Utente Attivo
19 Ago 2012
66
0
0
hehehe vi piace vincere facile è:mavieni: allora dunque se ho capito bene:
nel mio db aggiungo un campo autorizzazione i settaggi del campo varchar, null, 255, mysam come primo id creato da me? prima domanda.
poi la query diventerà
PHP:
 $LoginRS__query=sprintf("SELECT email, password FROM iscrizioni & autorizzazione WHERE email=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));
grazie ragazzi per l'aiuto
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
no, no
PHP:
 $LoginRS__query=sprintf("SELECT email, password, autorizzazione  FROM iscrizioni  WHERE email=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text"));

poi devi etrarre il vcampo autorizzazione con un mysql_fetch_array o simile
 

Marco196943

Utente Attivo
19 Ago 2012
66
0
0
no credo di non aver compreso pienamente, ho creato il campo nel db, ho rifatto la query includendo il campo ma non riesco ad andare avanti...

PHP:
<?php
// *** Validate request to login to this site.
if (!isset($_SESSION)) {
  session_start();
}

$loginFormAction = $_SERVER['PHP_SELF'];
if (isset($_GET['accesscheck'])) {
  $_SESSION['PrevUrl'] = $_GET['accesscheck'];
}

if (isset($_POST['email'])) {
  $loginUsername=$_POST['email'];
  $password=$_POST['password'];
  $MM_fldUserAuthorization = "autorizzazione";
  $MM_redirectLoginSuccess = "ok.php";
  $MM_redirectLoginFailed = "accesso ko.php";
  $MM_redirecttoReferrer = false;
  mysql_select_db($database_iscritti, $iscritti);
  	
  $LoginRS__query=sprintf("SELECT email, password, autorizzazione FROM iscrizioni WHERE email=%s AND password=%s",
  GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $iscritti) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
    
    $loginStrGroup  = mysql_result($LoginRS,0,'autorizzazione');
    
	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;	      

    if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
 

Marco196943

Utente Attivo
19 Ago 2012
66
0
0
ok così sembra che abbia risolto, certo da database è un altra cosa ma non riesco...
ora come posso applicare dei controlli mi spiego meglio se l'admin inserisce una password errata, o un email errata ma la password giusta, come posso con il php dire password errata o email errata?

PHP:
  $LoginRS__query=sprintf("SELECT email, password FROM iscrizioni WHERE email=%s AND password=%s",
    GetSQLValueString($loginUsername, "text"), GetSQLValueString($password, "text")); 
   
  $LoginRS = mysql_query($LoginRS__query, $iscritti) or die(mysql_error());
  $loginFoundUser = mysql_num_rows($LoginRS);
  if ($loginFoundUser) {
     $loginStrGroup = "";
    
	if (PHP_VERSION >= 5.1) {session_regenerate_id(true);} else {session_regenerate_id();}
    //declare two session variables and assign them
    $_SESSION['MM_Username'] = $loginUsername;
    $_SESSION['MM_UserGroup'] = $loginStrGroup;
		   
	 if (isset($_SESSION['PrevUrl']) && false) {
      $MM_redirectLoginSuccess = $_SESSION['PrevUrl'];	
    }
	if ($loginUsername == '[email protected]' && $password== 'admin') {
header("Location: http://www.miosito.com" );
} 
else
    header("Location: " . $MM_redirectLoginSuccess );
  }
  else {
    header("Location: ". $MM_redirectLoginFailed );
  }
}
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.046
150
63
PR
www.borgo-italia.it
ciao
volevo farti un'osservazione sulla sicurezza
PHP:
<?php
//.....
$loginUsername=$_POST['email'];
$password=$_POST['password']; 
//.....
?>
leggi http://hashphp.org/
in particolare sulle SQL injection http://en.wikipedia.org/wiki/SQL_injection
dacci un occhio e pensa se il tuo sistema (l'hai fatto tu ?) è sicuro
detto questo mi sembra che tu ti stia complicando inutilmente la vita, o usi le pdo facendo felice il sommo o le vecchie (sane) query

p.s.
questo l'eviterei
session_regenerate_id
 

Marco196943

Utente Attivo
19 Ago 2012
66
0
0
ciao borgo, io uso dream e secondo il codice che mi dà lo adatto alle mie esigenze, ora leggo gli articoli e cerco di capirci qualcosa. grazie Marco
 
Discussioni simili
Autore Titolo Forum Risposte Data
L Problemi con il login PHP 2
A Problema login con Safari PHP 14
L login con solo un codice PHP 3
M Effettuare Login con dati Json Sviluppo app per Android 0
L [PHP] login con password_verify PHP 3
L [PHP] login con varie entrate PHP 3
L [PHP] login con password_verify - password_hash PHP 5
M [PHP] Problemi con il riconoscimento login. PHP 21
F Problema con pagine login in PHP PHP 2
M [PHP] Problemi con login facebook PHP 0
L [PHP] login e protezione pagine con session PHP 3
L [PHP] login con la classe medoo.in PHP 5
I [PHP] login con sessione singola PHP 1
D [PHP] Login Multiutente con pagina privata PHP 5
Fuego2806 [Joomla] Problema di login con il nuovo template Joomla 0
S [PHP] Problemi con Login e pagina Utente PHP 5
webmachine [PHP] Problemi con Login e pagina Utente PHP 3
F Problemi login con lo script php PHP 2
A Area riservata con login e mysql ma nn mi logga PHP 1
C Login con username con accento tipo "Canicattì" PHP 5
F file_get_contents e pagine con login PHP 4
M Script php login con password in scadeza ogni tre mesi PHP 2
D Login con sessioni per 2 pagine diverse PHP 2
L login con codice fiscale PHP 4
filomeni Due Login con stessa password PHP 1
S login con pagine tutte personalizzate dall' utente loggato PHP 3
S problema con ajax semplice login script Javascript 8
D aiuto con pag di login in php PHP 1
F login con certificato digitale PHP 1
L problema login con variabili PHP 7
S Problema con login e cookie PHP 5
L pdo con login PHP 2
L login con pdo/mysql PHP 2
F Login con Facebook Javascript 0
L login semplice con array PHP 10
S Plugin login/ registrazione Wordpress con area download privata WordPress 3
S Problema di login con PDO PHP 2
M Login con php PHP 2
P Login con data e ora PHP 34
P Problema con login e password PHP 54
L Problema con login in Dreamweaver CS5 PHP 2
I Integrazione login con portale esterno al blog WordPress 1
valient13 Login con livelli PHP 1
E [PHP + MySql] Sito con login e sessioni PHP 8
A Script login con pagina utente PHP 9
asevenx login con registrazione e cookie che salva i dati con sistema "ricordami" PHP 3
S script login con funzione "ricordami" tramite cookie..... PHP 12
max_400 Proteggere login con autenticazione database PHP 19
L [PHP/MYSQL] Login con ricordo utente PHP 1
S Area riservata con login e mysql PHP 20

Discussioni simili