Condividi:        

Webmastering avanzato

Hai problemi con i file Zip, vuoi formattare l'HD, non sai come funziona FireFox? O magari ti serve proprio quel programmino di cui non ricordi il nome! Ecco il forum dove poter risolvere i tuoi problemi.

Moderatori: Dylan666, hydra, gahan

Webmastering avanzato

Postdi verbal666 » 27/12/03 13:09

Ciao gente.
Oggi ero incuriosito da alcuni siti web (php/asp) che hanno un certo tipo di gestione dei link (vedi in parte anche pc-facile) che esulano completamente dall'essere gestiti tramite frame o iframe.
Ero interessato a scoprire come viene gestita la pagina alla presenza di diversi link che puntano ad aprire la medesima pagina (il layout principale), ma con delle sezioni che cambiano dinamicamente (per esempio la sola cella centrale della tabella principale) con come contenuto la pagina appunto linkata.

Premetto che mi interessa il lato asp, ma anche php può servire in quanto sono comunque "traducibili".

[1] include virtuali, es. http://www.damianomx.altervista.org/
All'inizio ho pensato a link predisposti che puntano alla homepage programmata per leggere argomenti passati e includerli nella sottosezione interessata. In questo modo da "index.asp" per es. creo un link "index.asp?vai=forum"; in index.asp piazzo un codice che mi prende il "vai=forum" e a questo punto scrive la pagina che mi interessa. La gestione viene fatta tramite include virtuali (http://www.risorse.net/magazine/leggi.asp/id-40).

[2] pcfacile, come gestisce il link NEWS?
Altra tecnica è per es. la gestione del link NEWS di Pc-Facile! Tutti i link portano ad aprire la paginona principale (default), con l'unica variante che la cella centrale della tabella principale contiene il testo appena cliccato. Quindi NEWS.PHP cosa fa? E' una copia della default con l'unica variante delle cella centrale o adotta qualche tecnica particolare per "interfacciarsi" alla default?

Esistono altre tecniche? Per esempio sfruttando i layer? Se esiste qualche script d'esempio da scaricare o qualche pagina web di documentazione sarebbe ideale in modo da capire bene la tecnica utilizzata.
Grazie.
!sto con Windows, ma amo Linux! ;)
Immagine
http://www.verbal.it
verbal666
Utente Senior
 
Post: 693
Iscritto il: 27/12/02 12:13

Sponsor
 

Postdi piercing » 27/12/03 14:31

beh generalmente questo tipo di tecniche si basano sulla lettura di dati da un database... la pagine viene così composta dinamicamente leggendo i dati dal database, e componendola di volta in volta come se fosse una pagina diversa... (anche le news funzionano così per esempio)

ci sono diversi modi... di cui il più scomodo è sicuramente quello cui accenni degli include dinamici (che tra l'altro in ASP sono gestiti solo da IIS (che è il motore di ASP) dalla versione 5 in poi).

Per quanto riguarda le tecniche su DB lo schema di funzionamento è sempre all'incirca lo stesso.

I dati possono essere richiesti in genere in due modi diversi, via GET e via POST, cioè facendo la richiesta con la querystring (la barra degli indirizzi in pratica) o con un form HTML (con un utilizzo quasi sempre di campi cosiddetti hidden).

C'è quindi una pagina che fa la domanda (può essere anche in HTML standard) e una pagina che formatta la risposta che invece è dinamica... quest'ultima esamina la richiesta... trova la risposta (leggendo appunto un DB ad esempio) e la formatta in output in una pagina HTML, operazione che viene fatta dinamicamente, per la quale ci vuole un server "pensante"...

La base della teoria è all'incirca questa.
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi verbal666 » 27/12/03 18:54

grazie piercing, fin lì c'ero......
ero alla ricerca del come di alcune pagine.....
prendi per es le news di pcfacile (idem per software, download etc..):
ok, il link punta al news.php che interroga l'sql per prendere la news corrispondete da db!

MA COME FA POI AD IMPAGINARE SOLO NELLA CELLA CENTRALE (visto che non ci sono frame, ma solo tabelle)?

la risposta che mi do è:
- news.php è una copia clone della default.php (la homepage), con cambiato solo la cella centrale dove verranno inseriti i dati del db.

in questo modo ho la default.php
c1 --- c2(homepage) --- c3

così la news.php
c1 --- n2 (news) --- c3


il discorso sarebbe da estendere per es al sito http://www.centrohl.it/
che non usa frame, ma solo le medesime tabelle a cui "include" dinamicamente il link appena cliccato........
!sto con Windows, ma amo Linux! ;)
Immagine
http://www.verbal.it
verbal666
Utente Senior
 
Post: 693
Iscritto il: 27/12/02 12:13

Postdi Triumph Of Steel » 27/12/03 20:14

semplicemente, sarà una codice del genere

include("header.php");
include("box_di_sinistra.php");

<? CONTENUTO NEWS ?>

include("box_di_destra.php");
include("footer.php");

questo in tutte le pagine, anche download.. con la differenza che al posto di CONTENUTO NEWS, ci sarà CONTENUTO DOWNLOADS

intendevi questo? :roll:
Avatar utente
Triumph Of Steel
Moderatore
 
Post: 7852
Iscritto il: 22/08/01 01:00

Postdi piercing » 27/12/03 20:45

mi sento un attimo perso... in che senso come fà??? esattamente come hai detto tu... ma non c'è bisogno di nessuna inclusione...

senza andare troppo sul difficile facciamo un esempio pratico... in ASP

copia il tutto su una pagina prova.asp

Codice: Seleziona tutto
<html>
<body>
Questa è la parte iniziale comune
<br>
<%
select case request.querystring("pageid")
   case 1
      response.write("Questa è la news su Topolino")
   case 2
      response.write("Questa è la news su Paperino")
   case else
      response.write("La pagina richiesta non esiste")
end select
%>
<br>
Questa è la parte finale comune
</body>
</html>



a questo punto puoi vedere la differenza richiamando la pagina

nomesito/prova.asp?pageid=1

oppure

nomesito/prova.asp?pageid=2

La pagina funzionante la puoi testare qui o qui
Avatar utente
piercing
Moderatore
 
Post: 7569
Iscritto il: 10/04/02 10:34
Località: Roma

Postdi verbal666 » 28/12/03 02:06

Triumph Of Steel ha scritto:intendevi questo? :roll:


yez! proprio questo.....
quindi la pagina è costruita a pezzetti partendo da un layout principale comune.......

il dramma ora è utilizzare lo stesso metodo, o quello degli include dinamici, per siti che hanno dozzine di link e sottosezioni, non solo mezza dozzina...........

@Piercing:
grazie, ma forse non mi sto facendo capire bene :)
ha colto nel segno ToS...
!sto con Windows, ma amo Linux! ;)
Immagine
http://www.verbal.it
verbal666
Utente Senior
 
Post: 693
Iscritto il: 27/12/02 12:13

Postdi verbal666 » 29/12/03 10:25

ero partito dalla gestione coi link virtuali, ma è subito risultata inutilizzabile per grosse quantità, così ho messo in pratica l'ottimo consiglio di ToS di gestire tutto tramite un layout principale e le varie pagine con gli include.... mi sembra che per ora il lavoro sia riuscito! THANX
!sto con Windows, ma amo Linux! ;)
Immagine
http://www.verbal.it
verbal666
Utente Senior
 
Post: 693
Iscritto il: 27/12/02 12:13


Torna a Software Windows


Topic correlati a "Webmastering avanzato":


Chi c’è in linea

Visitano il forum: Nessuno e 68 ospiti