Un Sistema de postales Virtuales en ASP II

Módulos de la aplicación
Apuntes sobre el código:
  • DEFAULT.ASP
  • Como comentamos anteriormente, el código hace una doble función, si al capturar la variable tema a través de request.form("tema") esta esta vacía, mostramos un formulario para poder elegir el tema de la postal, en caso contrario, mostramos todas la imágenes sobre el tema elegido.
  • En las variables urlfoto y urlminiatura guardamos la dirección relativa de los directorios que contienen nuestras imágenes
  • CONFIRMAPOSTAL.ASP
  • En este modulo comprobamos que ninguna de las variables recibidas desde default.asp esta vacía, si alguna lo esta, emitimos un mensaje de error y no mostramos la previsualización de la postal.
  • Utilizamos la función comentarios=replace(request.form("comentarios"),chr(10),"<br>") para sustituir los saltos de línea de teclado por etiquetas
Defaul.asp

<html>
<head>
<title>Envio de E-Postales</title>
</head>
<body>

<%urlfoto="images/"
urlminiatura="images/miniaturas/"
tema=request.form("tema")%>

<center>
<div align="center">
<center>
<table border="0" width="80%">
<tr>
<td width="100%" align="center"><font color="#0000FF" size="5">
Envió de E-Postales</font>
<p> </p>
</td></tr>
<tr>
<td width="100%" align="center" bgcolor="#D9F8FF">

<%Set Conna = Server.CreateObject("ADODB.Connection")

'nota: la cadena de conexión debe de ir en una sola línea, aqui esta cortada por diseño

Conna.Open("DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=" & Server.MapPath("\TudirBd\postales.mdb"))


set rs=createobject("ADODB.Recordset")
if tema="" then
sqltxt="SELECT distinct tema from postales"
rs.open sqltxt,conna%>

<p align="left">Elige un tema para tu postal:</p>

<form method="POST" action="default.asp">
<p align="center"><select size="1" name="tema">
<%do while not rs.eof %>
<option><%=rs("tema")%></option>
<%rs.movenext
loop
rs.close
set rs=nothing%>
</select><input type="submit" value="Seleccionar" name="B1"></p>
</form>
<p><br>

<%else
sqltxt="SELECT * from postales where tema like '%"&tema&"%' order by id"
rs.open sqltxt,conna%>

</p>
<p align="left"><font color="#0000FF">Tema:</font><font color="#00FFFF"> </font>
<%=tema%></p>
<p align="left">Elige una imagen para tu postal:</p>
<form method="POST" action="confirmapostal.asp">
<table border="0" width="100%" bgcolor="#55B5F1"><tr>
<%contador=0
do while not rs.eof
contador = contador+1
if contador >3 then
contador=1%>
</tr><tr>
<%end if %>


<td width="33%" align="center">
<p align="center"><img border="0" src="<%=urlminiatura%><%=rs("url")%>" >

<input type="radio" value="<%=rs("id")%>" name="id" checked></td>

<%rs.movenext
loop
rs.close
set rs=nothing%>
</tr>
</table>
<p align="left"> </p>
<table border="1" width="100%" bgcolor="#C0C0C0" bordercolor="#FFFFFF">
<tr>
<td width="30%"><font color="#0000FF" size="2">Tu nombre:</font></td>
<td width="70%"><input type="text" name="nombre" size="45"></td>
</tr>
<tr>
<td width="30%"><font color="#0000FF" size="2">Tu email:</font></td>
<td width="70%"><input type="text" name="email" size="45"></td>
</tr>
<tr>
<td width="30%"><font color="#0000FF" size="2">Nombre de tu amigo:</font></td>
<td width="70%"><input type="text" name="amigo" size="45"></td>
</tr>
<tr>
<td width="30%"><font color="#0000FF" size="2">Email de tu amigo:</font></td>
<td width="70%"><input type="text" name="emailamigo" size="45"></td>
</tr>
</table>
<p align="left">Que le contamos:</p>
<p align="center"><textarea rows="2" name="comentarios" cols="53"></textarea></p>
<p align="center"><input type="submit" value="continuar ->" name="B1"></p>
</form>
<%end if%>
</td>
</tr>
<tr>
<td width="100%" align="center"> </center>
</center>
<p align="right"><font size="1">
Código proporcionado por : <a href="http://www.asptutor.com">
<img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif"></a></font></td>
</tr>
</table>
</div>

</body>

</html>


Confirmapostal.asp

<%if request.form("id")="" then
response.redirect "default.asp"
end if
urlfoto="images/"
urlminiatura="images/miniaturas/"%>
<html>
<head>
<title>Envio de E-Postales</title>
</head>
<body>


<div align="center">
<center>
<table border="0" width="80%" bgcolor="#D9F8FF">
<tr>
<td width="100%">
<%for each v_entrada in request.form
for indice=1 to request.form(v_entrada).count
if request.form(v_entrada)(indice) = "" then
mal=1%>
<font color="#FF00FF">El campo <%=v_entrada%> no puede estar vacio</font><br>

<%end if
next
next

if mal <> 1 then
Set Conna = Server.CreateObject("ADODB.Connection")

'nota: la cadena de conexión debe de ir en una sola línea, aqui esta cortada por diseño

Conna.Open("DRIVER={Microsoft Access Driver (*.mdb)};
DBQ=" & Server.MapPath("\TudirBd\postales.mdb"))



set rs=createobject("ADODB.Recordset")
sqltxt="SELECT * from postales where id="&request.form("id")
rs.open sqltxt,conna
url=rs("url")
rs.close
set rs=nothing
%>
<h3 align="center"><font color="#FF0000">Esta es la postal que vas a
enviar</font></h3>
<div align="center">
<center>
<table border="0" width="500" background="images/rayasgrises.gif">
<tr>
<td width="642" colspan="2">

</td>
</tr>
<tr>
<td width="93" bgcolor="#66CCFF"> </td>
<td width="543">
<table border="0" width="100%" cellspacing="5" bgcolor="#FFFFFF">
<tr>
<td><img border="0" src="<%=urlfoto%><%=url%>" align="left"></td>

<%'cambiamos los saltos de carro por <br>
comentarios=replace(request.form("comentarios"),chr(10),"<br>")
'Ponemos la primera letra en mayusculas
inicial=ucase(mid(request.form("comentarios"),1,1))
'Asignamos a la variable comentarios el resto de la cadena
comentarios=mid(comentarios,2)
%>
<td valign="top"> <i>
<font color="#FF00FF" size="7"> <%=inicial%></font></i><%=comentarios%></td>
</tr>
<tr>
<td width="100%" colspan="2"><font color="#FF0000">De:</font>
<a href="mailto:<%=request.form("email")%>"><%=request.form("nombre")%></a><br>
<font color="#FF0000">Para:</font>
<%=request.form("amigo")%> (<%=request.form("emailamigo")%>)</td>
</tr>
</table>
<p> </p>

</td>
</tr>
</table>
</center>
</div>

<div align="center">
<center>
<table border="0" width="50%">
<tr>
<td width="50%" valign="top">
<p align="center">No me gusta, quiero corregirla</td>
<td width="50%" valign="top">
<p align="center">Me gusta,<br>
envíala</td>
</tr>
<tr>
<td width="50%" valign="top" align="center">
<a href="javascript:window.history.back()">
<img border="0" src="../images/atras.gif"></a></td>
<td width="50%" valign="top" align="center">
<form method="POST" action="enviarpostal.asp">
<input type="hidden" name="comentarios" size="20" value="<%=request.form("comentarios")%>">
<input type="hidden" name="nombre" size="20" value="<%=request.form("nombre")%>">
<input type="hidden" name="email" size="20" value="<%=request.form("email")%>">
<input type="hidden" name="amigo" size="20" value="<%=request.form("amigo")%>">
<input type="hidden" name="emailamigo" size="20" value="<%=request.form("emailamigo")%>">
<input type="hidden" name="url" size="20" value="<%=url%>">
<input type="hidden" name="id" size="20" value="<%=request.form("id")%>">



<p><input border="0" src="../images/adelante.gif" name="I1" type="image"></p>

</form>
</td>
</tr>
</table>
</center>
</div>
<%else%>
<p align="center"><a href="javascript:window.history.back()">
<img border="0" src="../images/atras.gif"></a></p>
<%end if%></td>
</tr>
<tr>
<td width="100%"> <p align="right">
<font size="1">Código proporcionado por :
<a href="http://www.asptutor.com">
<img border="0" src="http://www.asptutor.com/images/asptutor88x31.gif"></a>
</font></td>
</tr>
</table>
</center>
</div>
</body>
</html>