-
login php
salve a tutti i forummisti avrei un favore da chiedervi
devo creare un login php diciamo che l'ho già creato se volete ve lo invio comunque eseguito il login mi indirizza nell'area riservata ,ma io voglio che oni utente abbia una pagina a lui dedicata quindi se si logga pippo viene reindirizzato nella pagina pippo se si logga luca viene reindirizzato nella pagina luca ok?
qualcuno può aiutarmi?
-
Non vedo dove sia la difficoltà, se la sessione e la pagina personale dell'utente hanno lo stesso nome, allora ti basta inserire, nella pagina che logga l'utente questo codice:
Codice PHP:
header("Location: " . $_SESSION["nome_utente"] . ".php")
Ma, se per ogni utente devi modificare la stessa pagina, ti consiglio di fare solamente una pagina dinamica, che cambia contenuto a seconda dell'utente, sempre se puoi.
-
se cerchi dovresti trovare qualcosa anche recentemente
-
si qello che dici è giustissimo infatti lo faccio anch io
Codice PHP:
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
<body>
<?
function check($user,$password){
include("utenti.php");
foreach($utenti as $user_ => $password_){
if (($user==$user_) AND ($password==$password_)) {
return true;
}
}
return false;
}
function form_login(){
?>
<form id="login" action="<?=$PHP_SELF?>" method="post">
<div style="text-align:center;margin-left:auto;margin-right:auto;">
Utente:<br>
<input type="text" name="utente" size="20" maxlength="255"><br>
Password:<br>
<input type="password" name="password" size="20" maxlength="255"><br><br>
<input type="submit" value=" OK ">
</div>
</form>
<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
{
//bisogna creare un file per ogni utente registrato ... il nome del file deve //essere uguale al nome dell'utente che deve accedere alla pagina propria.
//ES. abc.php (per utente abc)
//ES. def.php (per utente def)
//e così via
[COLOR="Red"]header("Location:prova.php"); [/COLOR]
}
}else{
form_login();
}
}else{
form_login();
}
?>
</body>
</html>
ma così quando l'utente user si connette va nella pagina prova.php e ci siamo ma se si connette un altro utente tipo pippo e dopo il login volessi indirizzarlo in paginapippo.php come posso fare?
-
Al posto del tuo header, scritto in rosso, dovresti mettere il mio header, o semplicemente facendo una pagina dinamica, se è possibile, come scritto nel mio precedente messaggio.
-
perdona la mia immensa ignoranza in php
ma quindi come sarebbe lo script?
potresti correggere il mio?
-
Citazione:
Originalmente inviato da
provepa
help me!!!!!1
Non è una correzione che si può fare su 2 piedi ma richiede una implementazione più o meno complessa a seconda di ciò che vuoi ottenere...
è difficile che tu possa trovare tra questo forum e quello di html.it un'anima pia che ti faccia lo script...
-
Se vuoi che ogni pagina personale dell'utente abbia lo stesso nome della sessione aperta dall'utente dovresti modificare lo script cosi:
Codice PHP:
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
<body>
<?
function check($user,$password){
include("utenti.php");
foreach($utenti as $user_ => $password_){
if (($user==$user_) AND ($password==$password_)) {
return true;
}
}
return false;
}
function form_login(){
?>
<form id="login" action="<?=$PHP_SELF?>" method="post">
<div style="text-align:center;margin-left:auto;margin-right:auto;">
Utente:<br>
<input type="text" name="utente" size="20" maxlength="255"><br>
Password:<br>
<input type="password" name="password" size="20" maxlength="255"><br><br>
<input type="submit" value=" OK ">
</div>
</form>
<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
{
//bisogna creare un file per ogni utente registrato ... il nome del file deve //essere uguale al nome dell'utente che deve accedere alla pagina propria.
//ES. abc.php (per utente abc)
//ES. def.php (per utente def)
//e così via
header("Location:" . $_SESSION["nome_utente"] . ".php");
}
}else{
form_login();
}
}else{
form_login();
}
?>
Modufica, verso la fine, la $_SESSION["nome_utente"] con il nome della sessione creata dall'utente.
Mentre, se vuoi rendere una pagina visualizzabile in modo diverso per ogni utente, cosa che ti consiglio, in molte occasioni risparmi pagine, dovresti studiarti meglio il php.
-
scusami non voglio spazientirti ti invio i miei script se puoi correggili
index.php
Codice PHP:
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
<body>
<?
function check($user,$password){
include("utenti.php");
foreach($utenti as $user_ => $password_){
if (($user==$user_) AND ($password==$password_)) {
return true;
}
}
return false;
}
function form_login(){
?>
<form id="login" action="<?=$PHP_SELF?>" method="post">
<div style="text-align:center;margin-left:auto;margin-right:auto;">
Utente:<br>
<input type="text" name="utente" size="20" maxlength="255"><br>
Password:<br>
<input type="password" name="password" size="20" maxlength="255"><br><br>
<input type="submit" value=" OK ">
</div>
</form>
<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
{
//bisogna creare un file per ogni utente registrato ... il nome del file deve //essere uguale al nome dell'utente che deve accedere alla pagina propria.
//ES. abc.php (per utente abc)
//ES. def.php (per utente def)
//e così via
header("Location: " . $_SESSION["nome_utente"] . ".php");
}
}else{
form_login();
}
}else{
form_login();
}
?>
</body>
</html>
area_riservata.php
Codice PHP:
<?
session_start();
if(!isset($_SESSION["utente"])){
include("error.htm");
die();
}
?>
[COLOR="Red"]login.php[/COLOR]
<?
session_start();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Login</title>
</head>
<body>
<?
function check($user,$password){
include("utenti.php");
foreach($utenti as $user_ => $password_){
if (($user==$user_) AND ($password==$password_)) {
return true;
}
}
return false;
}
function form_login(){
?>
<form id="login" action="<?=$PHP_SELF?>" method="post">
<div style="text-align:center;margin-left:auto;margin-right:auto;">
Utente:<br>
<input type="text" name="utente" size="20" maxlength="255"><br>
Password:<br>
<input type="password" name="password" size="20" maxlength="255"><br><br>
<input type="submit" value=" OK ">
</div>
</form>
<? }
if(isset($_POST["utente"])){
if (check($_POST["utente"],$_POST["password"])){
$_SESSION["utente"] = $_POST["utente"];
$_SESSION["password"] = $_POST["password"];
echo "ora sei loggato!";
}else{
form_login();
}
}else{
form_login();
}
?>
</body>
</html>
utenti.php
Codice PHP:
<?
/*
Per aggiungere un nuovo utente scrivere:
$utenti["nome_utente"] = "password";
Ad esempio, se si vuole aggiungere l'utente mario con password rossi, scrivere:
$utenti["mario"] = "rossi";
*/
$utenti["admin"] = "admin";
$utenti["user"] = "user";
?>
ti ringrazio anticipatamente e infinitamente se puoi correggimelo