Directory ASP “Title” automatico

  • Creatore Discussione Creatore Discussione Luca13
  • Data di inizio Data di inizio

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
 
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
 
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
 
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

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
 
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
 
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
 

Discussioni simili