Problema

  • Creatore Discussione Creatore Discussione tapotto
  • Data di inizio Data di inizio

tapotto

Nuovo Utente
17 Feb 2006
7
0
0
Ciao, non capisco nulla di programmazione in asp. Ho scaricato un file per un'area di registrazione utenti, ma quando provo a registrare un nuovo utente, mi da un errore in una linea. Se potete aiutarmi, vi lascio la pagina qui, l'errore me lo da nella riga colorata.

<%
%>


<!--#include file="inc_common.asp" -->
<% Server.Execute("header.asp") %>
<%
If Request.QueryString("step") = 2 Then
Dim str_db_username 'username
Dim str_wanted_username 'richiesto username
Dim str_new_usercode 'generare user code
Dim int_random_number 'numero random
Dim int_random_number_max 'valore massimo del numero randomico
Dim int_random_number_min 'valore minimo del numero randomico
Dim str_password 'password
Dim rs_new_user 'Recordsheet per il nuovo utente
Dim rs_check_username 'Recordsheet per controllare username

'Richiamo i valori
str_wanted_username = Request.form("username")
str_password = Request.form("pw1")

'Creo una nuova stringa SQL
strSQL = "SELECT * FROM tbl_authors"

'Creo un nuovo RecordSet
set rs_check_username=Server.CreateObject("ADODB.Recordset")

'Apro il recordset e eseguo SQL
rs_check_username.Open strSQL,adoCon

'Eseguo un ciclo fino alla fine
Do While NOT rs_check_username.EOF
'Set variable to hold a database username value
str_db_username = rs_check_username("name")

'See l'username è già inserito nel database response.Redirect("errore.asp")
If str_db_username = str_wanted_username Then Response.Redirect("errore.asp")

'passo al record successivo
rs_check_username.MoveNext
'Loop
Loop

rs_check_username.Close
Set rs_check_username = Nothing

new_name = Request.form("username")
new_email = Request.form("email")
new_pass = Request.form("pw1")
new_nome = Request.form("nome")
new_cognome = Request.form("cognome")
new_citta = Request.form("citta")
new_provincia = Request.form("provincia")
new_cap = Request.form("cap")
new_authority = "user"
new_date = Now()
new_code = str_new_usercode
new_punti =50
new_pagina_web = Request.form("pagina_web")

If new_name = "" OR new_email = "" OR new_pass = "" OR new_nome = "" OR new_cognome = "" OR new_citta = "" OR new_cap = "" Then
emptyValue = True
Else
If Request.Form("pw1") <> Request.Form("pw2") Then
badPass = True
Else
badPass = False
End If
emptyValue = False
End If

If emptyValue = False AND badPass = False Then
'Creo un numero random
Randomize
int_random_number_Min = 1
int_random_number_Max = 999999999
int_random_number = Int(((int_random_number_Max-int_random_number_Min+1) * Rnd) + int_random_number_Min)

'converto il numero in una stringa
int_random_number = Cstr(int_random_number)

'concateno username e il numero random
str_new_usercode = str_wanted_username + int_random_number

'Creo una nuova stringa SQL
strsql="SELECT * FROM tbl_authors"

'Creo un nuovo recordset
set rs_new_user = Server.CreateObject("ADODB.Recordset")

rs_new_user.CursorType = 2
rs_new_user.LockType = 3

'apro recordsheet e eseguo la stringa SQL
rs_new_user.open strsql,adocon

'setto recordsheet e aggiungo un nuovo record
:fuck::fuck:rs_new_user.AddNew:fuck::fuck::fuck:

'Enter a new record into the database
rs_new_user.Fields("name") = new_name
rs_new_user.Fields("email") = new_email
rs_new_user.Fields("pass") = new_pass
rs_new_user.Fields("nome") = new_nome
rs_new_user.Fields("cognome") = new_cognome
rs_new_user.Fields("citta") = new_citta
rs_new_user.Fields("provincia") = new_provincia
rs_new_user.Fields("cap") = new_cap
rs_new_user.Fields("authority") = "user"
rs_new_user.Fields("dataregistrazione") = Now
rs_new_user.Fields("code") = str_new_usercode
rs_new_user.Fields("pagina_web") = Request.form("pagina_web")
If conf_email = "False" Then
rs_new_user.Fields("stato") = "Active"
End If

'aggiorno il recordset
rs_new_user.Update

rs_new_user.Close
set rs_new_user = Nothing

curSubFolders = ""
tempArray = Split(Replace(Request.ServerVariables



ecc. ecc.

Lerrore che mi da dice:

Microsoft JET Database Engine error '80040e09'

Cannot update. Database or object is read-only.

/regis/registrazione.asp, line 115
 
Ultima modifica:
se avessi avuto esperienza, secondo te avrei scaricato unfile da internet? Se avessi avuto il tempo di farlo, non l'avrei fatto? al mondo non esistono solo i sapientoni, ma anche altre personecon famigliae poco tempo da dedicare ad altre cose, ma forse tu non le saiste cose.
 
Forse non mi sono spiegato, mi spiace che te la sei presa, ma comunque ti invito a moderare i toni.

Immagina che io sia uno studente universitario, che debba preparare un esame e che chieda al compagno di studi "per favore, tra due giorni ho l'esame, mi spieghi un attimo il libro?" ... e non mettiamo in mezzo la famiglia per favore, ognuno ha il suo da fare!

In ogni caso, dalla tua domanda, il problema che ricevi è dato dal fatto che il database è in sola lettura:

Cannot update. Database or object is read-only.

Devi impostare i permessi.

Se sei in locale (sul tuo computer insomma) prova a fare come suggerito qui:

http://www.aspcenter.net/articoli/122.asp

Se invece stai lavorando direttamente sul server dove pubblicherai il sito, domanda al tuo fornitore di hosting qual'è la cartella in cui inserire il database e modifica la stringa di connessione di conseguenza.

ASP (e la programmazione in generale) non è il giocattolino che fai funzionare dandogli la corda e basta capire se la chiave si gira a destra o a sinistra.

Spero tu capisca.

Se poi la pensi diversamente, caro amico, sappi che a quest'ora (1.20 di notte quasi) sto ancora lavorando, ed il mio lavoro è ASP...
 
Ultima modifica:

Discussioni simili