• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Creare un sistema di login e registrazione in PHP & MySQL

Kaito

Utente Strepitoso
Autore del topic
16 Febbraio 2011
4.511
47
Miglior risposta
0
Vi lascio questo video-tutorial su come realizzare un sistema di login e registrazione utilizzando PHP & MySQL. Spero vi sia d'aiuto. Nella descrizione è presente il download del progetto.

[yt]mS77dMaC06o[/yt]
 
  • Like
Reactions: 3 people
Riferimento: Creare un sistema di login e registrazione in PHP & MySQL

Salve ma dove scarico il file dell'esempio?
 
Intanto grazie mille per il progetto !
Volevo chiedere un info se possibile.
Ho integrato i file in un mio progetto e purtroppo ho degli errori che non essendo del mestiere con riesco a risolvere .....

Vorrei bloccare la possibilità di navigare le pagine se prima non si è fatto il login, e il codice che ho utilizzato è il seguente:

?php
include('core.php');
if(isset($_SESSION['username'])) {
$userid = $_SESSION['userid'];
$last_login = mysql_result(mysql_query("SELECT last_login FROM users WHERE id='$userid'"), 0);
} else {
header('Location: login.php');
}
?>

E l'errore che mi restituisce se apro la pagina è:

Fatal error: Cannot redeclare clear() (previously declared in /var/www/gestionale/core.php:10) in /var/www/gestionale/core.php on line 12

Allora ho provato a modificare il codice in questo modo:
<?php
if(isset($_SESSION['username'])) {
$userid = $_SESSION['userid'];
$last_login = mysql_result(mysql_query("SELECT last_login FROM users WHERE id='$userid'"), 0);
}
?>

E l'errore è il seguente:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/gestionale/risorsa_find.php:19) in /var/www/gestionale/core.php on line 2

Qualche idea ?
Grazie ancora
 
Ultima modifica:
Intanto grazie mille per il progetto !
Volevo chiedere un info se possibile.
Ho integrato i file in un mio progetto e purtroppo ho degli errori che non essendo del mestiere con riesco a risolvere .....

Vorrei bloccare la possibilità di navigare le pagine se prima non si è fatto il login, e il codice che ho utilizzato è il seguente:

<?php
include('core.php');
if(isset($_SESSION['username'])) {
$userid = $_SESSION['userid'];
$last_login = mysql_result(mysql_query("SELECT last_login FROM users WHERE id='$userid'"), 0);
} else {
header('Location: login.php');
}
?>

E l'errore che mi restituisce se apro la pagina è:

Fatal error: Cannot redeclare clear() (previously declared in /var/www/gestionale/core.php:10) in /var/www/gestionale/core.php on line 12

Allora ho provato a modificare il codice in questo modo:
<?php
if(isset($_SESSION['username'])) {
$userid = $_SESSION['userid'];
$last_login = mysql_result(mysql_query("SELECT last_login FROM users WHERE id='$userid'"), 0);
}
?>

E l'errore è il seguente:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/gestionale/risorsa_find.php:19) in /var/www/gestionale/core.php on line 2

Qualche idea ?
Grazie ancora

Te l'ho corretto:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Fammi sapere ;)
 
Te l'ho corretto:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Fammi sapere ;)

Grazie mille per la disponibilità,
ho provato il codice da te corretto, ma purtroppo mi indirizza sempre alla pagina di login indifferentemente se solo loggato oppure no.

Ho fatto dei test e alla fine ho utilizzato il codice seguente con esito positivo:

<?php
session_start();

if (!(isset($_SESSION['username']) && $_SESSION['username'] != '')) {

header ("Location: login.php");

}

?>

Grazie ancora
 
@Kaito sei io vorrei mettere un reindizionamento quando arrivo sulla index ti porta su unaltra pagina come faccio?
 
Intanto grazie mille per il progetto !
Volevo chiedere un info se possibile.
Ho integrato i file in un mio progetto e purtroppo ho degli errori che non essendo del mestiere con riesco a risolvere .....

Vorrei bloccare la possibilità di navigare le pagine se prima non si è fatto il login, e il codice che ho utilizzato è il seguente:

?php
include('core.php');
if(isset($_SESSION['username'])) {
$userid = $_SESSION['userid'];
$last_login = mysql_result(mysql_query("SELECT last_login FROM users WHERE id='$userid'"), 0);
} else {
header('Location: login.php');
}
?>

E l'errore che mi restituisce se apro la pagina è:

Fatal error: Cannot redeclare clear() (previously declared in /var/www/gestionale/core.php:10) in /var/www/gestionale/core.php on line 12

Allora ho provato a modificare il codice in questo modo:
<?php
if(isset($_SESSION['username'])) {
$userid = $_SESSION['userid'];
$last_login = mysql_result(mysql_query("SELECT last_login FROM users WHERE id='$userid'"), 0);
}
?>

E l'errore è il seguente:

Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /var/www/gestionale/risorsa_find.php:19) in /var/www/gestionale/core.php on line 2

Qualche idea ?
Grazie ancora

Quell'errore accade quando l'output è già stato inviato. Ci sono varie causanti, ma le più comuni sono le seguenti:

il codice:

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

si trova dopo il tag <html> oppure quando lasci qualche spazio nei tag di apertura PHP. Ancora, non appena tu dai il comando print o echo l'output si chiude, dunque non puoi più creare il redirect. Per farlo assicurati anche stavolta che il codice sia PRIMA di qualsiasi echo o print
 
ciao Kaito, ho provato ad usare i tuoi script di registrazione e login modificandoli per un mio progetto, sono alle prime armi con i siti e il tuo tutorial mi è stato di grosso aiuto, vorrei chiederti però chiarimenti su delle cose che ancora non mi sono del tutto chiare, ovvero:

1) if(isset($_POST['login'])) {
$username = isset($_POST['username']) ? clear($_POST['username']) : false;
....

nel video spieghi che è una shorthand ma non ho capito esattamente come funzioni. Potresti commentarmelo nei articolari facendomi capire cosa significhi? io posso capire che se è stato premuto il tasto login e se esiste la username allora copia username in $ username...il punto di domanda cosa significa? poi la funzione clear ho visto che l'hai creata per pulire le variabili, ma se non è stato inserito lo username a cosa serve pulire la variabile? insomma non capisco bene dal punto di domanda in poi il senso.

2)function clear($var) {
return addslashes(htmlspecialchars(trim($var)));
}

di questa hai detto che serve a pulire le variabili, ma potresti spiegarmela più nei dettagli??
Grazie mille per l'aiuto!!