Dare la possibilità all'amministratore di modificare il contenuto di una pagina del sito

blackhawk

Nuovo Utente
20 Ago 2013
9
0
0
Buongiorno a tutti,
vi spiego subito il dilemma che mi affligge
Dato che sono il tipo che non dice mai di no agli amici, mi sono preso la briga di fare un sito web ad un amico che mi ha chiesto un piacere.
Gli ho detto "tranquillo ci penso io"...
Bene, apro Dreamweaver , inizio a costruire il tutto, machere , menu, sottomenu, slideshow ,pagine, link foto ecc ecc. tutto bello e funzionante.
Sono arrivato quasi alla fine, ed ora devo dare la possibilità all'amministratore del sito , che una volta che sarà online, di poter inserire,modificare e/o cancellare, del contenuto, in una determinata pagina del sito, in tempo reale, tipo aggiungere foto in una slide, inserire del testo. Dato che sarà solo lui a fare le modifiche, lui sara l'utente admin, per cui non necessito di nessun db....mmm..giusto? ma solo di una maschera di login, e del codice associato per quelle pagine.
ho trovato un metodo per fare la maschera di login girovagando per la rete. Ho creato un file login.php in cui c'è :


PHP:
<form method="post" action="login.php">
Username<br><input type="text" name="username"><br>
Password<br><input type="password" name="password"><br><br>
<input type="submit" name="login" value="Login">
</form>

<?
    if ($_POST["login"] != "")
    {
        $username = $_POST["username"];
        $password = $_POST["password"];
        if ($username == "demo" && $password == "demo")
        {
            setcookie("login", "OK");
            echo "Benvenuto!<br><br>";
            echo "<a href='privata.php'>ENTRA</a>";
        }
        else
        {
            echo "Accesso negato!";
        }
    }
?>

il file privata.php :

PHP:
<?
    if ($_COOKIE["login"] == "")
    {
        header("location: /login.php");
    }
?>
<html>
<body>
<p>Contenuto dell'area privata...</p>
</body>
</html>

e per il logout :

PHP:
<?
    setcookie("login");
    header("location: /login.php");
?>

Può andare bene così? Lo devo mettere all'inizio del codice HTML, o lo posso inserire solo sulla nuova pagina della voce sul menu Login?
e poi come faccio a far si che l'amministratore una volta entrato possa modificare solo la pagina delle foto?

Un grazie anticipato per le risposte.
Ciaoo
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
dipende:
es usi un database per salvare i nomi dei file caricati?
oppure no?
indipendentemente devi fare es la pagina carica_foto.php e la pag elimina_foto.php
ma come fare entrambe come detto dipende.
inoltre può caricare qualsiasi immagine di qualsiasi grandezza? immagino che ci sia una galleria fotografica e
inserire una foto di 3000x2000 px può sballare tutto il layout della pagina
poi se alla foto deve essere allegata una descrizione il db diventa indispensabile.
comunque intanto in paio di consigli
1)la password non metterla così in chiaro es.
ti fai uno scrpitino del genere
PHP:
<?php
echo md5("demo");//es output per demo = fe01ce2a7fbac8fafaed7c982a04e229
?>
e copy/paste il risultato modificando leggermente lo script
da cui
PHP:
<?php
//.....
	$username = md5($_POST["username"]);//ancora meglio di md5 sarebbe sha1
	$password = md5($_POST["password"]);
	if ($username == "fe01ce2a7fbac8fafaed7c982a04e229" && $password == "fe01ce2a7fbac8fafaed7c982a04e229")
        { 
//..
?>
2)
dopo l'header metti
PHP:
<?php
if ($_COOKIE["login"] == ""){
	header("location: /login.php");
	exit();
}
//....
?>
3) non usare lo short tag <? ma usa <?php

p.s.
io personalmente al posto dei cookie uso le sessioni
 

blackhawk

Nuovo Utente
20 Ago 2013
9
0
0
ciao
dipende:
es usi un database per salvare i nomi dei file caricati?
oppure no?
indipendentemente devi fare es la pagina carica_foto.php e la pag elimina_foto.php
ma come fare entrambe come detto dipende.
inoltre può caricare qualsiasi immagine di qualsiasi grandezza? immagino che ci sia una galleria fotografica e
inserire una foto di 3000x2000 px può sballare tutto il layout della pagina
poi se alla foto deve essere allegata una descrizione il db diventa indispensabile.
comunque intanto in paio di consigli
1)la password non metterla così in chiaro es.
ti fai uno scrpitino del genere
PHP:
<?php
echo md5("demo");//es output per demo = fe01ce2a7fbac8fafaed7c982a04e229
?>
e copy/paste il risultato modificando leggermente lo script
da cui
PHP:
<?php
//.....
	$username = md5($_POST["username"]);//ancora meglio di md5 sarebbe sha1
	$password = md5($_POST["password"]);
	if ($username == "fe01ce2a7fbac8fafaed7c982a04e229" && $password == "fe01ce2a7fbac8fafaed7c982a04e229")
        { 
//..
?>
2)
dopo l'header metti
PHP:
<?php
if ($_COOKIE["login"] == ""){
	header("location: /login.php");
	exit();
}
//....
?>
3) non usare lo short tag <? ma usa <?php

p.s.
io personalmente al posto dei cookie uso le sessioni

Ciao grazie della risposta e della dritta per il login,

Praticamente l'amministratore del sito deve solo poter inserire delle foto in una galleria, e delle foto con del testo in un altra pagina, vorrei anche fare un pagina di video, il tutto tramite la pagina login o area riservata.
e si le foto saranno fatte con macchina fotografica per cui penso siano molto grandi di risoluzione, e infatti penso che dovrò mettere un limite nella gallery ma non necessitano di nessuna descrizione, solamente una galleria di foto, quidi serve ugualmente creare un db con mysql o phpadmin, non so...
Non riesco a capire come fare, ci fosse un esempio sui 4 libri che ho cavolo..
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
per fare una galleria di foto intanto ti conviene dare un occhio a:
https://www.mrw.it/php/galleria-d-immagini-php-gd2-mysql_7244.html
dove trovi come caricare le immagini e eventualmente ridurle (li ti fa fare delle tumb, ma con piccole modifiche si ottiene solo l'immagine ridimensionata alle misure che servono)

visto che in una pagina ti serve anche il testo penso che un db ti sia indispensabile e che ti faciliti le cose.
per i video non ti so dire molto perchè non li uso molto poco, ma, da voci di corridoio, sembra che l'ideale sia caricarli su yutube e poi fare il link (sul mio sito per i pochissimi che ho faccio così).

una cosa: verifica che il provider dove caricherai il sito (se pensi che sia bene ridurle) abbia le librerie GD per il trattamento delle immagini attive.
 

blackhawk

Nuovo Utente
20 Ago 2013
9
0
0
ciao
per fare una galleria di foto intanto ti conviene dare un occhio a:
https://www.mrw.it/php/galleria-d-immagini-php-gd2-mysql_7244.html
dove trovi come caricare le immagini e eventualmente ridurle (li ti fa fare delle tumb, ma con piccole modifiche si ottiene solo l'immagine ridimensionata alle misure che servono)

visto che in una pagina ti serve anche il testo penso che un db ti sia indispensabile e che ti faciliti le cose.
per i video non ti so dire molto perchè non li uso molto poco, ma, da voci di corridoio, sembra che l'ideale sia caricarli su yutube e poi fare il link (sul mio sito per i pochissimi che ho faccio così).

una cosa: verifica che il provider dove caricherai il sito (se pensi che sia bene ridurle) abbia le librerie GD per il trattamento delle immagini attive.

Grandissimo. Grazie per continuare a sopportarmi :)
Molto utile quel link..Infatti hai ragione per i video "collegamento a youtube" è la soluzione migliore.
tolgo la pagina del testo cosi non mi complico la vita ulteriormente.
il sito sarà caricato penso sicuramente su aruba.

A questo punto rimane solo la pagina foto Gallery , che l'amministratore può modificare.
-ho la maschera di login, la gallery in php, ora come faccio ad unire il tutto, nel sito in html fatto con dreamweaver in modo che, una volta che il sito è online, l'amministratore clicca su area riservata, mette nome utente e password, e aggiunge foto o le elimina?

Ciao e grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
penso sicuramente su aruba
allora ti conviene su host linux, ha le gd e le nuove pdo per mysql (le vecchie istruzioni stanno per essere abbandonate).
devi fare (conviene) due pag riservate una per inserire e una per iliminare.
ricorda in tutte le pag riservarte devi mettere

PHP:
<?php
if ($_COOKIE["login"] == ""){
    header("location: /login.php");//o ad altra pagina
    exit();
}
altrimenti se qualcuno viene a conoscere il nome della pag ci può accedere senza loggarsi es.
http: // www. tuo_sito. com / elimina_foto.php
(ho messo gli spazi per non far formare il link)
 

blackhawk

Nuovo Utente
20 Ago 2013
9
0
0
ciao
allora ti conviene su host linux, ha le gd e le nuove pdo per mysql (le vecchie istruzioni stanno per essere abbandonate).
devi fare (conviene) due pag riservate una per inserire e una per iliminare.
ricorda in tutte le pag riservarte devi mettere

PHP:
<?php
if ($_COOKIE["login"] == ""){
    header("location: /login.php");//o ad altra pagina
    exit();
}
altrimenti se qualcuno viene a conoscere il nome della pag ci può accedere senza loggarsi es.
http: // www. tuo_sito. com / elimina_foto.php
(ho messo gli spazi per non far formare il link)

Grande.
Perfetto, host linux, ho capito grazie mille
ora con la gallery sul link che mi hai dato prima, aggiungo gli script della login, e in pratica, se io amministratore voglio modificare le foto accedo dal login e mi fa caricare le mie foto in diretta sul sito?
Grazie
 

borgo italia

Super Moderatore
Membro dello Staff
SUPER MOD
MOD
4 Feb 2008
16.042
149
63
PR
www.borgo-italia.it
ciao
scusa ma non mi ero accorto di una cosa (arteriosclerosi)
non puoi usare setcookie("login", "OK") in quel punto ti da errore i cookie sono intestazioni e prima non deve esserci alcun output html

per quello uso le sessioni
correggi intanto la pagina di log
PHP:
<?php
session_start();//come per i cookie questa non deve avere nulla davanti
if (isset($_POST["login"])){
	$username = $_POST["username"];//con quello che ti avevo detto md5 o sah1
    $password = $_POST["password"];
	if($username == "demo" && $password == "demo"){
		$_SESSION['log']="OK";
		echo "Benvenuto!<br><br>";
        echo "<a href='privata.php'>ENTRA</a>";
	}else{
		echo "Accesso negato!";//e ritorni in automatico al form pulito dopo 4 secondi
		echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
	}
}else{
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Username<br><input type="text" name="username"><br>
Password<br><input type="password" name="password"><br><br>
<input type="submit" name="login" value="Login">
</form>
<a href="index.php">esci</a>
<?php
}
?>
e quindi correggi anche la parte di controllo delle parti private
PHP:
<?php
session_start();
if(!isset($_SESSION['log']) || $_SESSION['log']!="OK"){
	header("location: /login.php");
	exit();
}
//...php e/o html
?>
 

blackhawk

Nuovo Utente
20 Ago 2013
9
0
0
ciao
scusa ma non mi ero accorto di una cosa (arteriosclerosi)
non puoi usare setcookie("login", "OK") in quel punto ti da errore i cookie sono intestazioni e prima non deve esserci alcun output html

per quello uso le sessioni
correggi intanto la pagina di log
PHP:
<?php
session_start();//come per i cookie questa non deve avere nulla davanti
if (isset($_POST["login"])){
	$username = $_POST["username"];//con quello che ti avevo detto md5 o sah1
    $password = $_POST["password"];
	if($username == "demo" && $password == "demo"){
		$_SESSION['log']="OK";
		echo "Benvenuto!<br><br>";
        echo "<a href='privata.php'>ENTRA</a>";
	}else{
		echo "Accesso negato!";//e ritorni in automatico al form pulito dopo 4 secondi
		echo "<meta http-equiv='Refresh' content='4; URL=".htmlspecialchars($_SERVER['PHP_SELF'])."'>";
	}
}else{
?>
<form method="post" action="<?php echo $_SERVER['PHP_SELF'];?>">
Username<br><input type="text" name="username"><br>
Password<br><input type="password" name="password"><br><br>
<input type="submit" name="login" value="Login">
</form>
<a href="index.php">esci</a>
<?php
}
?>
e quindi correggi anche la parte di controllo delle parti private
PHP:
<?php
session_start();
if(!isset($_SESSION['log']) || $_SESSION['log']!="OK"){
	header("location: /login.php");
	exit();
}
//...php e/o html
?>

Ciao grazie,
ho creato i due file .ph, login e privata
messi nella directory del sito, insieme alle pagine html
poi ho aperto Dreamweaver e sono andato a mettere il link sul bottone del menu "login" che puntava al file login php,
mi appare una schermata di login, ma dopo qualche secondo mi da errore
File non trovato
Impossibile trovare il file /C:/Users/Administrator/Desktop/TEST/.htmlspecialchars($_SERVER[.

sto impazzendo :)

Ciao
 
Discussioni simili
Autore Titolo Forum Risposte Data
C Dare la possibilità agli utenti registrati di mandarsi dei messaggi PHP 2
M dare la possibilità agli utenti di creare un ticker Javascript 1
A Dare l'accesso ad una pagina solo ad un utente specifico PHP 0
Zidane Spero di poter dare e ricevere molti consigli Presentati al Forum 0
G [Javascript] nome da dare ad una funzione Javascript 1
N loghi su t-shirt: che formato dare? Webdesign e Grafica 2
D rete con ip statici, dare anche dhcp Reti LAN e Wireless 1
J Per legge il webmaster deve dare la password al cliente? Leggi, Normative e Fisco 1
M problemino legale: farsi dare le password dai precedenti gestori del sito. Leggi, Normative e Fisco 0
N Dare id ad elementi classe jQuery 1
carter Dare un titolo alla finestra confirm Javascript 5
B Mkportal probemi dare i permessi hai file! Web Server 5
S Dare segnalazione errore stessa pagina del form email PHP 8
A loghi su magliette: che formato dare? Webdesign e Grafica 1
L Dare a un dowload solo l'opzione salva e non quella apri HTML e CSS 3
T Vuoi dare una svolta alla tua vita? Guadagni sicuri con questo metodo! Guadagnare col Sito 0
M Chi mi può dare un consiglio pratico ? HTML e CSS 4
mptech come faccio per dare una posizione al popup Javascript 3
N Dare dei punteggi ai propri utenti Classic ASP 0
gandalf1959 Youtube e possibilità di visualizzazione delle playlist HTML e CSS 0
E Offro possibilità di monetizzare pagine FB o INSTA Vendere e Acquistare pubblicita' online 1
Stef@noM [CERCO] Collaboratori Blog d'informazione [OFFRO] possibilità di entrare in redazione Offerte e Richieste di Lavoro e/o Collaborazione 0
corkis81 Sito turistico - miglioramenti e possibilità di guadagno Guadagnare col Sito 0
R Mettere la possibilità di Salvare in un gioco =) Come si fa? Java 2
G Data base di liste email ottimi prezzi possibilità di fattura Vendere e Acquistare pubblicita' online 2
I Sito con possibilità di inserire annunci PHP 14
M Cerco scambio link recensioni con possibilità di trangolazione Offerte e Richieste di scambio links 4
F [VENDO] Fans illimitati su Illimitate Fanpage FACEBOOK a soli 99€ al mese. Possibilità di rivenderli Annunci servizi di Social Media Marketing 1
cervelliamo [CERCO] Collaboratori per il blog, possibilità guadagno con adsense revenue sharing Offerte e Richieste di Lavoro e/o Collaborazione 4
S possibilità di scelta PHP 0
M or die (mysql_error) - quali sono le possibilità di uso? PHP 3
S Player da playlist con possibilità di pubblicità in diretta Flash 0
N [Offro] Realizzazione Siti Web per qualunque possibilità di Budget Offerte e Richieste di Lavoro e/o Collaborazione 0
S possibilità di postare Javascript 11
T Possibilità Discussioni Varie 1
T esiste questa possibilità PHP 1
K Possibilità di utilizzare le funzioni di cronologia in un filmato Flash 1
P Domini con possibilità di guadagni Discussioni Varie 0
S Possibilità di guadagno con internet! Guadagnare col Sito 3
T Possibilità di attacco ? PHP 1
F Offro lavoro online, ottime possibilità di guadagno Offerte e Richieste di Lavoro e/o Collaborazione 0
S Editor freeware (anche php con possibilità anteprima) HTML e CSS 2
B Per chi è alla ricerca di uno spazio buono con possibilità di valutare Hosting 8
U [PHP] Differenza tra amministratore e utente PHP 2
D [PHP] [HTML] Pagina con permessi amministratore PHP 6
W amministratore facebook Social Media Marketing 0
P Pagina dell'amministratore PHP 5
L Nascondere l'amministratore del sito PHP 9
I problema sessione amministratore (HELP) PHP 5
S Editare profilo utente [da amministratore] PHP 2

Discussioni simili