gestione foto e descrizione

un piccola nota poi aspetto tue nuove..,.


prova a creare una bella struttura per il sito......

ESEMPIO-


CARTELLA PRINCIPALE
--> immagini/
--> includes/
--> garbage/
--> script/
--> ecc.html
--> login.php
--> index.htm

in modo tale da non avere 1000000 files sparsi ma ben rganizzati sul server...ecco perché ti ho suggerito di usare la variabile RootPath, partendo dall'inizio potrai aggiungere solo poche righe e sarai sicuro che tutti i file verranno inclusi correttamente e inoltre se dovrai ricostruire il tutto su un altro sito, ti basterà cambiare la rootpath con la nuova e tutto funzionerà correttamente...!!

Inoltre cerca di spezzettare quanto più possibile i file php, in modo che ognuno di essi possa essere incluso e riutilizzato in altri file...

a che pro?
immaginiamo che l'area riservata che stiamo costruendo conterà 35 pagine protette!!! (saranno al max 5 o 6...)

domani deciderai che la variabile salvata in sessione dovrà cambiare...!

dovrai modificare 35 pagine! ma se hai incluso il file controllo_sessione e messo da parte....basterà modificare solo quello...


saluti
Manu
 
grazie manu, ho letto, pultroppo ora nn ho tempo perche devo studiare photoshop che ho l'esame tra poco....però domattina metto in pratica e procediamo!grazie ancora:fonzie:
 
se tutto è andato bene (le pagine che ti ho postato fnzionano??) procediamo...

LE SESSIONI
Le sessioni salvano informazioni e le conservano durante la navigazione dell'utente per un det. periodo di tempo...

crea un form che collezioni i dati Username e Password e le mandi alla pagina login.php

<?

$Username = addslashes($_POST[Username]);
$Password = addslashes($_POST[Password]);

if ($Username == "" OR $Password == ""){
# stampo un messaggio di errore, ma puoi anche solo mandarlo alla pagina di login...
echo "specifica i tuoi dati di accesso...";
return;
}

include "config.php";
# includendo il file config appena creato avremo accesso alle informazioni salvate in esso...

if ($Username == $AdminUsername AND $Password == $AdminPassword){

# tutto ok
session_start();
$_SESSION[Amministratore] = $AdminUsername;

header ("Location: pagina_amministrativa.php");


}

?>

ok abbiamo fatto in modo che il tuo amministratoer possa loggarsi al sito e visualizzare la pagina riservata...

ovviamente nella pagina_amministrativa.php dovrai inserire un controllo...puoi creare come per config.php una paginetta chiamata controllo_sessione.php così da includerla di volta iin volta nelle pagine da proteggere e poterla cambiare una solva volta nel caso di modifiche al codice future


<?

# controllo sessione..

session_start();
if (!session_is_registered(Amministratore)){
echo "AIUTO! una intrusione!!!";
exit;
}

# anche qui appare un messaggio, ma consiglio caldamente di mandarlo direttamente alla pagina di login...

?>

Posso farti qualche domanda anch'io già che ci siamo?
1)Mi dici le parti che ho messo in rosso nella citazione a che servono visto ke io opero diversamente?
2)"session_start();" non va messo all'inizio della pagina prima ancora di tutto il codice html affinchè funzionino le sessioni?
3)Sto facendo una cosa simile in PHP...io però a differenza di mitnick87 che ha un solo accesso riservato(l'admin) ne ho 2: l' utente "normale" e l'utente "admin" che modifica alcune sezioni del sito. X non fare 2 login separati, ho creato 1 solo login, il quale crea 1 sessione ($_SESSION['tipo_utente']) che prende come valore un dato del DB della tabella utenti ("user" o "admin") e grazie a questo riesco creare le varie aree x l'admin:

if ($_SESSION['tipo_utente'] != "admin")
{header("Location: login.php");}
//resto del codice

Secondo te sto procedendo bene?Vorrei solo qualche consiglio...niente di più. Ah, un'altra cosa: spesso quando metto header("Location: pagina.php"); non mi fa la redirect e sono costretto ad usare javascript(location.href='pagina.php'). Mi sai dire il perchè?
Grazie;)
 
ciao a tutti...

le parti in rosso sono la funzione addslashes, praticamente aggiunge delle \' quando ci sono degli apostrofi...

ad esempio io faccio la query con quei dati

SELECT * FROM Utente WHERE Username = '$Username'

ok se introduco codice nel form potrei avere roba de ltipo

SELECT * FROM Utente WHERE Username = '' OR '1' = '1'


che ti farebbe sempre entrare...

ovviamente quando mandi un POST gli slashes vengono messi i automatico, ma per sicurezza...

aggiuingerei piuttosto un controllo sullal unghezza, sui valori vuoiti, su eventuale codice html....prima di metterlo in una query...


(((((((((((((((((((((


session_start(); va messo prima di ogni altro header...esempio

PAGINA DI PROVA:
ciao a tutti!!! il mio nome è Manu

<?
session_Start();
?>
FINE PAGINA DI PROVA

Questa va in errore....


invece nei miei esempi non viene stampato nulla a video (nemmeno degli spazi vuoti che contano come intestazioni...) e il session_Start lo puoi mettere dove vuoi...


(((((((((((((((((((((((((((((


header funziona come session_start()....

se prima di esso la pagina ha qualunque tipo di intestazione o spazi bianchi non funziona e ti da l'errore

header already sent...output starts at.........blablabla
o una cosa simile...


PS il mio conto paypal è .... hihi!!!

PPS......sì fai bene....per la differenziazione degli utenti...
 

Discussioni simili