Ciao a tutti; ho il seguente problema:
quando inserisco un nuovo record nel database mediante form + asp, tutto funziona però, mi aggiunge sempre un record vuoto?. Chi mi può aiutare in merito?. Grazie
Ciao a tutti; ho il seguente problema:
quando inserisco un nuovo record nel database mediante form + asp, tutto funziona però, mi aggiunge sempre un record vuoto?. Chi mi può aiutare in merito?. Grazie
Vediamo lo script direi...
Roby
www.creamweb.it [v. 3.0]
:: Script ASP!
:: Web directory gratuita!
:: Campioni del mondo!
Secondo me la pagina che invia i dati da inserire e quella che inserisce sono la stessa, appunto, pagina.
Probabilmente quando la chiami la prima volta viene eseguito addNew e update dell'oggetto recordset con variabili vuote perchè, alla prima chiamata, non contengono dati.
Manca un controllo, una IF che verifichi se quelle variabili contengono qualcosa oppure no, per permettere l'inserimento dei dati.
Ti fornisco il codice della pagina perchè a me sembra tutto ok:
<html>
<head>
<title>Dati dell'Esercizio</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
.Stile1 {color: #000000;
font-weight: bold;
}
-->
</style>
</head>
<body bgcolor="#CCCCCC" text="#000000">
<%
' Definizione della variabile
dim strnome_attivita
strnome_attivita = request.form("nome_attivita")
dim strintestatario
strintestatario = request.form("intestatario")
dim strluogo
strluogo = request.form("luogo")
dim strvia
strvia = request.form("via")
dim strpiva
strpiva = request.form("piva")
dim strcodfisc
strcodfisc = request.form("codfisc")
dim strubic_eserc
strubic_eserc = request.form("ubic_eserc")
dim strvia_ubicesec
via_ubicesec = request.form("via_ubicesec")
dim strsede_legale
strsede_legale = request.form("sede_legale")
dim strvia_sedeleg
strvia_sedeleg = request.form("via_sedeleg")
dim strtel
strtel = request.form("tel")
dim strtelcell
strtelcell = request.form("telcell")
dim strfax
strfax = request.form("fax")
dim stremail
stremail = request.form("email")
strCode="innovatel"
' Stringa di interrogazione sulla tabella libri
sql = "SELECT * FROM dati_esercizio"
Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open sql, conn ,3,3
' Preparazione e scrittura nuovo record
rs.addnew
rs(1) = strnome_attivita
rs(2) = strintestatario
rs(3) = strluogo
rs(4) = strvia
rs(5) = strpiva
rs(6) = strcodfisc
rs(7) = strsede_legale
rs(8) = strvia_sedeleg
rs(9) = strtel
rs(10) = strtelcell
rs(11) = strfax
rs(12) = stremail
rs(13) = ubic_eserc
rs(14) = via_ubiceserc
rs.update
' Chiusura del database
rs.Close
set rs = Nothing
conn.Close
set conn = Nothing
%>
</p>
<table width="800" border="0">
<tr>
<td colspan="20">
<div align="center"><font size="7" color="#CC0000">Inserire Dati Esercizio:</font></div>
</td>
</tr>
<tr>
<td colspan="20">
<form name="form1" method="post" action="pagina2.asp">
<p align="center"></p>
<p align="center">Nome Attività:
<input type="text" name="nome_attivita">
(Es. La tribù del Chiuaua)</p>
<hr>
<p align="center">Cognome e Nome dell'Intestatario:
<input type="text" name="intestatario">
(Es. Rossi Mario)</p>
<p align="center">Partita Iva:
<input type="text" name="piva">
Codice Fiscale:
<input type="text" name="codfisc">
Città:
<input type="text" name="luogo">
, Via:
<input type="text" name="via">
</p>
<p align="center">Tel.:
<input type="text" name="tel">
, Tel. Cell.:
<input type="text" name="telcell">
,</p>
<p align="center"> Fax:
<input type="text" name="fax">
, E-mail:
<input type="text" name="email">
</p>
<p align="center">Ubicazione Esercizio:
<input type="text" name="ubic_eserc">
,
<input type="text" name="via_ubiceserc">
</p>
<hr>
<p align="center">Sede Legale in:
<input type="text" name="sede_legale">
(Es. Milano) Via:
<input type="text" name="via_sedeleg">
(Es. Roma 1)</p>
<p align="center"></p>
<p align="center">
<input type="submit" name="Submit" value="Invia">
<input type="reset" name="Submit2" value="Annulla">
<a href="javascript:;"onClick="javascript:window.clos e()">
<input type="button" name="Chiudi" value="Chiudi Pagina">
</a></p>
</form>
</td>
</tr>
</table>
</body>
</html>
E' come ho detto io infatti.
Guarda, chiama la pagina e non appena viene caricata, senza compilare la form e senza fare submit, apri il db access e vedrai un nuovo record vuoto.
Ti manca il controllo che verifica che la pagina viene chiamata mediante il submit.
Comunque, dopo aver verificato quanto ho detto prova ad applicare queste modifiche (colorate in rosso):
codice:<html> <head> <title>Dati dell'Esercizio</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <style type="text/css"> <!-- .Stile1 {color: #000000; font-weight: bold; } --> </style> </head> <body bgcolor="#CCCCCC" text="#000000"> <% submit = request.serverVariables("REQUEST_METHOD") = "POST" ' Definizione della variabile dim strnome_attivita strnome_attivita = request.form("nome_attivita") dim strintestatario strintestatario = request.form("intestatario") dim strluogo strluogo = request.form("luogo") dim strvia strvia = request.form("via") dim strpiva strpiva = request.form("piva") dim strcodfisc strcodfisc = request.form("codfisc") dim strubic_eserc strubic_eserc = request.form("ubic_eserc") dim strvia_ubicesec via_ubicesec = request.form("via_ubicesec") dim strsede_legale strsede_legale = request.form("sede_legale") dim strvia_sedeleg strvia_sedeleg = request.form("via_sedeleg") dim strtel strtel = request.form("tel") dim strtelcell strtelcell = request.form("telcell") dim strfax strfax = request.form("fax") dim stremail stremail = request.form("email") strCode="innovatel" if submit then ' Stringa di interrogazione sulla tabella libri sql = "SELECT * FROM dati_esercizio" Set rs = Server.CreateObject("ADODB.Recordset") rs.Open sql, conn ,3,3 ' Preparazione e scrittura nuovo record rs.addnew rs(1) = strnome_attivita rs(2) = strintestatario rs(3) = strluogo rs(4) = strvia rs(5) = strpiva rs(6) = strcodfisc rs(7) = strsede_legale rs(8) = strvia_sedeleg rs(9) = strtel rs(10) = strtelcell rs(11) = strfax rs(12) = stremail rs(13) = ubic_eserc rs(14) = via_ubiceserc rs.update ' Chiusura del database rs.Close set rs = Nothing end if conn.Close set conn = Nothing %> </p> <table width="800" border="0"> <tr> <td colspan="20"> <div align="center"><font size="7" color="#CC0000">Inserire Dati Esercizio:</font></div> </td> </tr> <tr> <td colspan="20"> <form name="form1" method="post" action="pagina2.asp"> <p align="center"> </p> <p align="center">Nome Attività: <input type="text" name="nome_attivita"> (Es. La tribù del Chiuaua)</p> <hr> <p align="center">Cognome e Nome dell'Intestatario: <input type="text" name="intestatario"> (Es. Rossi Mario)</p> <p align="center">Partita Iva: <input type="text" name="piva"> Codice Fiscale: <input type="text" name="codfisc"> Città: <input type="text" name="luogo"> , Via: <input type="text" name="via"> </p> <p align="center">Tel.: <input type="text" name="tel"> , Tel. Cell.: <input type="text" name="telcell"> ,</p> <p align="center"> Fax: <input type="text" name="fax"> , E-mail: <input type="text" name="email"> </p> <p align="center">Ubicazione Esercizio: <input type="text" name="ubic_eserc"> , <input type="text" name="via_ubiceserc"> </p> <hr> <p align="center">Sede Legale in: <input type="text" name="sede_legale"> (Es. Milano) Via: <input type="text" name="via_sedeleg"> (Es. Roma 1)</p> <p align="center"> </p> <p align="center"> <input type="submit" name="Submit" value="Invia"> <input type="reset" name="Submit2" value="Annulla"> <a href="javascript:;"onClick="javascript:window.close()"> <input type="button" name="Chiudi" value="Chiudi Pagina"> </a></p> </form> </td> </tr> </table> </body> </html>
Funziona.... Grazie mille per tutto. Scusa se ti risp solo ora ma sono stato via da casa.
Bene![]()