Request.form non restituisce valori

  • Creatore Discussione Creatore Discussione mchl
  • Data di inizio Data di inizio

mchl

Nuovo Utente
29 Mag 2007
3
0
0
Salve a tutti.
Tempo fa ho avuto modo di sviluppare una breve applicazione che, via asp e mysql, gestisce un piccolo db.
L'applicazione, pubblicata su web, funziona correttamnte. Per esegire le prove in locale utilizzo IIS 5.1 in ambiente Windows MCE: e anche qui funzionava perfettamente finché non ho dovuto ripristinare il disco C: e reinstallare il tutto: IIS. MySql, PHP, PhpMyAdmin ecc.
A prima vista sembra tutto ok: solo che nessuna request.form restituisce alcun valore.
Sicuramente ho sbaglaito qualcosa in fase di installazione.
Qualcuno può suggerirmi qualcosa prima di buttare via tutto e ricominciare daccapo?
 
No, l'asp funziona: viene visualizzato l'html, ma i dati immessi nella form non vengono restituto dal request.form. Vedi l'esempio "utenti.asp": ha una form con action=se stessa; il modulo dovrebbe uscire verso un "user_ok.asp" se codice e pwd digitati sono presenti sul db. ma la "if button1 = "Invia" then" è sempre false perché "button1=Request.Form("button1")"
non ha restituito il valore INVIA cablato nll'html
Vedi il codice
Codice:
<%@ Language=VBScript%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!----------------------------
'utenti.asp:
'login utente
----------------------------->
<%dim wlogopen
wlogopen="new"%>
<!--#include virtual="/asplib/costsys.asp"-->
<!--#include virtual="/asplib/varsys.asp"-->
<!--#include virtual="/asplib/dimute.asp"-->
<%
mes="modulo=utenti.asp"
Putlog(mes)
Dim messuser, messpass, button1
wutuser=""
wutpwd=""
messuser=""
messpass=""
button1=Request.Form("button1")
mes="button1=" & button1
Putlog(mes)
if button1 = "Invia" then
    wutuser=trim(request.form("wutuser"))
    mes="wutuser=" & wutuser
    Putlog(mes)
    wutpwd=trim(request.form("wutpwd"))
    mes="wutpwd=" & wutpwd
    Putlog(mes)

    if len(wutuser)=0 then
        messuser="Inserire il Login Name"
        end if
    if len(wutpwd)=0 then
        messpass="Inserire la Password"
        end if

    if len(wutuser)>0 and len(wutpwd)>0 then
        OpenDB()
        if FinitoBene then
            GetUte(3)
            if FinitoBene then
                mes="wutreg='" & wutreg & "'"
                putlog(mes)
                if wutreg = "S" then
                    wutlastlog = now()
                    mes = "wutlastlog=" & wutlastlog
                    putlog(mes)
                    updute()
                    CloseDb()
                    tmp = "user_ok.asp?wutid=" & wutid
                    response.redirect(tmp)
                else
                    messuser="Registrazione da attivare"
                    end if
            else
                messuser="Login name/password errati"
                end if
            end if
        end if
    mes="messuser=" & messuser
    Putlog(mes)
    mes="messpass=" & messpass
    Putlog(mes)
    CloseDb()
    end if

%>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="stylesheet" type="text/css" href="/csslib/emme02.css" />
<title>Login</title>
</head>
<body>
<div  id="div1">
 <table width="148" height="623">
 <tr valign="top">
  <td>
   <a href="../index.html">Home</a><br>
   <a href="registr.asp">Registrazione</a><br>
   <a href="pwdperse.asp">Password dimenticate</a><br>
  </td>
 </tr>
</table>
</div>

<div id="div2">
<table width="438" height="80">
 <tr valign= "center">
  <td>
   <p align="center"><img src="../images/emmeprog3.gif" alt="emmeprog logo (4045 byte)" >
  </td>
 </tr>
</table>
</div>

<div id="div3">
<table>
<tr valign="top" height="460">
  <td>
   <form name="modulo" method="POST" action="utenti.asp">
    <p class=fontgill>LOGIN</p>
    <br>
    <table class="noborder">
     <tr class="pari">
      <td class="col1noborder">Login Name
      <td class="col2noborder"><INPUT type="text" name="wutuser" size= "20" maxlength="50" align="left"
                     value="<%=trim(wutuser) %> ">
      <td class="col3noborder"><font class="erruser"> <% = messuser%> </font>
     <tr class="pari">
      <td class="col1noborder">Password
      <td class="col2noborder"><INPUT type="password" name="wutpwd" size="20" maxlength="20" align="left">
      <td class="col3noborder"><font class="erruser"> <% = messpass %> </font>
     <tr class="pari">
      <td class="col1noborder">
      <td class="col2noborder">
       <br><br>&nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp &nbsp
       <input type="submit" id="button1" border="0" name="button1" value="Invia">
    </table>
   </form>
 </tr>
</table>
</div>


</form>
</body>
</html>
<%
%>
<!--#include virtual="/asplib/utils.asp"-->
<!--#include virtual="/asplib/opendb.asp"-->
<!--#include virtual="/asplib/closedb.asp" -->
<!--#include virtual="/asplib/getute.asp" -->
<!--#include virtual="/asplib/updute.asp" -->

 
Prova a stamparlo a video con Response.Write il valore di button1 e comunque prova a togliere l'attributo id ed anche border, che non serve.

Diversamente fai una cosa (e tagli la testa al toro)

<form ... action="me-stesso.asp?add=ok">

Recuperi add come querystring e se è = ok esegui quanto devi.

Ciao!
 
Seguendo il consiglio di lukeonweb ho provato con Request.QueryString (ho cambiato il metodo del modulo in method="GET") e funge.
Rimane da capire come mai con method="POST" il Request.Form
non mi restituisce valori (ribadisco: questo in locale con IIS 5.1, perché su web funziona correttamente)
 
Non nascondo che qualche volta ha fatto i capricci anche con me questo sistema ed ho clamorosamente glissato come ti ho suggerito: essendo una persona pratica e non avendo tempo da perdere bado al risultato ;)
 

Discussioni simili