Area Riservata Mysql+php

xMorpheus84x

Nuovo Utente
22 Giu 2009
3
0
0
Dovrei creare un area ad accesso riservato nel mio sito cerco qualcuno disposto a darmi una mano in cambio posso publicizzare sul mio sito il creato e inserire il suo link. Comunque io ho gia qualcosa ma non soddisfa le mie esigenze per questo cerco qualcuno in grado di aiutarmi. E' importante sono un ragazzo serio.
Grazie
Simone
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
prima di tutto è necessario strutturare il database, direi che tre campi come i segunti dovrebbero bastare:
  • ID, intero, autoincrement, chiave primaria
  • username, varchar
  • password, varchar
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Seconda parte, il form:
PHP:
<?php 
session_start ();//facciamo partire la sessione
//controlliamo i dati inviati    
 if ((!isset($_POST['utente'])) && (!isset($_POST['password']))) 
 { 
// ecco il form
  echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\"> 
  User: <input type=\"text\" name=\"username\"><br> 
  Password: <input type=\"password\" name=\"password\"><br> 
  <input type=\"submit\" value=\"Invia\"></form>"; 
  }else{ 
// query in tabella
  $sql = mysql_query("SELECT * FROM tabella WHERE username='".$POST['username']."' AND '".$_POST['pasword']."'");
  if (mysql_num_rows($sql)>0)
  {
  $_SESSION['username']=$_POST['username']; 
  $_SESSION['password']=$_POST['password']; 
  header("Location: pagina_riservata.php");
  }
 else {echo "Login errato";} 
  }
?>
 
Ultima modifica:

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
Ultima parte, la pagina riservata:
PHP:
<?php
session_start();
if(isset($_SESSION['username'])&& isset($_SESSION['password']))
{
echo "Ciao " . $_SESSION['username']; 
}else{
header("Location: form.php");
}
?>

quello che ti ho mostrato è un esempio estremamente semplice, con un pò di studio imparerai a personalizzarlo.
 

xMorpheus84x

Nuovo Utente
22 Giu 2009
3
0
0
area riservata

grazie per l'aiuto, ma uno semplice lo avevo pure io a me serve una mano a personalizzarlo per il mio sito partendo dal presupposto che non conosco il php.
grazie
simone
 

xMorpheus84x

Nuovo Utente
22 Giu 2009
3
0
0
devono loggarsi piu utenti e ogni utente deve avere accesso ai suoi dati personali oltre a quelli che devono essere inseriti da un amministratore.
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
basta che ti crei una tabella relativa ai dati degli utenti, ad ogni record associ l'id del relativo utente ricavandolo dalla tabella che ho strutturato nel mio esempio
 

lucab67

Nuovo Utente
17 Ago 2009
16
0
0
Pescara
login utenti php/mysql

Salve,
scusatemi se mi intrometto nella discussione ma è da poco che utilizzo PHP e MySql - ho trovato l'argomento affrontato da xMorpheus84x e soprattutto le risposte di Eliox molto esaustive al mio problema (login di più utenti e ogni utente accede esclusivamente ai suoi dati personali ben archiviati nel database).
Ho cercato di seguire i tuoi consigli Eliox creando ed associando ad ogni record l'id del relativo utente ricavandolo da una tabella che ho creato nel mio database.
Tutto sembra funzionare bene ma ad un certo punto mi sono ritrovato con il problema che nel file login.php se l'utente sbaglia il login non mi compare l'istruzione echo "login errato";
Forse ho fatto un pò di bordello con lo script php e HTML.


ecco "login.php"
<?php
//connessione al databese
include 'connect.php';

//parte la sessione
session_start ();

//controllo dei dati inviati
if ((!isset($_POST['username'])) && (!isset($_POST['password'])))
{

// form per il login
echo "<form method=\"post\" action=\"".$_SERVER['PHP_SELF']."\">
User: <input type=\"text\" name=\"username\"><br>
Password: <input type=\"password\" name=\"password\"><br>
<input type=\"submit\" value=\"Invia\"></form>";
}else{

// query tabella utenti
$sql = mysql_query("SELECT * FROM utenti WHERE username='".$_POST['username']."' AND password=MD5('".$_POST['password']."')");
while ($prova = mysql_fetch_array($sql)) {
$num= $prova[0];

if (mysql_num_rows($sql)>0)
{
$_SESSION['username']=$_POST['username'];
$_SESSION['password']=$_POST['password'];
//passo la variabile con ID dell'utente
header("Location: pagina_riservata.php?id=$prova[0]");
}
else {echo "Login errato";}
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<head>
<title>La mia prima pagina XHTML</title>
<link rel="stylesheet" href="stile.css" type="text/css">
<link rel="shortcut" href="http://localhost/favicon.ico">
</head>
<body>
<div id="contenitore">
<h1>AREA LOGIN!</h1>


<--dovrei mettere qui lo script relativo al form-->
<div class="footer">
<?php include 'footer.php'; ?>
</div>
</div>
</body>
</html>



ll file "pagina_riservata.php":

<?php
//connessione al database
include 'connect.php';

$result = $_GET['id'];

//inizio sessione per l'utente che ha effettuato il login
session_start();
if(isset($_SESSION['username'])&& isset($_SESSION['password']))
{

echo "Benvenuto " . $_SESSION['username'];

}else{
header("Location: form.php");

}

?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<head>
<title>prova</title>
<link rel="stylesheet" href="stile.css" type="text/css">
<link rel="shortcut" href="http://localhost/favicon.ico">
</head>
<body>
<div id="contenitore">
<?php

//query tabella anagrafico
$query_limit = mysql_query("SELECT * FROM personale WHERE anagrafico.utente_id = '$result'");
while($risultato = mysql_fetch_array($query_limit)) {
$cognome = $risultato[2];
$nome = $risultato[3];
$data_nascita = $risultato[4];
$luogo_nascita = $risultato[5];

//stampa della tabella con i dati
echo "<table>\n";
echo "<tr>\n";
echo "<td>" . $cognome . "&nbsp</td>\n";
echo "<td>" . $nome . "&nbsp</td>\n";
echo "<td>" . $data_nascita . "&nbsp</td>\n";
echo "<td>" . $luogo_nascita . "&nbsp</td>\n";
echo "</tr>\n";
echo "</table>\n";
}
?>

è sicuramente pieno di errori ma.....:boxing:perdonatemi !!! E' da poco che mi cimento in queste cose (autodidatta ).
Dov'è che ho sbagliato?
Grazie per l'aiuto

P.S.: ho creato anche un semplice script per logout
 

Eliox

Utente Attivo
25 Feb 2005
4.390
3
0
stampati il valore restituito da mysql_num_rows(), se ti restituisce più di 0 anche nel caso in cui i dati siano errati l'errore sta li
 

lucab67

Nuovo Utente
17 Ago 2009
16
0
0
Pescara
Grazie per avermi risposto:fonzie:
Ho provato a chiamare l'istruzione if (mysql_num_rows($sql)>0) prima del ciclo while ($prova = mysql_fetch_array($sql)) { è sembra che funzioni perfettamente.
Ti posto la parte dello script modificato:

// query tabella
$sql = mysql_query("SELECT * FROM utenti WHERE username='".$_POST['username']."' AND password=MD5('".$_POST['password']."')");

if (mysql_num_rows($sql)>0)
{
while ($prova = mysql_fetch_array($sql)) {
$num= $prova[0];

$_SESSION['username']=$_POST['username'];
$_SESSION['password']=$_POST['password'];
header("Location: pagina_riservata.php?id=$prova[0]");
}
}else{
echo "Login errato";
}
}
?>

Ora, dovrei necessariamente suddividere i dati della persona in più tabelle da presentare quindi in più pagine php. Una volta che è stato effettuato il login con form.php è sufficiente inviare $result = $_GET['id']; in ogni pagina riferita alla persona?
 

programmatore

Utente Attivo
21 Ago 2009
111
0
0
programmatore.altervista.org
Effettua le seguenti modifiche. Il primo pezzo è quello che hai appena modificato, il secondo è l'inizio di ogni altro file php dove volevi leggere il parametro 'id'.

Codice:
$_SESSION['password']=$_POST['password']; 
[COLOR="Red"]$_SESSION['user_id']=$prova[0];[/COLOR]
//passo la variabile con ID dell'utente 
[COLOR="red"]header("Location: pagina_riservata.php");[/COLOR] // no parametro

Codice:
if (!isset($_SESSION['user_id'])) die("Utente non registrato");
[COLOR="red"]$result=$_SESSION['user_id'];[/COLOR] // no $_GET['id];
 
Ultima modifica:

lucab67

Nuovo Utente
17 Ago 2009
16
0
0
Pescara
:fonzie: Ho fatto le modifiche allo script ...perfetto....funziona benissimo..la variabile dell'Id utente viene passata regolarmente in tutte le pagine...per il momento và bene così..ci sono sicuramente altre migliorie da fare dal punto di vista della sicurezza (nel form di login immagino), cercherò di farle autonomamente altrimenti....tam tam al forum.
Grazie ancora e.....vista l'ora...buonanotte :dormo:
 

Serena Angeli

Nuovo Utente
24 Apr 2014
1
0
0
ciao ma se volessi tornare alla pagina riservata come devo creare il link per passargli l'id della persona loggata.
 
Discussioni simili
Autore Titolo Forum Risposte Data
gandalf1959 [PHP] Verifica password per accesso ad area riservata PHP 3
M [WordPress] [HTML] AREA RISERVATA CON PROFILAZIONE WordPress 2
F [PHP] Creare un'area web riservata PHP 13
W Area riservata sicura PHP MySQL PHP 12
I Area riservata in PHP PHP 2
I [PHP] CURL per accesso ad area riservata PHP 6
W. YouneS Area riservata con php e mysql PHP 0
W [ASP] Password Login per area riservata Classic ASP 13
Recover Area riservata con database PHP 11
gandalf1959 problema con header in area riservata PHP 4
A area riservata in php senza data base PHP 19
Recover db in sola lettura su area riservata WordPress 1
L Accesso area riservata tramite QR code WordPress 3
A accesso area riservata nn funziona più PHP 1
A Area riservata con login e mysql ma nn mi logga PHP 1
E consigli per piccola area riservata PHP 4
Elisacau Area riservata.. WordPress 2
I Area riservata con contenuto personalizzato per i registrati? Content Management System (CMS) 0
B Area Riservata/Download per Wordpress WordPress 3
M Problema con form per accesso area riservata ai soci PHP 2
A problema con area riservata PHP 6
N Primo accesso area riservata PHP 1
neo996sps PHP + MYSQL: Errore su accesso area riservata PHP 1
P Area riservata con frontpage PHP 10
S Area riservata PHP PHP 3
F Area Riservata PHP+MySql - Chi mi corregge il codice??? PHP 18
S area riservata con mysql PHP 29
S Area riservata con login e mysql PHP 20
J Creare file html da un form in area riservata PHP 9
G Problema area riservata con IE PHP 6
B Aumentare livello di sicurezza accesso client area riservata Classic ASP 5
M Come creare un area riservata PHP 4
N impedire accesso area riservata a utenti registrati Database 3
D Creare Area RiservaTA PHP 8
A Area Riservata Manager - HELP !! PHP 2
R HTTP_REFERER e area riservata.. PHP 1
R Problema con area riservata... PHP 4
SolidSnake4 area riservata PHP 20
borgo italia Accesso area riservata PHP 6
A area riservata asp Classic ASP 20
B creare un'area riservata PHP 1
N Area riservata proprio sito PHP 18
S Area Riservata Classic ASP 6
W Help - area riservata Classic ASP 3
G area riservata con phpbb3 phpBB 1
I accesso area riservata multilivello PHP 1
W come si crea un area riservata HTML e CSS 5
D A ciascuno la prorioa area riservata PHP 0
K Area riservata - Limitazione tentativi inserimento PHP 0
K logout area riservata Classic ASP 1

Discussioni simili