Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria
vivo X300 Pro rappresenta un'evoluzione misurata della serie fotografica del produttore cinese, con un sistema di fotocamere migliorato, chipset Dimensity 9500 di ultima generazione e l'arrivo dell'interfaccia OriginOS 6 anche sui modelli internazionali. La scelta di limitare la batteria a 5.440mAh nel mercato europeo, rispetto ai 6.510mAh disponibili altrove, fa storcere un po' il naso
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo
Lenovo Legion Go 2 è la nuova handheld PC gaming con processore AMD Ryzen Z2 Extreme (8 core Zen 5/5c, GPU RDNA 3.5 16 CU) e schermo OLED 8,8" 1920x1200 144Hz. È dotata anche di controller rimovibili TrueStrike con joystick Hall effect e una batteria da 74Wh. Rispetto al dispositivo che l'ha preceduta, migliora ergonomia e prestazioni a basse risoluzioni, ma pesa 920g e costa 1.299€ nella configurazione con 32GB RAM/1TB SSD e Z2 Extreme
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti
A re:Invent 2025, AWS mostra un’evoluzione profonda della propria strategia: l’IA diventa una piattaforma di servizi sempre più pronta all’uso, con agenti e modelli preconfigurati che accelerano lo sviluppo, mentre il cloud resta la base imprescindibile per governare dati, complessità e lock-in in uno scenario sempre più orientato all’hybrid cloud
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 23-08-2006, 16: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, 21: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, 10: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, 11: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, 11: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, 11: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, 11: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, 14: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, 14: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, 14: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 14:27.
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 14: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, 14: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 15:04.
loris_p è offline   Rispondi citando il messaggio o parte di esso
Old 24-08-2006, 15: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, 15: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, 15: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, 15: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


Recensione vivo X300 Pro: è ancora lui il re della fotografia mobile, peccato per la batteria Recensione vivo X300 Pro: è ancora lui il...
Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'' per spingere gli handheld gaming PC al massimo Lenovo Legion Go 2: Ryzen Z2 Extreme e OLED 8,8'...
AWS re:Invent 2025: inizia l'era dell'AI-as-a-Service con al centro gli agenti AWS re:Invent 2025: inizia l'era dell'AI-as-a-Se...
Cos'è la bolla dell'IA e perché se ne parla Cos'è la bolla dell'IA e perché se...
BOOX Palma 2 Pro in prova: l'e-reader diventa a colori, e davvero tascabile BOOX Palma 2 Pro in prova: l'e-reader diventa a ...
iPhone Fold: scorte limitate al lancio m...
OpenAI porterà la pubblicità in ChatGPT ...
TSMC aumenterà ancora i prezzi: nel 2026...
Marvel pubblica anche il secondo teaser ...
Nuovo accordo tra xAI e il Pentagono: l'...
La famiglia Xiaomi 17 sta per registrare...
Nuove auto elettriche che vedremo sul me...
E-bike illegali, a Verona il più ...
Quali sono i giochi più venduti su Steam...
HONOR sta per lanciare un nuovo smartpho...
Jared Isaacman sarà alla guida de...
Il Tesla Cybertruck non arriverà ...
Xiaomi Watch 5 è ufficiale: architettura...
CD Projekt vende GOG: il co-fondatore Mi...
Il meglio di Amazon in 26 prodotti, aggi...
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: 22:45.


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