webForumDet fria alternativet

formulär och funktioner

ASP

2 svar · 176 visningar · startad av timedia

Medlem sedan maj 2001420 inlägg
Frågan#1

Har följande kod:

<!-- #include file="config.asp" -->
<% 
func = request.querystring ("func")
if func = "addform" then
addform
end if
if func = "delform" then
delform
end if

select case request.Querystring ("function")
case "add"
call add
case "remove"
call remove
end select
%>

<% function addform%>
<form method="POST" action="mlmlist.asp?function=add">
   <p align="center"><b><i>Subscribe</i></b></p>
<div align="center">
  <center>
  <table border="1" bgcolor="#008080">
    <tr>
      <td>
        <p align="center"><b>Email</b><br>
        <input type="text" name="newmail" size="20"></td>
    </tr>
    <tr>
      <td>
        <p align="center"><input type="submit" value="Subscribe" name="B1"><input type="reset" value="Reset" name="B2"></td>
    </tr>
  </table>
  </center>
</div>
  <p align="center">&nbsp;</p>
</form>

<%end function%>

<% function delform%>
<form method="POST" action="mlmlist.asp?function=remove">
   <p align="center"><i><b>Unsubscribe</b></i></p>
   <div align="center">
    <center>
    <table border="1" width="149" bgcolor="#008080">
      <tr>
        <td width="139">
          <p align="center"><b>Email</b><br>
          <input type="text" name="remmail" size="20"></td>
      </tr>
      <tr>
        <td width="139">
          <p align="center"><input type="submit" value="remove" name="B1"><input type="reset" value="Reset" name="B2"></td>
      </tr>
    </table>
    </center>
   </div>
  <p align="center">&nbsp;</p>
</form>
<%end function%>
<% sub add
email = Request.form ("newmail")
If IsEmpty(Request("newmail")) Then 
      Msg = "Please enter your email address." 
   ElseIf InStr(Request("newmail"), "@") = 0 Then 
      response.write ("Please Enter An Email Address <br> in the form username@location.domain <br> <a href=""javascript:history.back()"">Back</a> ")
response.end
end if

set mailcheck = conn.Execute ("Select email from list where email='" & email & "'")
		
		if mailcheck.eof then

already_in_list="No"
end if
mailcheck.close

if already_in_list="No" then 
sql = "select * from list"
rs.open sql,conn,1,3
rs.addnew
rs("email") = email
rs("dateadded") = date()
rs.update
rs.close
conn.close
Response.write "added"
		else		
		Response.Write "Your are already subscribed"
				end if
end sub
%>

<% sub remove
 remmail = Request.form ("remmail")
 if remmail = "" then
Response.Write ("Please enter a valid email<br> <a href=""javascript:history.back()"">Back</a>")
response.end
end if
sql = ("select email From list where email='" & remmail & "'")
set rs = conn.execute (sql)
if rs.eof then
	response.write "there are no emails  here "
	response.end
else
set rsdel = conn.execute ("delete * From list where email='" & remmail & "'")
response.write  remmail & " Has Been Removed"
response.end
 end if
 end sub
%>

Jag önskar ett formulär med ett fält där man matar in sin epostadress och två knappar där man väljer antingen add eller remove. Har provat länge men får det inte att funka (som förväntad alltså)

Någon som kan hjälpa? PS! Jag hittade maillisten på www.justasp.net och den är bra (om det inte vore för detta :))

------------------
www.moviemix.nu

Medlem sedan dec. 19996 721 inlägg
#2

Prova detta

<!-- #include file="config.asp" -->
<% 
func = request.querystring ("func")
if func = "addform" then
addform
elseif func = "delform" then
delform
else
select case request.Querystring ("function")
case "add"
call add
case "remove"
call remove
end select
end if
%>

sub addform
%>
<form method="POST" action="mlmlist.asp?function=add">
<p align="center"><b><i>Subscribe</i></b></p>
<div align="center">
<center>
<table border="1" bgcolor="#008080">
<tr>
<td>
<p align="center"><b>Email</b><br>
<input type="text" name="newmail" size="20"></td>
</tr>
<tr>
<td>
<p align="center"><input type="submit" value="Subscribe" name="B1"><input type="reset" value="Reset" name="B2"></td>
</tr>
</table>
</center>
</div>
<p align="center"> </p>
</form>

<%
end sub

sub delform
%>
<form method="POST" action="mlmlist.asp?function=remove">
<p align="center"><i><b>Unsubscribe</b></i></p>
<div align="center">
<center>
<table border="1" width="149" bgcolor="#008080">
<tr>
<td width="139">
<p align="center"><b>Email</b><br>
<input type="text" name="remmail" size="20"></td>
</tr>
<tr>
<td width="139">
<p align="center"><input type="submit" value="remove" name="B1"><input type="reset" value="Reset" name="B2"></td>
</tr>
</table>
</center>
</div>
<p align="center"> </p>
</form>
<%
end sub

sub add
email = Request.form ("newmail")
If IsEmpty(Request("newmail")) or InStr(Request("newmail"), "@") = 0 Then 
response.write ("Please Enter An Email Address <br> in the form username@location.domain <br> <a href=""javascript:history.back()"">Back</a> ")
response.end
end if

set mailcheck = conn.Execute ("Select email from list where email='" & email & "'")

if mailcheck.eof then

sql="INSERT INTO list (email,dateadded) VALUES('" & email & "',date())"
conn.execute sql,,128
Response.write "added"
else 
Response.Write "Your are already subscribed"
end if

mailcheck.close
set mailcheck=Nothing
conn.close
set conn=Nothing

end sub

sub remove
dim lngAff
remmail = Request.form ("remmail")
if remmail = "" then
Response.Write ("Please enter a valid email<br> <a href=""javascript:history.back()"">Back</a>")
response.end
end if
conn.execute "delete * From list where email='" & remmail & "'",lngAff,128

if lngAff<=0 then
response.write "there are no emails here "
else
response.write remmail & " Has Been Removed"
end if
end sub
%>

If-satserna i början var lite fnuliga, jag har tagit bort överflödiga <% och %>, bytt från function till sub (eftersom en function ska returnera något) och gjort databasoperationerna med ett par små sql-satser.

Medlem sedan maj 2001420 inlägg
#3

Tack, men jag förstår nog inte helt. jag förklarade kanske lite dåligt. Sorry. Jag har följande formulär och funktioner på en annan sida:

<form name="form" method= "POST">
    
  <table width="34%" cellpadding=2 cellspacing=2 border=1 bgcolor="#FFF4FA" align="center">
<tr>
<td align="center">
  <input type="text" class="text" name="newmail" size="17" value="Email?"><br>
  <input TYPE="radio" NAME="meld" Value="yes" checked onsubmit="func1();">Prenumerera <br>
  <input TYPE="radio" NAME="meld" value="no" onsubmit="func2();">Avbeställ
  </td>
</tr>
</table>              
              <p align="center"><input type="submit" value="Skicka" name="B1"><input type="reset" value="Återställ" name="B2"></p>
            </form>       
          </td>
        </tr>
      </table>

Här är functionerna:

function func1(){
document.form.action = 'mlmlist.asp?function=addform';
document.form.submit();
}
function func2(){
document.form.action = 'mlmlist.asp?function=delform';
document.form.submit();
}

(mlmlist.asp är sidan som jag bifogade innan) Detta får jag inte att fungera? Vad gör jag fel :r ?

------------------
www.moviemix.nu

263 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
137 ms — hämta tråd, inlägg och bilagor (db)
122 ms — ändringar (db)