PDA

Visualizza la versione completa : Variable is undefined


vekicca
24-11-2005, 13:06
ciao a tutti.
qualcuno potrebbe risolvermi questa stringa per favore?
il server mi indica questo errore:
Microsoft VBScript runtime error '800a01f4' Variable is undefined


<%
If Request.Form("update") = " Modifica " Then
Dim id_cont, titolo, periodo, testo, prezzo
id_cont = Request.Form("id_cont")
titolo = Request.Form("titolo")
periodo = Request.Form("periodo")
testo = Request.Form("testo")
prezzo = Request.Form("prezzo")
If Len(Trim(titolo)) = 0 Or Len(Trim(periodo)) = 0 Or Len(Trim(testo)) = 0 Or Len(Trim(prezzo)) = 0 Then
Response.Write "<p align=""center"">Tutti i campi sono obbligatori</p>"
Else
cn.Execute("UPDATE utenti SET titolo = '" & Replace(titolo, "'", "''") & "', periodo = '" & Replace(periodo, "'", "''") & "', testo = '" & Replace(testo, "'", "''") & "', prezzo = '" & Replace(prezzo, "'", "''") & "' WHERE id = " & id_cont)
Response.Write "<p align=""center"">Modifica effettuata con successo</p>"
End If
End If
%>

:confused:

grazie

:)

maximum
24-11-2005, 13:07
La riga esatta dove ti dà l'errore?

vekicca
24-11-2005, 13:08
mi da l'errore in questa riga

Dim id_cont, titolo, periodo, testo, prezzo

maximum
24-11-2005, 13:10
Prova così:


<%
option explicit
Dim id_cont, titolo, periodo, testo, prezzo

If Request.Form("update") = " Modifica " Then
id_cont = Request.Form("id_cont")
titolo = Request.Form("titolo")
periodo = Request.Form("periodo")
testo = Request.Form("testo")
prezzo = Request.Form("prezzo")
If Len(Trim(titolo)) = 0 Or Len(Trim(periodo)) = 0 Or Len(Trim(testo)) = 0 Or Len(Trim(prezzo)) = 0 Then
Response.Write "<p align=""center"">Tutti i campi sono obbligatori</p>"
Else
cn.Execute("UPDATE utenti SET titolo = '" & Replace(titolo, "'", "''") & "', periodo = '" & Replace(periodo, "'", "''") & "', testo = '" & Replace(testo, "'", "''") & "', prezzo = '" & Replace(prezzo, "'", "''") & "' WHERE id = " & id_cont)
Response.Write "<p align=""center"">Modifica effettuata con successo</p>"
End If
End If
%>

vekicca
24-11-2005, 13:14
ora invece mi trova quest'altro errore nella stringa che mi hai dato tu

Microsoft VBScript compilation error '800a0400'

Expected statement

/scuola_cucina/update.asp, line 77

option explicit

maximum
24-11-2005, 13:15
La linea 77?
Sicuro che il codice sta tutto lì?

Perchè io l'ho eseguito sul mio IIS e funziona perfettamente, sia con la mia modifica che senza. :confused:

vekicca
24-11-2005, 13:18
ti posto tutta la pagina

<%@LANGUAGE = VBScript%>

<%
If Session("admin") <> "OK" Then Response.Redirect "login.asp"
Dim cn, rs
Set cn = Server.CreateObject("ADODB.Connection")
Set rs = Server.CreateObject("ADODB.Recordset")
cn.Open sc
%>
<html>
<head>
<title><%=tit%></title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>
<body>

<h1 align="center"><%=tit%></h1>

<form method="post" action="update.asp">
<table width="760" border="1" align="center">
<tr align="left" valign="top">
<td width="40%">Record da aggiornare</td>
<td width="60%"><select onchange="location.href='update.asp?id=' + this.value" style="width: 100%;">
<option value=""></option>
<%
rs.Open "SELECT * FROM utenti", cn, 1
While rs.EOF = False
%>
<option value="<%=rs("id")%>">
<%Response.Write rs("titolo") & " " & rs("periodo")%>
</option>
<%
rs.MoveNext
Wend
rs.Close
%>
</select>
</td>
</tr>
<%
Dim id
id = Request.QueryString("id")
If Len(Trim(id)) > 0 Then
Dim utente
Set utente = cn.Execute("SELECT * FROM utenti WHERE id = " & id)
%>
<input type="hidden" name="id_cont" value="<%=utente("id")%>">
<tr align="left" valign="top">
<td>Titolo:</td>
<td><input name="titolo" type="text" id="titolo" style="width: 100%;" value="<%=utente("titolo")%>" maxlength="50"></td>
</tr>
<tr align="left" valign="top">
<td>Periodo corso: </td>
<td><input name="periodo" type="text" id="periodo" style="width: 100%;" value="<%=utente("periodo")%>" maxlength="50"></td>
</tr>
<tr align="left" valign="top">
<td>Testo:</td>
<td><textarea name="testo" rows="15" id="testo" style="width: 100%;"><%=utente("testo")%></textarea></td>
</tr>
<tr align="left" valign="top">
<td>Prezzo corso: </td>
<td><input name="prezzo" type="text" id="prezzo" style="width: 100%;" value="<%=utente("prezzo")%>" maxlength="50"></td>
</tr>
<tr align="left" valign="top">
<td colspan="2">
<input type="submit" name="update" value=" Modifica ">
</td>
</tr>
<%
Set utente = Nothing
End If
%>
</table>
</form>

<%
If Request.Form("update") = " Modifica " Then
Dim id_cont, titolo, periodo, testo, prezzo
id_cont = Request.Form("id_cont")
titolo = Request.Form("titolo")
periodo = Request.Form("periodo")
testo = Request.Form("testo")
prezzo = Request.Form("prezzo")
If Len(Trim(titolo)) = 0 Or Len(Trim(periodo)) = 0 Or Len(Trim(testo)) = 0 Or Len(Trim(prezzo)) = 0 Then
Response.Write "<p align=""center"">Tutti i campi sono obbligatori</p>"
Else
cn.Execute("UPDATE utenti SET titolo = '" & Replace(titolo, "'", "''") & "', periodo = '" & Replace(periodo, "'", "''") & "', testo = '" & Replace(testo, "'", "''") & "', prezzo = '" & Replace(prezzo, "'", "''") & "' WHERE id = " & id_cont)
Response.Write "<p align=""center"">Modifica effettuata con successo</p>"
End If
End If
%>

</body>
</html>
<%
Set rs = Nothing
cn.Close
Set cn = Nothing
%>

maximum
24-11-2005, 13:19
D'accordo, ma la linea 77, qual è???

Io farei questa prima modifica:

1)
<form method="post" action="update.asp?modifica=si">

2)Al posto di:


If Request.Form("update") = " Modifica " Then

metti:


If Request.querystring("modifica") = "si" Then

E dimmi che succede.

vekicca
24-11-2005, 13:22
ops :zizi:

la line a 77 è nel codice che mi hai dato tu
e corrisponde a:

option explicit

maximum
24-11-2005, 13:24
La option explicit va in testa alla pagina, per intenderci:


<%@LANGUAGE = VBScript%>

<%
option explicit
If Session("admin") <> "OK" Then Response.Redirect "login.asp"
....
%>

Comunque prova i suggerimenti che ti ho postato prima.

Loading