pagine login-logout php principiante

Punix

Nuovo Utente
20 Feb 2017
13
1
3
31
Ciao a tutti come da titolo, sono un principiante per quanto riguarda il php, me la cavo meglio con html - css ma con php sono proprio agli inizi...per questo ho bisogno del vostro aiuto.

inanzitutto vi posto i link di 2 file php che ho inserito su un mio spazio web con rispettivo codice...

premessa, la parte php del codice non è mia, mi è stata data, html css sono miei . Scusate in anticipo per la brutta indentazione del codice, ma mi piace essere disordinato
:p


login.php - http://allypage.net23.net/login.php

codice:
<?php
session_start();
$password="giulio8"; /* inserire su questa riga la password voluta */
if (isset($_SESSION['login'])) {
if (isset($_POST['logout'])) {
unset($_SESSION['login']);
$messaggio = "Logout effettuato con successo! Arrivederci!";
} else {
header("Location: protetta.php");
}
} else {
if (isset($_POST['password'])) {
if ($_POST['password'] == $password) {
$_SESSION['login'] = "verificata";
header("Location: protetta.php");
} else {
$messaggio = "Errore: password non corretta!";
}
}
}
?>

<html>
<head>
<style type="text/css">
table
{
*border-collapse: collapse; /* IE7 and lower */
border-spacing: 0;
width: 20%;
background:#dddddd !important; /* For IE*/
}
.bordered {
border: solid #ff0000 1px;
-moz-border-radius: 6px;
-webkit-border-radius: 6px;
border-radius: 6px;
behavior: url(border-radius.htc);
-webkit-box-shadow: 0 1px 1px #ccc;
-moz-box-shadow: 0 1px 1px #ccc;
box-shadow: 0 1px 1px #ccc;
}
.bordered tr:hover {
background: #dddddd;
-o-transition: all 0.1s ease-in-out;
-webkit-transition: all 0.1s ease-in-out;
-moz-transition: all 0.1s ease-in-out;
-ms-transition: all 0.1s ease-in-out;
transition: all 0.1s ease-in-out;
}
.bordered td, .bordered th {
border-left: 1px solid #ccc;
border-top: 1px solid #ccc;
padding: 10px;
text-align: left;
}
.bordered th {
background-color: #dce9f9;
background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
background-image: -moz-linear-gradient(top, #ebf3fc, #dce9f9);
background-image: -ms-linear-gradient(top, #ebf3fc, #dce9f9);
background-image: -o-linear-gradient(top, #ebf3fc, #dce9f9);
background-image: linear-gradient(top, #ebf3fc, #dce9f9);
-webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
-moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
border-top: none;
text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.bordered td:first-child, .bordered th:first-child {
border-left: none;
}
.bordered th:first-child {
-moz-border-radius: 6px 0 0 0;
-webkit-border-radius: 6px 0 0 0;
border-radius: 6px 0 0 0;
behavior: url(border-radius.htc);
}
.bordered th:last-child {
-moz-border-radius: 0 6px 0 0;
-webkit-border-radius: 0 6px 0 0;
border-radius: 0 6px 0 0;
behavior: url(border-radius.htc);
}
.bordered th:eek:nly-child{
-moz-border-radius: 6px 6px 0 0;
-webkit-border-radius: 6px 6px 0 0;
border-radius: 6px 6px 0 0;
behavior: url(border-radius.htc);
}
.bordered tr:last-child td:first-child {
-moz-border-radius: 0 0 0 6px;
-webkit-border-radius: 0 0 0 6px;
border-radius: 0 0 0 6px;
}
.bordered tr:last-child td:last-child {
-moz-border-radius: 0 0 6px 0;
-webkit-border-radius: 0 0 6px 0;
border-radius: 0 0 6px 0;
behavior: url(border-radius.htc);
}
</style>
</head>
<body>
<table class="bordered" style="margin:200px auto;">
<tr>
<td>
<center>
<img src="DA INSERIRE" width="300" height="50">
<br><br>

<form name="login" action="login.php" method="post">Password :
<input type="password" name="password" value=""/> &nbsp; <input type="submit" value="Entra"/> <!---- form login ----->

<br><br>
<?php
if(isset($messaggio)) {
echo $messaggio;
unset($messaggio);
}
?>
</form>
</center>
</td>
</tr>
</table>




</p>
</body>
</html>
protetta.php - http://allypage.net23.net/protetta.php

codice:
<?php
session_start();
if (!isset($_SESSION['login'])) {
header("Location: login.php");
}
?>

<html>
<head>
</head>
<body>

<div align="right">
<form name="logout" action="login.php" method="post">
<input type="hidden" name="logout" value="esci"/>
<input type="submit" value="Logout"/>
</form>
</div>

</body>
</html>
Per quanto riguarda la prima parte, del login, dopo che ho deciso la password che i miei utenti devono avere per accedere, nel mio caso "giulio8" , e una volta data ai miei utenti, i miei utenti se inseriranno la password giusta potranno tranquillamente accedere e verrano spediti sulla pagina protetta.php, nel caso contrario riceveranno il messaggio d errore password errata etc ...

1.la prima cosa che io voglio fare è inserire anche l'usurname durante il login.. se i miei utenti inoltre sbagliano o dimenticano di compilare correttamente uno dei 2 campi usurname o password voglio che mi salta fuori un messaggio del tipo "usurname o password errati!"... si può fare ciò ?=)

2.quando effettuo il login vengo riportato nella pagina protetta.php..in questa pagina in alto a destra ho un bottone che mi permette di disconettermi, e che mi riporta alla pagina di login...sotto il form , una volta disconnesso mi viene dato un messaggio "Logout effettuato con successo! Arrivederci!" ...il mio intento è di fare la stessa cosa quando effettuo il login..ovvero inserisco i dati negli appositi campi...effettuo il login e voglio che mi salta fuori , una scritta del tipo "connessione effettuata" e con un countdown sotto tipo 3.2.1...non voglio insomma che mi riporti subito sulla pagina protetta.php...si può fare anche questo ?=) spero di essermi spiegato bene
what.gif


3. a questo punto mettiamo caso io abbia un mio spazio web del tipo http://miosito.it/sito/
e all interno di questo spazio possiedo una serie di pagine html.... vorrei usare i file php sopra citati per accedere a questo mio spazio web... vorrei che i miei utenti una volta recatosi sul mio sito http://miosito.it/sito/ vengano riportati in automatico su http://miosito.it/sito/login.php in modo tale che se non effettuano prima l accesso, non possono accedere ai files html presenti nella root sito... una volta effettuato l accesso i miei utenti vengono riportati sulla home che sarà tipo http://miosito.it/sito/index.html .... si può fare tutto questo? se si come? presumo non basti inserire i file login.php e protetta.php all interno della root /public_html/sito/ :) ..
ps: inoltre so che si deve inserire un file robots.txt all interno della stessa root, potreste darmi anche qualche aiutano in merito?

4.per quanto riguarda al file protetta.php ... mi piacerebbe che una volta effettuato l'accesso, quel tasto di logout , venga incorporato su qualsiasi pagina html io apra all interno del mio sito...si può fare? o mi tocca inserire il codice di protetta.php su ogni pagina html presente sul mio sito?
what.gif


grazie a tutti in anticipo , scusate per il poema
ciao.gif
 

Punix

Nuovo Utente
20 Feb 2017
13
1
3
31
per quanto riguarda il primo punto, sto provando ad inserire anche l'usurname ma continuo a ricevere errori di sintassi dalla linea 13 ...

codice:
PHP:
<?php
session_start();
$usurname="sito";    /* inserire su questa riga l'usurname voluto */
$password="giulio8";    /* inserire su questa riga la password voluta */
if (isset($_SESSION['login'])) {
    if (isset($_POST['logout'])) {
        unset($_SESSION['login']);
        $messaggio = "Logout effettuato con successo! Arrivederci!";
    } else {
        header("Location: protetta.php");
    }
} else {
    if (isset($_POST['usurname']) {
        if ($_POST['usurname'] == $usurname)
    || (isset($_POST['password']) {
        if ($_POST['password'] == $password)
    
        {
            $_SESSION['login'] = "verificata";
            header("Location: protetta.php");
        } else {
            $messaggio = "Errore: usurname o password non corretti!";
        }
    }
}
?>

ho provato a usare precedentemente il tipo di annidamento

PHP:
if ( (isset($_POST['id'])) &&  (isset($_POST['idd'])) )
{echo "etc, etc..";}

ma sembra non funzionare o almeno io non riesco ... mi serve proprio una mano
 

Punix

Nuovo Utente
20 Feb 2017
13
1
3
31
ragazzi il punto 3 l ho risolto in parte, aggiungendo all interno di ogni pagina html presente sul mio spazio web il codice di protetta.php... adesso quando provo infatti a raggiungere una pagina all interno del mio sito ad esempio http://miosito.it/sito/PAGINA1.html , se prima non ho effettuato l'accesso mi riporta su login.php... il problema è che dopo aver effettuato l accesso, non mi porta sulla pagina che io desideravo aprire ma su protetta.php ... come posso risolvere questa cosa?
 

Punix

Nuovo Utente
20 Feb 2017
13
1
3
31
ok raga da solo dopo ore ore di girare su internet e leggere un paio di guide (anche sul vostro sito) sono riuscito a risolvere in pratica i punti 2-3-4 .. ho aggiunto il codice di protetta.php dentro ogni pagina html presente sul mio sito ho fatto qualche modifica al codice di login.php per il rendirizzamento a tempo ecc il codice ora si presenta cosi:

codice:
PHP:
<?php
session_start();
$password="giulio8";    /* inserire su questa riga la password voluta */
if (isset($_SESSION['login'])) {
    if (isset($_POST['logout'])) {
        unset($_SESSION['login']);
        $messaggio = "Logout effettuato con successo! Arrivederci!";
    } else {
        header("Location: protetta.php");
    }
} else {
    if (isset($_POST['password'])) {
        if ($_POST['password'] == $password) {
            $_SESSION['login'] = "verificata";
            $newpage = 'http://miosito.it/sito/index.htm';   
            header('Refresh: 3; url=' . $newpage);
            $messaggio = "Accesso effettuato.Tra 3 secondi verrai reindirizzato alla home del sito.";
            
        } else {
            $messaggio = "Errore: password non corretta!";
        }
    }
}
?>

<html>
<head>
<style type="text/css">
table
{
    *border-collapse: collapse; /* IE7 and lower */
    border-spacing: 0;
    width: 20%;   
 background:#dddddd !important; /* For IE*/
}
.bordered {
    border: solid #ff0000 1px;
    -moz-border-radius: 6px;
    -webkit-border-radius: 6px;
    border-radius: 6px;
 behavior: url(border-radius.htc);
    -webkit-box-shadow: 0 1px 1px #ccc;
    -moz-box-shadow: 0 1px 1px #ccc;
    box-shadow: 0 1px 1px #ccc;         
}
.bordered tr:hover {
    background: #dddddd;
    -o-transition: all 0.1s ease-in-out;
    -webkit-transition: all 0.1s ease-in-out;
    -moz-transition: all 0.1s ease-in-out;
    -ms-transition: all 0.1s ease-in-out;
    transition: all 0.1s ease-in-out;     
}
.bordered td, .bordered th {
    border-left: 1px solid #ccc;
    border-top: 1px solid #ccc;
    padding: 10px;
    text-align: left;   
}
.bordered th {
    background-color: #dce9f9;
    background-image: -webkit-gradient(linear, left top, left bottom, from(#ebf3fc), to(#dce9f9));
    background-image: -webkit-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:    -moz-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:     -ms-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:      -o-linear-gradient(top, #ebf3fc, #dce9f9);
    background-image:         linear-gradient(top, #ebf3fc, #dce9f9);
    -webkit-box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;
    -moz-box-shadow:0 1px 0 rgba(255,255,255,.8) inset; 
    box-shadow: 0 1px 0 rgba(255,255,255,.8) inset;       
    border-top: none;
    text-shadow: 0 1px 0 rgba(255,255,255,.5);
}
.bordered td:first-child, .bordered th:first-child {
    border-left: none;
}
.bordered th:first-child {
    -moz-border-radius: 6px 0 0 0;
    -webkit-border-radius: 6px 0 0 0;
    border-radius: 6px 0 0 0;
 behavior: url(border-radius.htc);
}
.bordered th:last-child {
    -moz-border-radius: 0 6px 0 0;
    -webkit-border-radius: 0 6px 0 0;
    border-radius: 0 6px 0 0;
 behavior: url(border-radius.htc);
}
.bordered th:only-child{
    -moz-border-radius: 6px 6px 0 0;
    -webkit-border-radius: 6px 6px 0 0;
    border-radius: 6px 6px 0 0;
 behavior: url(border-radius.htc);
}
.bordered tr:last-child td:first-child {
    -moz-border-radius: 0 0 0 6px;
    -webkit-border-radius: 0 0 0 6px;
    border-radius: 0 0 0 6px;
}
.bordered tr:last-child td:last-child {
    -moz-border-radius: 0 0 6px 0;
    -webkit-border-radius: 0 0 6px 0;
    border-radius: 0 0 6px 0;
 behavior: url(border-radius.htc);
}
</style>
</head>
<body>
<table class="bordered" style="margin:200px auto;">
<tr>
<td>
<center>
<img src="http://i.imgur.com/hxvbojK.png" width="300" height="50">
<br><br>

<form name="login" action="login.php" method="post">Password :
<input type="password" name="password" value=""/> &nbsp; <input type="submit" value="Entra"/>  <!---- form login ----->

<br><br>
<?php
if(isset($messaggio)) {
    echo $messaggio;
    unset($messaggio);
}
?>
</form>
</center>
</td>
</tr>
</table>




</p>
</body>
</html>

mi manca soltanto il punto 1, ovvero voglio che durante il login oltre la password mi si chiede l'usurname ... non riesco a fare quell annidamento sull IF ... qualcuno puo darmi na mano ?
what.gif
grazie
redface.png
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
148
63
PR
www.borgo-italia.it
ciao
a parte che da una prima occhiata mi sembra il tutto un po' incasinato, senza contare che anche se è php la pass è in chiaro quindi con un po' di pazienza qualsiasi malentenzionato "buca" il tuo sito, il tutto senza contare che generalmente ogni utente ha la sua password
 
Discussioni simili
Autore Titolo Forum Risposte Data
F Problema con pagine login in PHP PHP 2
L [PHP] login e protezione pagine con session PHP 3
F file_get_contents e pagine con login PHP 4
D Login con sessioni per 2 pagine diverse PHP 2
S login con pagine tutte personalizzate dall' utente loggato PHP 3
asevenx mantenere sessione login attiva anche in altre pagine PHP 8
M login con indirizzo a pagine diverse PHP 10
tanaka login che indirizza gli utenti verso pagine diverse in base alla password immessa PHP 4
G Pagine successive al login PHP 2
§ Pagine protette da un Login... PHP 2
L Mysql: Nascondere le pagine dopo una ricerca PHP 1
G cerco: traffico sito, pubblicità condividente post su pagine gruppi Vendere e Acquistare pubblicita' online 0
A Mostrare dati database per pagine PHP 2
N Problema passaggio variabili tra pagine PHP 4
W Cerco Pagine Facebook Annunci servizi di Social Media Marketing 0
I Pagine instagram Annunci servizi di Social Media Marketing 0
M Cerco pagine instagram Annunci servizi di Social Media Marketing 0
F Creo pagine instagam con logo e 1k follower Offerte e Richieste di Lavoro e/o Collaborazione 0
R Convertire slides Powerpoint in Pagine Web HTML e CSS 7
S Trasferire dati sulle pagine del sito PHP 7
A [COMPRO] PAGINE INSTAGRAM Annunci servizi di Social Media Marketing 1
G COMPRO PAGINE INSTAGRAM 5/10/15k Annunci servizi di Social Media Marketing 1
elpirata Gestire permessi accesso alle pagine PHP 3
C COMPRO PAGINE INSTAGRAM MINIMO 100K Annunci servizi di Social Media Marketing 1
M Vendo pagine instagram Annunci servizi di Social Media Marketing 7
Matteo social Vendo pagine Facebook Annunci servizi di Social Media Marketing 1
F [PHP] Aggiungere ruolo per accedere alle pagine PHP 2
A vendo 11 pagine facebook a 5 euro Annunci servizi di Social Media Marketing 1
Sav [VENDO] Pagine facebook Facebook 2
G [PHP] chiamate di pagine condizionali PHP 2
Peppe94 Vendo Pagine Facebook & Account Instagram Annunci servizi di Social Media Marketing 2
A Limitare accesso ad alcune pagine web PHP PHP 2
lucadegaetano Vendo Pagine Facebook da 100k e 800k Annunci servizi di Social Media Marketing 2
Domenico_Falco1 Cambiare url in un sito con pagine dinamiche Ajax 4
E Offro possibilità di monetizzare pagine FB o INSTA Vendere e Acquistare pubblicita' online 1
F Compro pagine instagram Annunci servizi di Social Media Marketing 1
M Compro pagine o gruppi fb Annunci servizi di Social Media Marketing 0
xPippo93 Vendo pagine Instagram 837k, 742k e 638k followers Annunci servizi di Social Media Marketing 1
S VENDO Followers e pagine Instagram Annunci servizi di Social Media Marketing 2
A Cerco pagine instagram da 40k a 120€ Annunci servizi di Social Media Marketing 5
G acquisto bot , pagine ig con almeno 5k Annunci servizi di Social Media Marketing 0
E [PHP] GET su 2 pagine PHP 4
I VENDO Followers e Pagine Instagram Annunci servizi di Social Media Marketing 2
K Vendo alcune pagine facebook settore travel Annunci servizi di Social Media Marketing 2
P Compro pagine da 10k in su Annunci servizi di Social Media Marketing 0
S Cerco pagine Instagram, meglio se femminili. Annunci servizi di Social Media Marketing 3
I [WordPress] pagine custom all'interno di un tema WordPress 0
P [COMPRO] Compro pagine Instagram con engagement 5/7% Annunci servizi di Social Media Marketing 2
I Xamp non mi fa vedere le seconde pagine del sito locale Web Server 0
A Come consultare dati da più siti o pagine web Programmazione 1

Discussioni simili