Invio dati attraverso Form

  • Creatore Discussione Creatore Discussione jerry
  • Data di inizio Data di inizio

jerry

Utente Attivo
2 Mag 2006
47
0
0
PERFAVORE Avrei bisogno di un aiuto per questo mio enorme ma stupido problema.
Il mio problema il seguente:

Come faccio a farmi inviare attraverso un Form contenente i classici campi (tipo Nome, Cognome etcc...) anche una DATA e ORA di registrazione dell' utente.
Dimenticavo: il form in metodo POSt ed collegato ad un .MDB

Spero di essere stato chiaro GRAZIE per l'attenzione Jerry
 
Grazie ma..

Ti comunico che mi piacerebbe studiare asp,
ma da come hai potuto capire sono un autodidatta.
se gentilmente potresti aiutarmi :)

Riepilogo: Form > Controllo dati + Recupera dati + data > database ed invio.

<%
Dim g, m, a
g = Day(Date())
m = Month(Date())
a = Year(Date())
>

il mio problema e che quando questo script lo aggiungo alla pag. controllo, succede che non mi completa il database.

in + ho altri problemi sempre sullo stesso che gradirei approfondire i un secondo momento :(
 
Codice

Questo è il mio codice.... come faccio a recuperare la data di invio (iscrizione)

//FORM//

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head><title>Inserisci il tuo nome!</title></head>
<body>
<form action="inserisci.asp? oggi=data" method="post">
Nome:<br>
<input type="text" name="nome"><br>
Cognome:<br>
<input type="text" name="cognome"><br>
E mail:<br>
<input type="text" name="e_mail"><br>
<br>
<input type="submit" value="Inserisci">
</span>
</form>
</body>
</html>

//codice//

<%@ LANGUAGE = JScript %>
<%
// Ricevo i dati dal form
var nome = Request.Form("nome");
var cognome = Request.Form("cognome");
var e_mail = Request.Form("e_mail");

// Istanzio l'oggetto Connection
var ADOConn = new ActiveXObject("ADODB.Connection");

// Creo la STRINGA DI CONNESSIONE
var strConn = "";
strConn += "driver={Microsoft Access Driver (*.mdb)};";
strConn += "dbq=" + Server.MapPath("prova.mdb");

// Apro la connessione al database selezionato
ADOConn.Open(strConn);

// Istanzio Recordset
var RecSet = new ActiveXObject("ADODB.Recordset");

// Collego Recordset alla connessione aperta
RecSet.Open("nominativi",ADOConn,3,3);

// Formulo il nuovo record
RecSet.AddNew();
RecSet("nome") = nome;
RecSet("cognome") = cognome;
RecSet("e_mail") = e_mail;

// Aggiorno la tabella
RecSet.Update();

// Chiudo Recordset
RecSet.Close();

// Chiudo la connessione
ADOConn.Close();
%>
<html>
<head><title>Inserimento effettuato</title></head>
<body>
Inserimento effettuato!
</body>
</html>
 
valore now

Caro daviduccio avevo già pensato ad inserire un campo nascosto nel form che abbia come valore now,
Ma non funzionava.

? Allora mi chiedevo, devo inserire nella pagina asp,
una stringa di codice, che prelevi il valore "now" e me loregistra nel database?
grazie
 
Ciao :)

Probabilmente il problema sta nel formato del valore della data che tu passi al DB.
Se vuoi salvare now() in un campo del db dichiarato come alfanumerico, allora devi convertire now() da campo data a campo string. Come? Vedi parte in blu: ;)

// Collego Recordset alla connessione aperta
RecSet.Open("nominativi",ADOConn,3,3);

// Formulo il nuovo record
RecSet.AddNew();
RecSet("nome") = nome;
RecSet("cognome") = cognome;
RecSet("e_mail") = e_mail;
RecSet("campo_data_iscrizione") = String(now());

// Aggiorno la tabella
RecSet.Update();

// Chiudo Recordset
RecSet.Close();

Facci sapere, SaLuT!
:byebye:

OPS! Ti avevo scritto il codice per vbscript, ora c'è quello giusto per Jscript! :p
 
Ultima modifica:
javascript

il mio cod e javascript
Questo e quanto ho scritto, ma non mi ha completato il campo "Data" in tabelle.
Forse è dovuto dal fatto che non ho completato il passo 2 cioè (record)?

// Ricevo i dati dal form
var nome = Request.Form("nome");
var cognome = Request.Form("cognome");
var e_mail = Request.Form("e_mail");
var objData = new Date();
var myData = objData.getDate() + "/" + (objData.getMonth()+1) + "/" + objData.getFullYear();

//Passo 2 -- Formulo il nuovo record --//
RecSet.AddNew();
RecSet("nome") = nome;
RecSet("cognome") = cognome;
RecSet("e_mail") = e_mail;
 
ragazzi miei tutti... :)

now() è vbscript e lui usa codice jscript

come la mettiamo?

crea la data con l'oggetto Date() di js ed i metodi associati, poi memorizzala dove e come vuoi, non cambia nulla

bye
 
Si ma adesso??????

Dato che è js, come faccio a registrarla?
il codice che ho usato è sbagliato....
avreste mica il codice giusto da inserire nel "RecSet (data)"
grazie...:(

RecSet.AddNew();
RecSet("nome") = nome;
RecSet("cognome") = cognome;
RecSet("e_mail") = e_mail;
RecSet("Data") = String(new Date());
 
Per Luca

Ho risolto Grazie e vi spiego come, è più semplice di quanto pensassi.
Si imposta il valore Now() direttamente alla tabella del database,
e così fa tutto lui.....Grazie
e chiudo discussione
 
Ultima modifica:

Discussioni simili