• Bannato User Attivo

    [ASP] Prelevare dal db il "Title" e la "Description" di una pagina.

    Possiedo un script in asp per l'inserimento di news nel sito, dall'analisi fatta dello script (per quanto mi è possibile non essendo un programmatore), lo stesso non inserisce all'interno del sorgente pagina, ne il "title" ne la "description" nei tag "head", dunque vi chiedo come è possibile integrare la cosa?
    Il db ha i seguenti campi:

    id contatore
    immagine testo
    titolo testo
    articolo memo

    cosa bisogna aggiungere ed in che modo al db per integrare quanto richiesto?
    Ovviamente bisogna anche modificare sia la pagina di inserimento del pannello di amministrazione che quella di visualizzazione, ma mi fermo qua per poi pubblicare e ventualmente servisse altro.
    Ciao e grazie
    p.s.
    Per il moderatore se il titolo del posts è poco chiaro ti invito a modificarlo per enderlo più appetibile.


  • Moderatore

    Ciao, prova così:

    
    Dim objRs 
    Dim strSql
    Dim Titolo
    Dim Descrizione
    Set objRs = Server.CreateObject("ADODB.RecordSet")
    
    strSql = "SELECT TITOLO, ARTICOLO FROM NOMETABELLA WHERE id =" & idArticolo
    
    objRs.Open strSql, objConn
    If Not objRs.EOF Then
      Titolo = objRs("TITOLO")
      Descrizione = objRs("ARTICOLO")
    End If
    objRs.Close
    
    <html>
      <title>
        <%=Titolo%>
      </title>
      <meta name="description" content="<%=Left(Descrizione, 150)%>"/>
    </html>
    
    ```La funzione left ti prende i primi 150 caratteri partendo da sx, se ti servono più o meno caratteri devi cambiare valore al posto di 150 ci metti il valore che serve a te.
    
    Ciao

  • Bannato User Attivo

    Con questo sistema non dovrei modificare il db giusto?
    Ciao


  • Bannato User Attivo

    Forse sarebbe il caso di essere più precisi altrimenti si fanno solo prove e non si conclude nullam questo è il sorgente della pagina denominata "selezione.asp" che sarebbe poi l'articolo:

    
     
    <!--#include virtual="/italiaweb_inc/framealto.asp"-->
    <!--#include virtual="/focus/config.asp"-->
    <%
    sql = "SELECT * FROM articoli WHERE id=" & Request("id")
    Set rs = Server.CreateObject("ADODB.Recordset")
    rs.Open sql, cn, 3, 3
     
    rs.MoveLast
    NumArt = rs("id")
     
    sql = "SELECT * FROM commenti WHERE articolo=" & NumArt
    Set rsCom = Server.CreateObject("ADODB.Recordset")
    rsCom.Open sql, cn, 3, 3
    If rsCom.EOF or rsCom.BOF then
    NumCom = 0
    Else
    NumCom = rsCom.RecordCount
    End if
    rsCom.close
    set rsCom = nothing
     
    strText = rs("articolo") 
    strText = Replace (strText, vbCrLf, "<br>") 
    strText = Replace (strText," ","&nbsp;&nbsp;")
    %>
    ...
    
    

    quindi quanto da te detto dove andrebbe aggiunto in quale dei due file? Ho prvato ad aggiungerlo nel file framealto.asp, ma non funziona!!!


  • Moderatore

    Attenzione!
    Limitate il numero di righe di codice a max 15-20 righe per post.
    Qui non abbiamo il compito di analizzare intere pagine di script,
    segnalate solo i problemi e gli errori e lavoriamo su quelli.
    Il Codice ASP deve essere posto all'interno dei segguenti tag:

    (code)
    .... il tuo codice
    (/code)

    N.B.: Sostituire le parentesi tonde con le quadre.

    Leggete i regolamenti, please 😉

    Per rispondere al tuo quesito, positano, dovresti prelevare i dati dal DB Prima di includere i files che si occuperanno dei TAG title e description. Dopodichè aggiorni il file incluso che detiene i tag suddetti come ti ha suggerito Legolas.

    Ciao


  • Bannato User Attivo

    @paocavo said:

    Attenzione!
    Limitate il numero di righe di codice a max 15-20 righe per post.
    Qui non abbiamo il compito di analizzare intere pagine di script,
    segnalate solo i problemi e gli errori e lavoriamo su quelli.
    Il Codice ASP deve essere posto all'interno dei segguenti tag:

    (code)
    .... il tuo codice
    (/code)

    N.B.: Sostituire le parentesi tonde con le quadre.

    Leggete i regolamenti, please 😉

    Per rispondere al tuo quesito, positano, dovresti prelevare i dati dal DB Prima di includere i files che si occuperanno dei TAG title e description. Dopodichè aggiorni il file incluso che detiene i tag suddetti come ti ha suggerito Legolas.

    Ciao

    Ti chiedo scusa per essermi dilungato, purtroppo sono abituato ai lunghi discorsi delle sezioni SEO e Web marketing, non avendo poi letto il regolamento il gioco è fatto, cmq passiamo al codice, dici di prelevare i dati prima di includere i files, quindi dovrei inserire quanto detto da Legolas dove nel file "framealto.asp" oppure nel file "selezione.asp"? Nel primo caso l'ho fatto ma non funziona, qeusto era il motivo della pubblicazione del lungo, e mi dispiace, del codice, pensavo di far capire e di capire io meglio.
    Ciao
    p.s.
    Se la cosa può essere risolta anche in pvt posso farlo, sempre che non rompo troppo.


  • Moderatore

    Ovviamente anche qui si può discutere quanto si vuole, le limitazioni si applicano esclusivamente alle <% righe di codice %> 🙂

    cmq passiamo al codice, dici di prelevare i dati prima di includere i files, quindi dovrei inserire quanto detto da Legolas dove nel file "framealto.asp" oppure nel file "selezione.asp"? Nel primo caso l'ho fatto ma non funziona,

    Si, è nel file "framealto.asp" che devi apportare le modifiche perchè è lì che ci sono i TAG in esame. In quel file ci dovrebbero essere solo i tag title e description ed eventualmente i META TAGs.
    Stai attento all'ordine con cui verranno inseriti nell' HTML finale che genererà il web server e che non ci siano doppioni di tag importanti come <html>, <head>, <body>, ecc...
    Verifica che i nomi delle variabili conteneti i valori letti dal DB siano gli stessi in entrambi i files, anzi sarebbe meglio se tutto il codice per leggere TITLE e DESCRIPTION dal DB fosse spostato all'interno di "framealto.asp".

    :ciauz:


  • Bannato User Attivo

    @paocavo said:

    Ovviamente anche qui si può discutere quanto si vuole, le lilitazioni si applicano esclusivamente alle <% righe di codice %> 🙂

    Si, è nel file "framealto.asp" che devi apportare le modifiche perchè è lì che ci sono i TAG in esame. In quel file ci dovrebbero essere solo i tag title e description ed eventualmente i META TAGs.
    Stai attento all'ordine con cui verranno inseriti nell' HTML finale che genererà il web server e che non ci siano doppioni di tag importanti come <html>, <head>, <body>, ecc...
    Verifica che i nomi delle variabili conteneti i valori letti dal DB siano gli stessi in entrambi i files, anzi sarebbe meglio se tutto il codice per leggere TITLE e DESCRIPTION dal DB fosse spostato all'interno di "framealto.asp".

    :ciauz:

    Perdonami ma nulla da fare ho fatto le varie prove ma non funziona, adesso ti posto il codice del framealto.asp e vediamo se la tua pazienza mi sopporta:

    
    <%
    Session.LCID=1040
    %>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    <title></title>
    </head>
    <body>
    </body>
    </html>
    
    

    Ho fatto varie prove, ho eliminato la parte del <body> in quanto ripetuta nel file selezione.asp, pensando ad un eventuale conflitto per la ripetizione del tag sia in alto che al centro, nulla da fare, ovviamento inserendo quanto detto (solo l'istruzione dell'interrogazione) da Legolas, prima del tag <html> ed inserendo l'istruzione della visualizzazione nel meta, ma mi da sempre errore alla riga 13 e cioè a questa istruzione

    
    objRs.Open strSql, objConn
    
    

    Credo che mi arrendo Ciao


  • Moderatore

    Questa riga necessita di una modifica.

    objRs.Open strSql, objConn
    

    Dando un'occhiata al tuo codice direi che così non ti dovrebbe dare più errore

    objRs.Open strSql, cn
    

    Ciao
    :ciauz:


  • Moderatore
    1. Segui l'indicazione di Legolas
    2. Scusa ma il file incluso non contiene le istruzioni per riempire il title e description :():

    Prova con:

    
    <%
    Session.LCID=1040
    %>
    <html>
    <head>
    <title>**<%=strText%>**</title>
    <meta name="description" content="**???????**" />
    <meta http-equiv="Content-Language" content="it">
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <meta name="GENERATOR" content="Microsoft FrontPage 6.0">
    <meta name="ProgId" content="FrontPage.Editor.Document">
    </head>
    
    

    Questo file si deve fermare a </head> perchè poi il body sarà gestito nella pagina asp principale!


  • Bannato User Attivo

    Scusami paocavo lo avevo omesso spernaod che era sottiniteso (forse nella mia testa), cmq niente ho fatto e rifatto varie prove ma nulla da fare, l'errore che mi tira fuori è sempre lo stesso o che sia il primo

    
    objRs.Open strSql, objConn
    
    

    o che sia il secondo dice sempre la stessa cosa

    
    objRs.Open strSql, cn
    
    

    ho provato ad inserire nel file framealto.asp solo l'istruzione (ovviamente nei tag <head>

    
      <title>
        <%=Titolo%>
      </title>
      <meta name="description" content="<%=Left(Descrizione, 150)%>"/>
    
    

    e nel file selezione.asp il codice di connsessione, messo all'inzio come diceva paocavo, ma il risultato è sempre lo stesso sarò tonto io? Boh!!!
    Ciao


  • Bannato User Attivo

    fatto ragazzi, prova che ti riprova ci sono riuscito in definitiva aveva ragione paocavo, sbagliavo nell'inserimento delle istruzioni.
    Thanks e Ciao