Limitare accesso a form html con User e Password

  • Creatore Discussione Creatore Discussione newanfa
  • Data di inizio Data di inizio

newanfa

Utente Attivo
12 Mag 2010
131
0
0
Allora Borgo ti spiego meglio quello che vorrei fare io.

1) Io ho la pagina Manchester.html dalla quale invio il form con le caselle della squadra. Ti ricordi?

2) Bene...Siccome il form è diventato perfetto...Per essere perfezionisti ho pensato (anche se non succederebbe mai e anche se il nostro blog è chiuso a noi 7) che chiunque può entrare nella mia pagina e inserire la formazione al mio posto.

3) Allora io vorrei fare così. Quando io dalla Homepage clicco il collegamento alla mia pagina vengo indirizzato ad una pagina con presente Username e Password e se non lo ho devo seguire il pulsante registrati. Uno si deve registrare semplicemente scrivento Nome Cognome Squadra email e pass. I dati vanno nel database e poi la prossima volta uno se scrive es: [email protected] e pass ciao va nella pagina manchester mentre se mette gli altri dati di accesso va nella pagina dell'altra squadra...

Questo si può fare? Perchè mi viene il dubbio di come fare a sapere la password che va a finire in mysql...

4) La cosa importante è che la sessione di ogni squadra deve essere aperta sino a quando uno non resetta il proprio browser un pò come succede su google...

Mi delucidi? Grazie mille!
 
ciao, vediamo se ho capito
1. nella home vuoi un link che ti permetterebbe di accedere ad una pag di log (loggati.php)
2. in loggati php c'è un form in cui inserire user e pass, con il controllo
2.1. se user e pass errati vai ad una pag in cui registrarti (tutti possono registrarsi? o solo voi 7?)
2.2. se pass e user giusta, in funzione di user e pass vai alla pagina del form delle squadre, giusto?
se siete in 7 la pag del form è uguale per tutti e cosa eventualmente cambia (es. qualche indirizzo email o l'oggeto o qualche altra cosa)?

p.s.
per prima cosa ti conviene (anzi necessario) salvare tutte le pagine con estensione .php (aggiustando i vari link interni)

p.s. al p.s.
cosa intendi con

4) La cosa importante è che la sessione di ogni squadra deve essere aperta sino a quando uno non resetta il proprio browser un pò come succede su google...
cioè che i dati del form inseriti rimangano selectati? (con il numero di dati che hai è una rogna)
 
ciao, vediamo se ho capito
1. nella home vuoi un link che ti permetterebbe di accedere ad una pag di log (loggati.php)
2. in loggati php c'è un form in cui inserire user e pass, con il controllo
2.1. se user e pass errati vai ad una pag in cui registrarti (tutti possono registrarsi? o solo voi 7?)
2.2. se pass e user giusta, in funzione di user e pass vai alla pagina del form delle squadre, giusto?
se siete in 7 la pag del form è uguale per tutti e cosa eventualmente cambia (es. qualche indirizzo email o l'oggeto o qualche altra cosa)?

p.s.
per prima cosa ti conviene (anzi necessario) salvare tutte le pagine con estensione .php (aggiustando i vari link interni)

p.s. al p.s.
cosa intendi con

cioè che i dati del form inseriti rimangano selectati? (con il numero di dati che hai è una rogna)
Allora per il punto 1 ci siamo.

2) La pagina loggati.html ha un form con nome utente(email) e password e nella stessa pagina il tasto REGISTRATI se non ti sei già loggato precedentemente. Altrimenti i miei amici se vedono solo user e password la prima volta mi dicono che non possono accedere perchè non si sono registrati.
2.1) Ci dobbiamo registrare noi 8.
2.2) Se mail e pass giuste ognuno deve essere reindirizzato alla propria pagina di form per l'invio della squadra.
Se per esempio io metto manutd2003 e pass manchester vado a manchester.php, mentre con un'altra mail e password vai da un'altra pagina.

Per quanto riguarda l'ultimo punto intendo dire che se io mi sono loggato...invio tranquillamente la squadra e poi continuo ad utilizzare il blog. ..se ritorno sulla pagina non devo rieffettuare il log almenochè non ho fatto il logout...
 
ciao
mi serve sapere che differenza c'è tra le varie pagine di voi 8 e cosa di uguale.
è inutile e controproducente fare 8 pagine che si differenziano per poco

edit
dimenticavo
la pass la scelglie l'utente? la sua email deve essere unica?
 
Non so se ti ricordi. Ogni pagina è completamente diversa dall'altra in quanto cambiano tutti i select e gli option e i vari indirizzi email.

Ognuno avrà una mail unica e una passwors unica che è quella che sceglieremo al momento della registrazione e che andrà a finire nel database.
 
ciao
un esempio di pagina di log, guarda se può fare il caso tuo
leggi i commenti
PHP:
<?php
ob_start();
session_start();
//simulo una tabella del db chiamata utenti con un array
$utente=array();
$utente['pinco']='[email protected]';
$utente['pallo']='[email protected]';
$utente['pallino']='[email protected]';
$utente['sempronio']='[email protected]';
$utente['sofonisba']='[email protected]';
$utente['asdrubale']='[email protected]';
$utente['attenzio']='[email protected]';
$utente['pancrazio']='[email protected]';
//qui si potrebbe fare un require_once "elenco_pass.php"; //se non usi il db
//o eventualmente usare un file txt (piu rognoso a fare)
//***************************
if(isset($_POST['log'])){
	$errori="";
	if(!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){//valido l'indirizzo email
		$errori.="hai inserito un indirizzo non valido<br />";
	}else{
		$email=$_POST['email'];
	}
	if(htmlspecialchars(trim($_POST['pass'])) ==""){//valido la password
		$errori.="la password non pu&ograve; essere vuota<br />";
	}else{
		$pass= strtolower($_POST['pass']);
	}
	if($errori==""){//se non ci sono errori controllo se registrato
		if(!isset($utente[$pass])){
			$errori.="non sei autorizzato ad entrare<br />";//l'utente NON è registrato
		}else{
			if($email != $utente[$pass]){
				$errori.="paswsword e email non coincidono<br />";
			}
		}
		if($errori==""){//tutto è andato ok
			$_SESSION['email']=$email;//queste due sessioni mi serviranno nella riservata
			$_SESSION['pass']=$pass;
			header ('location: pagina_riservata.php');//riinvio alla pagina riservata
			/*oppure se vuoi mantenere una pagina per utente potresti fare
			switch($pass){
				case 'pinco': header ('location: pagina_di_pinco.php');
				break;
				case 'pallo': header ('location: pagina_di_pallo.php');
				break;
				//eccetera......
			}
			*/
			exit();
		}
	}
	//ci sono stati errori quindi mostro messaggio e rimando al form
	echo $errori;
	header("Refresh content=3; URL={$_SERVER['PHP_SELF']}");
	exit();
}
?>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<table width="37%"  border="0" cellspacing="0" cellpadding="0">
  <tr>
    <td width="25%">tua email</td>
    <td width="42%"><input name="email" type="text"></td>
    <td width="33%">&nbsp;</td>
    </tr>
  <tr>
    <td>tua password </td>
    <td><input name="pass" type="password"></td>
    <td>&nbsp;</td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td>&nbsp;</td>
    <td><input name="log" type="submit" id="log" value="loggati"></td>
    </tr>
  <tr>
    <td>&nbsp;</td>
    <td><a href="registrati.php">registrati</a></td>
    <td><a href="index.php">esci</a></td>
    </tr>
</table>
</form>
<?php
ob_end_flush();
?>

se poi gli utenti sono solo 8 (al massimo una decina) forse non ti conviene usare un db (a meno che non ti serva per altro) ma assegni tu le password e usi lo script che ti ho postato
 

Discussioni simili