Directory ASP “Title” automatico

Luca13

Nuovo Utente
27 Mar 2015
11
0
1
Salve a tutti,
ho creato una directory con ASP e Access trovato su Mr Webmaster (7209).
Funziona tutto ma vorrei che le pagine Categoria (cat.asp) e Sub_Categoria (dir.asp) riportino i tags <TITLE> </TITLE> in automatico per relative pagine visualizzate.

Di seguito l’inizio della pagina cat.asp:

<%@LANGUAGE = VBScript%>
<!--#include file="config.asp"-->
<%
Dim id, SQL
id = Request.QueryString("id")
If IsNumeric(id) = False Or id < 1 Then
Response.Redirect "default.asp"
End If
Call CnOpen()
%>

<HTML>
<HEAD>

<TITLE> qui vorrei Nome della Categoria oppure Sub_Categoria </TITLE>

</HEAD>
<BODY>


Il file incluso “config.asp” come segue:

<%
Option Explicit
On Error Resume Next
Response.Buffer = True
Response.Expires = 0
Session.Timeout = 60
Dim cn, rs, sc
sc = ""
sc = sc & "driver={Microsoft Access Driver (*.mdb)};dbq="
sc = sc & Server.MapPath("directory.mdb")
Function CnOpen()
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open sc
End Function
Function CnClose()
Set rs = Nothing
cn.Close
Set cn = Nothing
End Function
%>

Un esempio di pagina visibile al seguente Link:
http://www.newtechno.it/asp_directory/cat.asp?id=21

Credo sia semplice ma non ci riesco, fatemi sapere se serve altro
Grazie in anticipo per il vostro aiuto.
Luca13
 

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
526
13
18
Italy
www.riciclarte.info
La soluzione più logica sarebbe recuperare l'id e valorizzare una variabile con il nome della categoria.
Cosa impossibile senza il codice completo della pagina e la struttura del DB.

Intanto prova con un codice facile facile, posizionalo in testa alla pagina, prima del tag title:

Codice:
<%

If request("id") = "21" Then
   titolo = "AEROSPACE"
ElseIf request("id") = "3" Then
   titolo = "ELECTRONICS"
ElseIf request("id") = "19" Then
   titolo = "ENERGY"
ElseIf request("id") = "6" Then
   titolo = "INFORMATICA"
ElseIf request("id") = "20" Then
   titolo = "ROBOTICS"
ElseIf request("id") = "16" Then
   titolo = "SCIENTIFIC RESEARCH"
ElseIf request("id") = "18" Then
   titolo = "TECHNOLOGIES"
ElseIf request("id") = "23" Then
   titolo = "VIDEO"
End If

%>
Codice:
<TITLE><%=titolo%></TITLE>
Buona giornata.
Paolo
 

Luca13

Nuovo Utente
27 Mar 2015
11
0
1
Paolo69, grazie.
ho implementato il codice e funziona! Certo cambiano il nome Categoria oppure Sub_Categoria oppure nuove Categorie mi devo ricordare di aggiornare sempre il codice.
comunque per ora va bene, nel futuro vedrò se riesco a renderlo automatico.
Ciao
Luca13
 

Luca13

Nuovo Utente
27 Mar 2015
11
0
1
Directory ASP “Title” automatico : nomi dei campi del DB

Paolo,
In allegato un file asp_directory.zip (che spero riesci ad aprire) con i seguenti file in modo che hai tutti i riferimenti :
- directory.mdb (Copia vuota)
- dir.asp
- cat.asp
- config.asp

la directory attuale si trova su questo link: http://www.newtechno.it/asp_directory/default.asp

Grazie di cuore,
Luca13
 

Allegati

Paolo69

Moderatore
Membro dello Staff
MOD
18 Feb 2010
526
13
18
Italy
www.riciclarte.info
Scusa il ritardo, ero via per lavoro.

Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>

<!--#include file="../asp/superiore.asp"-->

<%

' ========================================================
Set objRs = Server.CreateObject("ADODB.Recordset")
	strSQL = "SELECT * FROM categorie WHERE cat_id = '"&request("id")&"' ;"
	objRs.Open strSQL, sc
	If NOT objRs.EOF Then
		titolo = (objRs.Fields.Item("cat_nome").Value)
    End If
	objRs.Close
Set objRs = Nothing
' ========================================================

%>

<TITLE><%=titolo%></TITLE>
Il codice non l'ho provato, penso che dovrebbe funzionare, se da problemi postami l'errore.
Paolo
 

Luca13

Nuovo Utente
27 Mar 2015
11
0
1
Scusa il ritardo, ero via per lavoro.

Codice:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<HEAD>

<!--#include file="../asp/superiore.asp"-->

<%

' ========================================================
Set objRs = Server.CreateObject("ADODB.Recordset")
	strSQL = "SELECT * FROM categorie WHERE cat_id = '"&request("id")&"' ;"
	objRs.Open strSQL, sc
	If NOT objRs.EOF Then
		titolo = (objRs.Fields.Item("cat_nome").Value)
    End If
	objRs.Close
Set objRs = Nothing
' ========================================================

%>

<TITLE><%=titolo%></TITLE>
Il codice non l'ho provato, penso che dovrebbe funzionare, se da problemi postami l'errore.
Paolo
Grazie Paolo, lo provo e ti faccio sapere.
Luca13
 

Luca13

Nuovo Utente
27 Mar 2015
11
0
1
Paolo,
ho provato a usare il codice ma praticamente non succede niente, nessun errore ma non si vede il <Title> della pagina.
La directory è aumentata di "categorie" e "subcat" quindi inizia a essere complicato aggiornare le pagine "cat.asp" e "dir.asp" manualmente.

Il nuovo sito si trova su questo Link: http://www.thetechnofuture.com/Vedi l'allegato asp_directory.zip

In allegato un file asp_directory.zip con i seguenti file in modo che hai tutti i riferimenti :
- directory.mdb (Copia vuota)
- dir.asp
- cat.asp
- config.asp

I nomi dei campi del DB che riguardano il Title sono:
Tabella "categorie" = "cat_nome" e "cat_id"
Tabella "subcat" = "sub_nome" e "sub_id"

Per cortesia fammi sapere,
Grazie in anticipo,
Luca13
 

Luca13

Nuovo Utente
27 Mar 2015
11
0
1