Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura
Il primo Micro RGB di Samsung per il salotto è il 65 pollici da 2.749 euro. Sul banco di misura abbiamo rilevato 2.000 nit di picco, nero assoluto con il local dimming e il 91,4% del BT.2020, il colore più ampio che abbiamo misurato su un LCD
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre
Apple ha rinnovato iPhone 18 Pro soprattutto dentro: chip A20 Pro a 2 nm con memoria affiancata al SoC, camera di vapore tre volte più ampia, Dynamic Island più piccola del 25% grazie a Face ID sotto il display e fotocamera principale con diaframma variabile da f/1.48 a f/4. Lo abbiamo misurato al colorimetro e nei benchmark, usato con iOS 27 e messo alla prova in fotografia tra laghi, borghi e interni poco illuminati
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34
A Londra, per il trentennale dei Toughbook, Panasonic ha presentato il tablet G3 e il 2-in-1 34. Con Jon Tucker, a capo dell'ingegneria europea, abbiamo parlato di ciò che non si vede: batterie, antenne, porte seriali e accorgimenti nati sul campo
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-08-2006, 15:01   #1
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
[PHP] Piccolo dubbio su include, require, header

Ciao ragazzi!
Mi sono avvicinato da poco al php e sto provando a covertire una mia vecchia applicazione web scritta in jsp. Ho, però, alcuni dubbi sull'uso di include, require ed header.
Conosco le "caratteristiche" e le differenze tra include, require e header ma non riesco a capire il campo di applicazione!
Vi faccio un esempio per spiegarmi meglio.

Codice PHP:
include("config.inc.php");

if (
$_POST['submit']){
    if ((
$_POST['username'] == '') or ($_POST['password'] == '')){
        
$error = 'Inserire nome utente e/o password';
    } else{
        
$conn = mysqli_connect($db_host, $db_user, $db_password, $db_name);
            
        if (!
$conn) {
            echo 
"Si è verificato un errore durante la connessione al server MySQL";
            exit();
        }
        
        
$sql = 'SELECT IdUtenti, CONCAT_WS(\'  \', Cognome, Utenti.Nome) AS Utente, Livello, Abilitato, ';
        
$sql .= 'CONCAT_WS(\' - \', CodFiliali, CONCAT_WS(\' \', Filiali.Nome, Citta)) AS Filiale ';
        
$sql .= 'FROM Utenti INNER JOIN Filiali ON Filiali_CodFiliali = CodFiliali ';
        
$sql .= 'WHERE Username = \'' . $_POST['username'] . '\' AND Passwd = \'' . $_POST['password'] . '\'';
        
        
$result = mysqli_query($conn, $sql); 
        if (
mysqli_num_rows($result) > 0){
            while (
$row = mysqli_fetch_assoc($result)){
                if (
$row["Abilitato"] == 1){
                    include(
"default.php");
                } else{
                    
$error = 'Utente non abilitato';
                }
            }
        } else{
            
$error = 'Nome utente e/o password errata';
        }
    }
    if (
$error){
        include(
"index.tpl"); 
    }
} else{
    include(
"index.tpl"); 
} 

Questa è la index.php, contentente il codice per autenticarsi all'area privata del sito. Richiamandola per la prima volta, viene visualizzato il contenuto della index.tpl (contenente il codice.html). Inseriti username e password, se l'autenticazione va a buon fine, dev'essere visualizzata la pagina default.php, in caso contrario nuovamente la index.tpl. E' corretto l'uso che ho fatto degli include? O devo cambiare qualcosa?
Grazie
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 23-08-2006, 20:35   #2
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
per fare ciò che desideri devi usare la funzione header, la quale invia headers http al browser..per redirezionare l'utente devi inserire la funzione prima di qualsiasi output altrimenti ti darà errore headers already sent
usando gli include non fai altro che includere del codice, senza redirigere il browser in un'altra pagina..
breve ripasso:
include: include del codice nella pagina nel punto in cui viene invocata la funzione
require: come include solo che se il file non riesce ad essere incluso da errore
header: invia headers http

la funzione come la dovrai usare tu è (al posto degli include):
header("Location: <pagina>");
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 09:38   #3
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p
per fare ciò che desideri devi usare la funzione header, la quale invia headers http al browser..per redirezionare l'utente devi inserire la funzione prima di qualsiasi output altrimenti ti darà errore headers already sent
usando gli include non fai altro che includere del codice, senza redirigere il browser in un'altra pagina..
breve ripasso:
include: include del codice nella pagina nel punto in cui viene invocata la funzione
require: come include solo che se il file non riesce ad essere incluso da errore
header: invia headers http

la funzione come la dovrai usare tu è (al posto degli include):
header("Location: <pagina>");
Parli di tutti gli include presenti nel codice che ho postato, o ti riferisci solo a quello relativo all'autenticazione andata a buon fine?
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 10:06   #4
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
per tutti i punti in cui dovevi redirigere l'utente o alla pagina stessa o all'altra, quindi qui:
Codice PHP:
if (mysqli_num_rows($result) > 0){
            while (
$row = mysqli_fetch_assoc($result)){
                if (
$row["Abilitato"] == 1){
                    include(
"default.php");
                } else{
                    
$error = 'Utente non abilitato';
                }
            }
        } else{
            
$error = 'Nome utente e/o password errata';
        }
    }
    if (
$error){
        include(
"index.tpl");
    }
} else{
    include(
"index.tpl"); 
mentre l'include iniziale è giusto..

p.s. tutto il sistema di login comunque non è il massimo, perché sarebbe buona regola creare un file php che controlla che l'utente sia loggato in base alla sessione ed includerlo in ogni pagina protetta..
se un utente scrive direttamente l'indirizzo della pagina post autenticazione adesso riuscirebbe ad accedervi giusto?
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 10:20   #5
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p
per tutti i punti in cui dovevi redirigere l'utente o alla pagina stessa o all'altra, quindi qui:
Codice PHP:
if (mysqli_num_rows($result) > 0){
            while (
$row = mysqli_fetch_assoc($result)){
                if (
$row["Abilitato"] == 1){
                    include(
"default.php");
                } else{
                    
$error = 'Utente non abilitato';
                }
            }
        } else{
            
$error = 'Nome utente e/o password errata';
        }
    }
    if (
$error){
        include(
"index.tpl");
    }
} else{
    include(
"index.tpl"); 
mentre l'include iniziale è giusto..

p.s. tutto il sistema di login comunque non è il massimo, perché sarebbe buona regola creare un file php che controlla che l'utente sia loggato in base alla sessione ed includerlo in ogni pagina protetta..
se un utente scrive direttamente l'indirizzo della pagina post autenticazione adesso riuscirebbe ad accedervi giusto?

La pagina che ti ho postato è solo una prova
Comunque, potresti farmi un esempio per essere più chiaro?
Grazie
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 10:33   #6
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
esempio:
Codice:
if(utente_loggato_correttamente)
            header("Location: autenticato.php");
          else
            header("Location: login.php");
questo è un esempio molto semplice tanto per spiegare come si usa header in questi casi..poi per usare le sessioni è un'altra storia
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 10:57   #7
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p
esempio:
Codice:
if(utente_loggato_correttamente)
            header("Location: autenticato.php");
          else
            header("Location: login.php");
questo è un esempio molto semplice tanto per spiegare come si usa header in questi casi..poi per usare le sessioni è un'altra storia
Allora avevo capito male quello che avevi scritto
Il codice di autenticazione che ho postato è solo una prova ed è incompleto
Se l'autenticazione va a buon fine, imposto a true una variabile che memorizzo in una sessione (almeno in jsp facevo così), ed in ogni pagina protetta verifico prima di ogni altra cosa il valore di questa variabile
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 13:03   #8
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
Quote:
Se l'autenticazione va a buon fine, imposto a true una variabile che memorizzo in una sessione (almeno in jsp facevo così), ed in ogni pagina protetta verifico prima di ogni altra cosa il valore di questa variabile

attenzione!! a meno che non sia una cosa importante questa scelta non è sicurissima..soprattutto se la variabile ha un nome tipo logged o cose simili..in questo modo se un utente si logga in un'altro sito che (ironia della sorte) utilizza la stessa variabile risulta loggato anche sul tuo
la soluzione più sicura è salvare in sessione nome utente e password controllando nel database ogniqualvolta accedi ad una pag protetta tramite il tuo file che includerai ad ogni pagina
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 13:17   #9
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p

attenzione!! a meno che non sia una cosa importante questa scelta non è sicurissima..soprattutto se la variabile ha un nome tipo logged o cose simili..in questo modo se un utente si logga in un'altro sito che (ironia della sorte) utilizza la stessa variabile risulta loggato anche sul tuo
la soluzione più sicura è salvare in sessione nome utente e password controllando nel database ogniqualvolta accedi ad una pag protetta tramite il tuo file che includerai ad ogni pagina
Cavolo, questa cosa la ignoravo del tutto! In nessun libro di quelli letti (asp, jsp, php) se ne parla!
Quindi, vediamo se ho capito...Visualizzo la pagina di login e ad autenticazione avvenuta, memorizzo in una sessione i dati utente. Quando l'utente richiede pagina_protetta.php con una include richiamo una pagina all'interno della quale controllerò nuovamente i dati di login.
Ho capito bene?
Scusami, ho ancora una domanda su include ed header
Se devo visualizzare i dati di una query non mi conviene utilizzare la include? Spiego meglio. Ho una pagina query.php che legge da un db e mi stampa i record selezionati. Senza passare il controllo ad un'altra pagina, non mi conviene includere query.tpl per visualizzare i risultati?
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 13:24   #10
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
Quote:
Cavolo, questa cosa la ignoravo del tutto! In nessun libro di quelli letti (asp, jsp, php) se ne parla!
effettivamente non c'è una grande attenzione a questo nella manualistica
Quote:
Quindi, vediamo se ho capito...Visualizzo la pagina di login e ad autenticazione avvenuta, memorizzo in una sessione i dati utente. Quando l'utente richiede pagina_protetta.php con una include richiamo una pagina all'interno della quale controllerò nuovamente i dati di login.
proprio così
il tuo script check.php dovrà controllare i dati utente (se arrivano dal form da quello, altrimenti dalle variabili di sessione) e reindirizzare con gli header o alla pagina di login o non fare nulla (infatti se lo script viene incluso all'inizio della pagina e non fa niente perché l'utente è loggato, non ci si accorge di nulla)

p.s. se non è molto chiaro più tardi (perché ce l'ho in un'altra macchina) ti posto lo script responsabile del controllo..
in questo modo sei molto più sicuro nelle autenticazioni e con piccolissime modifiche al file che controlla puoi proteggere le pagine di qualsiasi progetto

edit:
Quote:
Se devo visualizzare i dati di una query non mi conviene utilizzare la include? Spiego meglio. Ho una pagina query.php che legge da un db e mi stampa i record selezionati. Senza passare il controllo ad un'altra pagina, non mi conviene includere query.tpl per visualizzare i risultati?
assolutamente si
più rendi il tuo lavoro modulare sfruttando le inclusioni più fatica risparmi e più elegante rimane il codice (se devi fare la stessa tabella in un'altra pagina ti basta includere quel file e non riscrivere il codice )
questo potentissimo strumento è ciò che finalmente ha sconfitto definitivamente i maledettissimi frames

Ultima modifica di loris_p : 24-08-2006 alle 13:27.
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 13:38   #11
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p
proprio così
il tuo script check.php dovrà controllare i dati utente (se arrivano dal form da quello, altrimenti dalle variabili di sessione) e reindirizzare con gli header o alla pagina di login o non fare nulla (infatti se lo script viene incluso all'inizio della pagina e non fa niente perché l'utente è loggato, non ci si accorge di nulla)

p.s. se non è molto chiaro più tardi (perché ce l'ho in un'altra macchina) ti posto lo script responsabile del controllo..
in questo modo sei molto più sicuro nelle autenticazioni e con piccolissime modifiche al file che controlla puoi proteggere le pagine di qualsiasi progetto
E' tutto chiaro, ma se mi posti il codice mi fai un grande favore. A volte è meglio vederle scritte le cose

Quote:
Originariamente inviato da loris_p
assolutamente si
più rendi il tuo lavoro modulare sfruttando le inclusioni più fatica risparmi e più elegante rimane il codice (se devi fare la stessa tabella in un'altra pagina ti basta includere quel file e non riscrivere il codice )
questo potentissimo strumento è ciò che finalmente ha sconfitto definitivamente i maledettissimi frames
Quindi, in linea di massima devo utilizzare header quando devo passare il controllo ad un'altra pagina (ad esempio nel caso dell'autenticazione), mentre include o require quando devo solo includere del codice particolare (sia php che html necessari per impaginare i risultati di una query, ad esempio).
Confermi tutto?
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 13:48   #12
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
Quote:
E' tutto chiaro, ma se mi posti il codice mi fai un grande favore. A volte è meglio vederle scritte le cose
ok tra un po' te lo faccio avere
Quote:
Quindi, in linea di massima devo utilizzare header quando devo passare il controllo ad un'altra pagina (ad esempio nel caso dell'autenticazione), mentre include o require quando devo solo includere del codice particolare (sia php che html necessari per impaginare i risultati di una query, ad esempio).
confermo..almeno come utilizzo di base..
va però aggiunto che include e require possono essere usati per includere qualsiasi porzione di codice che pensi potresti dover ripetere, ed header è una funzione che non serve solo al redirect..usata come ti ho detto fa quello, ma ciò che fa in generale è molto più vasto: invia headers http al browser
se vuoi approfondire l'argomento visita questo link e vedrai che enorme quantità di headers che puoi inviare (sempre nella forma
Codice PHP:
header("<testo dell'header>"); 
p.s. per le pagine da proteggere ti consiglio di includere la pagina di controllo con require, non include, poiché è assolutamente indispensabile che ci sia (se non venisse inclusa la pagina protetta risulterebbe visibile )

Ultima modifica di loris_p : 24-08-2006 alle 14:04.
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 14:11   #13
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
eccomi qui..
allora, questo file è quello che dovrai includere in tutte le pagine che vorrai proteggere con autenticazione
Codice PHP:
<?
session_start
();

//caso non loggato
if (!isset($_SESSION['username']) || !isset($_SESSION['password']))
{
    
//caso tentativo di login effettuato
    
if (isset($_POST['username']) && isset($_POST['password'])) 
    {
        
$_SESSION['username']=$_POST['username'];
        
$_SESSION['password']=$_POST['password'];
    }
    else
    {
        
session_unset(); 
        
session_destroy();
        
header("Location:http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/login.php");
        die();
    }
}

//apre connessione al db
$dbsession=mysql_connect("host","user","password")
                        or die(
"Connessione al database server non riuscita.<br>");
mysql_select_db("database_name")
                        or die(
"Connessione al database non riuscita.<br>");
$query="SELECT realname 
        FROM amministratori 
        WHERE username='"
.$_SESSION['username']."' 
        AND password='"
.md5($_SESSION['password'])."';";
$result=mysql_query($query);
mysql_close($dbsession);

if (!(
$riga=mysql_fetch_array($result))) 
{
    
//caso login errato
    
session_unset(); 
    
session_destroy();
    
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/login.php?err=1");
    die();
}
//caso login corretto
else
{
    
$_SESSION['realname']=$riga['realname'];
}
?>
come vedi la pagina dove ho il form si chiama login.php, la query naturalmente puoi rimpiazzarla con la tua e nota bene: nel controllo post query se l'utente c'è non fa altro che settare anche il nome vero in sessione (se la tua tabella non ce l'ha semplicemente non mettere l'else..io lo uso per fare cose del tipo "buongiorno signor mario rossi"); se invece la query non da risultati distrugge la sessione e reinvia al form, cosa che fa anche se la sessione non è ancora settata..
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 14:31   #14
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p
eccomi qui..
allora, questo file è quello che dovrai includere in tutte le pagine che vorrai proteggere con autenticazione
Codice PHP:
<?
session_start
();

//caso non loggato
if (!isset($_SESSION['username']) || !isset($_SESSION['password']))
{
    
//caso tentativo di login effettuato
    
if (isset($_POST['username']) && isset($_POST['password'])) 
    {
        
$_SESSION['username']=$_POST['username'];
        
$_SESSION['password']=$_POST['password'];
    }
    else
    {
        
session_unset(); 
        
session_destroy();
        
header("Location:http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/login.php");
        die();
    }
}

//apre connessione al db
$dbsession=mysql_connect("host","user","password")
                        or die(
"Connessione al database server non riuscita.<br>");
mysql_select_db("database_name")
                        or die(
"Connessione al database non riuscita.<br>");
$query="SELECT realname 
        FROM amministratori 
        WHERE username='"
.$_SESSION['username']."' 
        AND password='"
.md5($_SESSION['password'])."';";
$result=mysql_query($query);
mysql_close($dbsession);

if (!(
$riga=mysql_fetch_array($result))) 
{
    
//caso login errato
    
session_unset(); 
    
session_destroy();
    
header("Location: http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF'])."/login.php?err=1");
    die();
}
//caso login corretto
else
{
    
$_SESSION['realname']=$riga['realname'];
}
?>
come vedi la pagina dove ho il form si chiama login.php, la query naturalmente puoi rimpiazzarla con la tua e nota bene: nel controllo post query se l'utente c'è non fa altro che settare anche il nome vero in sessione (se la tua tabella non ce l'ha semplicemente non mettere l'else..io lo uso per fare cose del tipo "buongiorno signor mario rossi"); se invece la query non da risultati distrugge la sessione e reinvia al form, cosa che fa anche se la sessione non è ancora settata..

Grazie per l'aiuto, sei stato gentilissimo!
Solo una domanda. Prima hai scritto che grazie agli include è possibile "eliminare" i frames.
Sai dove posso trovare un esempio a riguardo? Per ora non sono riuscito a trovare nulla
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 14:39   #15
loris_p
Senior Member
 
L'Avatar di loris_p
 
Iscritto dal: Aug 2006
Messaggi: 365
figurati
per quanto riguarda i frames non so indicarti alcun esempio perché non li ho mai usati per principio, ma te ne faccio uno velocissimo:
un classico nell'uso dei frames è la barra laterale con i links..
bene il frame può essere evitato creando una pagina con i soli links, ad esempio una semplice lista
Codice HTML:
<ul>
  <li><a>link1</a></li>
  <li><a>link2</a></li>
  <li><a>link3</a></li>
</ul>
chiamata links.html ed includerla in ogni pagina, poi con i CSS si sistema il layout
attenzione: è buona regola dare una controllata al codice prodotto perché se includi pagine che magari hanno già i tag <html> o cose simili la pagina non è validata..per questo io di solito le minipaginette le creo in una cartella include in modo da sapere che ciò che c'è li dentro se incluso non da problemi di validazione ma se usato da solo si (links.html da sola non è una pagina html valida)
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 14:45   #16
DigitalKiller
Senior Member
 
L'Avatar di DigitalKiller
 
Iscritto dal: Aug 2004
Città: Salento
Messaggi: 1080
Quote:
Originariamente inviato da loris_p
figurati
per quanto riguarda i frames non so indicarti alcun esempio perché non li ho mai usati per principio, ma te ne faccio uno velocissimo:
un classico nell'uso dei frames è la barra laterale con i links..
bene il frame può essere evitato creando una pagina con i soli links, ad esempio una semplice lista
Codice HTML:
<ul>
  <li><a>link1</a></li>
  <li><a>link2</a></li>
  <li><a>link3</a></li>
</ul>
chiamata links.html ed includerla in ogni pagina, poi con i CSS si sistema il layout
attenzione: è buona regola dare una controllata al codice prodotto perché se includi pagine che magari hanno già i tag <html> o cose simili la pagina non è validata..per questo io di solito le minipaginette le creo in una cartella include in modo da sapere che ciò che c'è li dentro se incluso non da problemi di validazione ma se usato da solo si (links.html da sola non è una pagina html valida)
Ti ringrazio ugualmente! Farò una ricerca approfondita su google
Ciao
__________________
Il 90% dei problemi riscontrati sui computer sono localizzabili tra la sedia e la tastiera, il restante 10% nella scopa della donna delle pulizie.
DigitalKiller è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Samsung Micro RGB R95H, il primo LCD a LED rossi, verdi e blu di Samsung alla prova del banco di misura Samsung Micro RGB R95H, il primo LCD a LED rossi...
iPhone 18 Pro: la recensione del miglior iPhone compatto di sempre iPhone 18 Pro: la recensione del miglior iPhone ...
Panasonic, 30 anni di Toughbook: la "Bibbia" di mille regole dietro i nuovi G3 e 34 Panasonic, 30 anni di Toughbook: la "Bibbia...
realme C100x, lo smartphone economico con la batteria da 7500 mAh. La recensione realme C100x, lo smartphone economico con la bat...
Star Wars Zero Company è l'erede di XCOM 2 Star Wars Zero Company è l'erede di XCOM ...
Troppi report invalidi generati dall'IA:...
Furto di identità su scala nazion...
HPE vende i primi sistemi AMD Helios per...
Suno AI nel mirino dell'Antitrust: conte...
Xiaomi avrebbe cancellato il suo prossim...
WINDTRE BUSINESS rinnova l’offerta mobil...
BMW inaugura la fabbrica di batterie da ...
Googlebook apre al modding: bootloader s...
Denuvo non molla, vuole scoprire chi &eg...
Il miglior portatile tuttofare a basso p...
Gli agenti di OpenAI hanno mandato in ti...
Follie Amazon Prime: Zenbook è un...
MicroSD SanDisk in offerta Prime Day: Ul...
Steve Jobs, 15 anni dopo: John Ternus e ...
LaLiga chiede all'Europa di inserire qua...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 16:18.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v