Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it L'avatar di Ivan90
    Registrato dal
    Dec 2005
    Messaggi
    59

    Probelma inserimento dati

    Ragazzi premetto che sono un neofita
    Leggendo alcune guide, ho provato ad interagire con i database ma fin quando ne ho dovuto creare uno con access tutto ok... il problema persiste se io voglio creare sul web una tabella con due colonne NOME E PUNTI e inserire direttamente i dati dal web...


    Ho creato una pagina inserisci.asp e una classifica.asp.

    inserisci.asp ho messo una form per l'inserimento

    codice:
    <form name="inserisci" method="post" action="classifica.asp">
    Nome <input type="text" name="nome" size="20">
    
    Punti<input type="text" name="punti" size="5">
    
    <input type="submit" value="Inserisci">
    </form>

    classifica.asp

    codice:
    <html>
    <head>
    <title>Classifica punti</title>
    </head>
    
    <body>
    
    <table border="0" widht="100">
    <tr>
    <td widht="25%">Nome</td>
    <td width="25%">Punti</td>
    </tr>
    
    <%
    ' riconosce i campi della form
    nome = request.form("nome")
    punti = request.form("punti")
    
    'verifica che i campi siano stai compilai correttamente
    if "request.form("nome")<>" AND "request.form("punti")<>" THEN
    response.write "Torna indietro e compila tutti i campi correttamente"
    
    else
    
    ' apre la connesione al database
    Dim conn,strconn,DBQ
    Set conn = Server.CreateObject("ADODB.Connection")
    DBQ = Server.MapPath("../mdb-database/classifica.mdb")
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBQ
    conn.open strconn
    
    set rs = Server.CreateObject("ADODB.Recordset")
    conn.Execute(SQL)
    
    SQL="SELECT Nome FROM Classifica WHERE Nome = '"+Nome+"'"
    
    if (RS.EOF)
    THEN
        SQL_Inserisci = "INSERT into Classifica(Nome,Punti) values ('"+Nome+"',"+Punti+")";
       conn.Execute(SQL_Inserisci)
        
    
    else
    
        SQL_Update = "Update Classifica SET Punti="+Punti+" WHERE Nome= '"+Nome+"'";
        conn.Execute(SQL_Update)
        
    
    
    Response.Redirect("classifica.asp");
    
    %>
    
    <tr>
    <td widht="25%"><%=rs("nome")</td>
    <td width="25%"><%=rs(punti")</td>
    </tr>
    <%
    rs.movenext
    rs.Close
    set rs= nothing
    
    conn.Cloese
    set conn= nothing
    
    %>
    
    </table>
    </body>
    </html>

    raga spero di essere stao chiaro e spero di avere molti chiarimenti perchè sicuramente molte cose non sono esatte... grazie , accetto anche consigli per strutturarlo in modo diverso...
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perché!"

  2. #2
    C'è un po' di confusione già a questa linea:

    codice:
    if "request.form("nome")<>" AND "request.form("punti")<>" THEN
    a meno che tu non hai sbagliato a postare, ad ogni modo fai:

    codice:
    if len(nome)> 0 AND len(punti) > 0 THEN
    Altra cosa, mi sembra che tu stia usano ASP/VBScript, per cui i "+" vanno sostituiti con le "&":

    codice:
    ' apre la connesione al database
    Dim conn,strconn,DBQ
    Set conn = Server.CreateObject("ADODB.Connection")
    DBQ = Server.MapPath("../mdb-database/classifica.mdb")
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBQ
    conn.open strconn
    
    set rs = Server.CreateObject("ADODB.Recordset")
    conn.Execute(SQL)
    
    SQL="SELECT Nome FROM Classifica WHERE Nome = '" & Nome & "'"
    
    if (RS.EOF)
    THEN
        SQL_Inserisci = "INSERT into Classifica(Nome,Punti) values ('" & Nome & "'," & Punti& ")";
       conn.Execute(SQL_Inserisci)
        
    
    else
    
        SQL_Update = "Update Classifica SET Punti = " & Punti & " WHERE Nome= '" & Nome & "'";
        conn.Execute(SQL_Update)
        
    Response.Redirect("classifica.asp");
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  3. #3
    Utente di HTML.it L'avatar di Ivan90
    Registrato dal
    Dec 2005
    Messaggi
    59
    azz, ma per il resto il codice va bene???
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perché!"

  4. #4
    Prova intanto ad applicare le mie modifiche, poi se vi sono altri problemi, vieni su questo 3d e vediamo di risolverli.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  5. #5
    Utente di HTML.it L'avatar di Ivan90
    Registrato dal
    Dec 2005
    Messaggi
    59
    Ho pravot maximux... mi da un errore in questo <%=rs("nome")%> perchè???
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perché!"

  6. #6
    Utente di HTML.it L'avatar di Ivan90
    Registrato dal
    Dec 2005
    Messaggi
    59
    Ho già risolto bastava togliere le virgolette ...<%rs(nome)%> però ora il problema che mi da è questo

    Microsoft VBScript compilation error '800a03f6'

    Expected 'End'

    /ivanissimo/classifica.asp, line 63



    il codice rieccolo

    codice:
    <html>
    <head>
    <title>Classifica punti</title>
    </head>
    
    <body>
    
    <table border="0" widht="100">
    <tr>
    <td widht="25%">Nome</td>
    <td width="25%">Punti</td>
    </tr>
    
    <%
    ' riconosce i campi della form
    nome = request.form("nome")
    punti = request.form("punti")
    
    'verifica che i campi siano stai compilai correttamente
    if len(nome)> 0 AND len(punti) > 0 THEN
    response.write "Torna indietro e compila tutti i campi correttamente"
    
    else
    
    ' apre la connesione al database
    Dim conn,strconn,DBQ
    Set conn = Server.CreateObject("ADODB.Connection")
    DBQ = Server.MapPath("../mdb-database/classifica.mdb")
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBQ
    conn.open strconn
    
    set rs = Server.CreateObject("ADODB.Recordset")
    conn.Execute(SQL)
    
    SQL="SELECT Nome FROM Classifica WHERE Nome = '" & Nome & "'"
    
    if (rs.eof) then
        SQL_Inserisci = "INSERT into Classifica(Nome,Punti) values ('" & Nome & "'," & Punti & ")"
       conn.Execute(SQL_Inserisci)
        
    
    else
    
        SQL_Update = "Update Classifica SET Punti = " & Punti & " WHERE Nome= '" & Nome & "'"
        conn.Execute(SQL_Update)
        
    Response.Redirect("classifica.asp")
    
    end if
    
    %>
    
    <tr>
    <td widht="25%"><%rs(nome)%></td>
    <td width="25%"><%rs(punti)%></td>
    </tr>
    <%
    rs.movenext
    rs.Close
    set rs= nothing
    
    conn.Cloese
    set conn= nothing
    
    %>
    
    </table>
    </body>
    </html>
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perché!"

  7. #7
    si cavolo ma dicci che errore ti da...e poi le virgolette non vanno tolte, evidentemente l'errore era un altro...

    e cmq manca un "end if" da mettere dopo
    codice:
    rs.movenext
    rs.Close
    set rs= nothing
    
    conn.Cloese
    set conn= nothing

  8. #8
    Utente di HTML.it L'avatar di Ivan90
    Registrato dal
    Dec 2005
    Messaggi
    59
    Hai ragione santino mi sono sicuramente espresso male però ciò non toglie che ho provato a fare quello che mi hai detto tu e mi da sempre lo stesso errore dell' end if!

    Eccotelo qua...

    Microsoft VBScript compilation error '800a03f6'

    Expected 'End'

    /Ivansoft/classifica.asp, line 67



    e cmq l'errore di prima era

    Microsoft VBScript compilation error '800a0400'

    Expected statement

    /Ivansoft/classifica.asp, line 54

    =rs("nome")</td>
    ^


    che ho risolto perchè non avevo chiuso %>
    "La teoria è quando si sa tutto e niente funziona. La pratica è quando tutto funziona e nessuno sa il perché. In questo caso abbiamo messo insieme la teoria e la pratica: non c'è niente che funziona...e nessuno sa il perché!"

  9. #9
    Posta il codice che ti dà l'errore dell'END.
    Provare paura per un qualcosa che ti possa capitare nel futuro non ti evita quell'evento,ti fa soltanto vivere un presente sbagliato!

  10. #10
    codice:
    <html>
    <head>
    <title>Classifica punti</title>
    </head>
    
    <body>
    
    <table border="0" widht="100">
    <tr>
    <td widht="25%">Nome</td>
    <td width="25%">Punti</td>
    </tr>
    
    <%
    ' riconosce i campi della form
    nome = request.form("nome")
    punti = request.form("punti")
    
    'verifica che i campi siano stai compilai correttamente
    if len(nome)= 0 AND len(punti) = 0 THEN 
    response.write "Torna indietro e compila tutti i campi correttamente"
    
    else
    
    ' apre la connesione al database
    Dim conn,strconn,DBQ
    Set conn = Server.CreateObject("ADODB.Connection")
    DBQ = Server.MapPath("../mdb-database/classifica.mdb")
    strconn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & DBQ
    conn.open strconn
    
    
    
    SQL="SELECT Nome,Punti FROM Classifica WHERE Nome = '" & Nome & "'"
    set rs=conn.Execute(SQL)
    
    
    if (rs.eof) then
        SQL_Inserisci = "INSERT into Classifica(Nome,Punti) values ('" & Nome & "'," & Punti & ")"
       conn.Execute(SQL_Inserisci)
        
    
    else
    
        SQL_Update = "Update Classifica SET Punti = " & Punti & " WHERE Nome= '" & Nome & "'"
        conn.Execute(SQL_Update)
        
    
    %>
    
    <tr>
    <td widht="25%"><%rs("Nome")%></td>
    <td width="25%"><%rs("Punti")%></td>
    </tr>
    <%
    
    
    'Response.Redirect("classifica.asp") <-- ho stampi a video o fai un redirect altrimenti che senso ha il tutto insieme?
    
    end if
    
    
    set rs= nothing
    
    conn.Close
    set conn= nothing
    
    %>
    <%
    
    end if
    
    %>
    
    </table>
    </body>
    </html>

    edit: cmq dal codice si evince che hai le idee un pò confuse su quello che dovrebbe fare la pagina...fai una query che prenda solo il nome della squadra(?) ma poi vuoi stampare anche i punti...fai una query di update che modifica i dati della squadra e fai un redirect però poi stampi a video qualcosa che nessuno vedrà mai... quale sarebbe lo scopo finale del tutto?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.