• User Newbie

    [ASP] passaggio variabili

    Ciao a tutti.
    grazie intanto per la lettura. Grazie ancora di più per ogni risposta.

    Ho un sito di foto dove ho inserito un modulo per aggiungere link da parte dei visitatori. Aimè puristi ho usato dreamweaver perchè sono un po' di coccio.
    Funziona bene, ma vorrei fare di più. Poiche carica di default per ogni link aggiunto l'opzione pubblicare si/no finchè non lo vedo (il link suggerito)(ci sono persone che aggiungono di tutto) vorrei anche ricevere dal server una mail che mi avvisi che qualcuno ha inserito un nuovo link.
    Sono riuscito a dire al form di cambiare pagina una volta inserito il link ma non passa i dati dopo averli aggiunti al db.
    HO provato a copiare e incollare un po' di codice con esito prima penosi e poi buoni (arriva la mail ma vuota).
    Vi chiedo: in che modo posso passare i dati inseriti nel db alla pagina dell'invio della mail ?
    Vi serve il codice o c'è un @@### di comando che ricrea la variabile ?
    Se serve posto il link e il codice

    Grazie per ogni paziente supporto


  • Moderatore

    vi chiedo: in che modo posso passare i dati inseriti nel db alla pagina dell'invio della mail ?

    Puoi utilizzare le session oppure interroghi il database per recuperare i dati.
    :ciauz:


  • User Newbie

    @Legolas said:

    Puoi utilizzare le session oppure interroghi il database per recuperare i dati.
    :ciauz:

    grazie legolas...mi sembra (interrogare il db) un'ottima idea, tanto dovrebbe andare dentro come ultimo record...anche perchè usare le session per me equivale a nebbia...
    faccio altre 2 domande che magari rimangono utili ad altri imbranatoni come me:
    le session posso definirle da qualche parte per portarle di la in modo semplice o no (cioè come funzionano come regola) e la seconda quella che mi interesa di più per il test che farò stanotte o domani notte è: come si fa a tirar fuori l'ultimo record inserito ? il comando sql per intenderci...

    lo so lo so dovrei studiare tutto, ma sono un persona a cui se le spieghi le capisci ; a leggere manuali (già letti 3) teorici non ne vengo fuori...mai.

    Grazie a chi mi aggiunge la fine del cruccio....poi vi do il link appena funziona 🙂


  • Moderatore

    Ciao puoi utilizzare il comando SELECT @@IDENTITY che ti recupera la chiave primaria autoincrementante dell'ultimo record inserito.

    :ciauz:


  • User Newbie

    mi vergogno quasi...ma
    con il solo @@identity mi vengono tutti i record...ho cercato in giro e ho trovato da aggiungere top 1, ma mi viene il primo e non l'ultimo...

    e poi sigh...dovrei trovare un'anima pia che mi faccia un corso a voce...

    SELECT top 1 @@IDENTITY, id, link2, email
    FROM link

    quindi cosa dovrebbe uscire come stringa ?
    grazie ancora


  • Moderatore

    no no fermi con select @@identity ti ritorna solo la chiave non tutto il record.
    quindi dopo devi fare un'altra query tipo "select * from tabella dove chiave= valore che hai ricavato dalla @@identity"
    :ciauz:


  • User Newbie

    legolas scusa giurin giuretta poi non scrivo più...
    risolvo in modo diverso. Dopo il form mando su una pagina di invio mail senza leggere i dati ma mi scrivo da solo un utente ha aggiunto il suo link. E grazie alla tua idea ho risolto (male) ma risolto la necessità di avere un'alert per quando ci sono nuovi link da recensire...

    ma poichè sono un testone notturno e ottuso...non è che se hai 10 secondi mi dici cosa @@[## devo mettere qui di seguito ?
    Nel caso grazie 🙂

    ti dico subuto i miei dubbi (le prove empiriche insomma)

    1.dove definisco il valore che mi rende la query select @@identity ?
    2.a questo punto se mi dici come e dove la definisco riesco ad associarla alla seconda query...
    3. dopo che ho l'ultimo record devo beccare una nuova query per scaricarmi id,link2,email ?
    sono un caprone 😞

    grazie

    <%
    Dim caricadati
    Dim caricadati_cmd
    Dim caricadati_numRows

    Set caricadati_cmd = Server.CreateObject ("ADODB.Command")
    caricadati_cmd.ActiveConnection = MM_linkeu_STRING
    caricadati_cmd.CommandText = "SELECT @@identity"
    caricadati_cmd.Prepared = true

    Set caricadati = caricadati_cmd.Execute
    caricadati_numRows = 0
    %>
    <%
    Dim carica_da_select
    Dim carica_da_select_cmd
    Dim carica_da_select_numRows

    Set carica_da_select_cmd = Server.CreateObject ("ADODB.Command")
    carica_da_select_cmd.ActiveConnection = MM_ncl_STRING
    carica_da_select_cmd.CommandText = "SELECT * FROM link WHERE id = caricadati"
    carica_da_select_cmd.Prepared = true

    Set carica_da_select = carica_da_select_cmd.Execute
    carica_da_select_numRows = 0
    %>
    <%
    dim id
    dim link2
    dim email
    %>


  • Moderatore

    Dopo aver definito connessione e recordset:

    objRecord.Open "SELECT @@IDENTITY as ULTIMO", objConn

    dim ultimo
    ultimo = RsRecord("ULTIMO")

    successivamente utilizzi il valore immagazzinato nella variabile "ultimo"

    quindi:

    Set carica_da_select_cmd = Server.CreateObject ("ADODB.Command")
    carica_da_select_cmd.ActiveConnection = MM_ncl_STRING
    carica_da_select_cmd.CommandText = "SELECT * FROM link WHERE id = " & ultimo
    carica_da_select_cmd.Prepared = true

    Set carica_da_select = carica_da_select_cmd.Execute
    carica_da_select_numRows = 0

    :ciauz:


  • User Newbie

    legolas avevo promesso no post dopo tua risposta...
    sono un caprone...solo questo.

    non ho ancora risolto...penso di dover fare un corso perchè senza le basi non vado da nessuna parte....

    ci proverò ancora un po', ma per ora desisto
    grazie ancora del tuo tempo
    ciao