Newsgroup: it.comp.www.asp
Titolo: Mi è venuto mal di testa...

Scusate, ma dovrà essere sicuramente una scemenza...Solo che oramai sono nel
pallone e non capisco più nulla!
Devo passare da una pagina di autentificazione, login.asp, e tramite
response.redirect vengo spedito o meno alla pagina dove interrogo il
db...Tutto funziona benissimo in locale con W2000pro e IIS, ma quando carico
le pagine sul remoto, che inserisca un login/pw corretti o meno ottengo una
pagina di errore, e nella barra degli indirizzi si "stampa" :
http://localhost/cartella1/login.asp?submitted=true
Per meglio comprendere posto il codice, ribadendo che in locale funziona ed
in remoto no...
----------------------------------------------------------------------------
-----------------------------------------------------------------------
<%@ Language=VBSCRIPT %>
<%
Option Explicit
Response.Buffer = True
Dim objConn, strConn, objRs, strsql
Dim submitted, login, password
%>
<html>
<head>
<title>Login</title>
</head>
<body bgcolor="#FFFFCC">
<%
submitted = Request.Querystring("submitted")
If submitted then
strConn = "driver={Microsoft Access Driver (*.mdb)};"
strConn = strConn & "dbq=" & Server.MapPath("miodb.mdb")
 login = Request.Form("login")
password = Request.Form("password")
strsql = "Select id, username, password FROM miatabella "
strsql = strsql & "WHERE username ='" & login & "' AND password = '" &
password & "'"
Set objConn = Server.CreateObject("ADODB.Connection")
objConn.Open(strConn)
set objRs = objConn.Execute(strsql)
If objRs.EOF then
Response.Redirect("login.asp")
Else
session("login") = True
objRs.close
Set objRs = Nothing
Response.Redirect "cartella1/indice.asp"
end if
else
%>
<div align="center">
<form action="login.asp?submitted=true" method="post">
<p>&nbsp;</p>
<p>&nbsp;</p>
<table align="center" cellspacing="0" cellpadding="5" border="0"
bordercolor="midnightblue" width="400" bgcolor="#FFFFFF">
<tr>
<th bgcolor="#0099FF"><font color=firebrick size=4><b><font color="#FFFF99"
face="Verdana, Arial, Helvetica, sans-serif" size="3">HI
          GUY...CHECK YOUR IDENTITY!</font></b></font></th>
</tr>
<tr>
<table width="156" bgcolor="#FFFF99">
<tr>
<td class=event><font face="Verdana, Arial, Helvetica, sans-serif"
size="2"><b>Login:</b></font></td>
<td>
<input type="text" name="Login" size="20" maxlength="30">
</td>
</tr>
<tr>
<td class=event><font size="2" face="Verdana, Arial, Helvetica,
sans-serif"><b>Password:</b></font></td>
<td>
<input type="password" name="Password" size="20" maxlength="12">
</td>
</tr>
</table>
<br>
<input type="submit" value="INVIA">
</td>
</tr>
</table>
</form>
</div>
</body>
</html>
<%
end if
Response.end
Response.Clear
%>
----------------------------------------------------------------------------
----------------------------------------------------------------------------
-
Grazie di cuore a chiunque mi dia qualche indicazione e un'aspirina...:-)
Bye, Carlo.

 in remoto no...
Problema di Response.Buffer, per maggiori dettagli guarda un mex + giù.
Cmq il problema è che sotto IIS 5, e quindi sul tuo server locale,
Response.Buffer è di default settato a true, mentre probabilmente il server
in remoto utilizza IIS 4 sotto NT, che invece di default è settato a false.
Ciò implica che sotto IIS 4 il codice html precendente al Response.Redirect
viene renderizzato, cosa che ne pregiudica il corretto funzionamento.
--
Filippo Di Blasi
filipp...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato informatico
http://puntoinformatico.it/news
 <-- News & Glossario
http://puntoinformatico.it/servizi
 <-- Servizi web

 Ciň implica che sotto IIS 4 il codice html precendente al


 testa alla pagina asp le cose non cambiano...
Anzitutto un consiglio: prima di qualsiasi Response.Redirect, distruggi
tutti gli oggetti utilizzati, sennň rischi di consumare ben presto le
risorse del server.
Poi prova ad esplicitare la conversione della variabile submitted nel primo
If con CBool(), quindi:
If CBool(submitted) Then
--
Filippo Di Blasi 
fil...@puntoinformatico.it
http://puntoinformatico.it
 <-- E-shop informatico
http://puntoinformatico.it/usato
 <-- Usato


 sono nel pallone e non capisco più nulla!
Devi mettere la tua "If submitted then" prima del codice HTML,
altrimenti i Response.Redirect danno errore (a proposito: la prossima
volta di' anche qual'e' esattamente l'errore che vedi...).
In pratica:
<%@ Language=VBSCRIPT %>
<%
Option Explicit
Dim objConn, strConn, objRs, strsql
Dim submitted, login, password
submitted = Request.Querystring("submitted")
If submitted then
    strConn = "driver={Microsoft Access Driver (*.mdb)};"
    strConn = strConn & "dbq=" & Server.MapPath("miodb.mdb")
    login = Request.Form("login")
[...]
        Response.Redirect "cartella1/indice.asp"
    end if
End If
%>
<html>
<head>
<title>Login</title>
</head>
<body bgcolor="#FFFFCC">
<div align="center">
eccetera eccetera.
--
   Alex Palmese
---
Sei anche tu stanco dei messaggi spam? Usa Terminator, il programma
anti-spam italiano FREEWARE! 
http://www.sertel.net/terminator/