Foros del Web » Programando para Internet » ASP Clásico »

libro de visitas (de ASPtutor)

Estas en el tema de libro de visitas (de ASPtutor) en el foro de ASP Clásico en Foros del Web. Hola No conozco muy bien el lenguaje de ASP ni PHP pero quiero poner un libro de visitas en mi web. Encontre todo este codigo ...
  #1 (permalink)  
Antiguo 03/01/2005, 17:09
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 20 años, 7 meses
Puntos: 0
Pregunta libro de visitas (de ASPtutor)

Hola

No conozco muy bien el lenguaje de ASP ni PHP pero quiero poner un libro de visitas en mi web.

Encontre todo este codigo para realizar un libro de visitas en ASP.

Lo he seguido al pie de la letra... pero cuando lo lanzo en mi web, sale este erorr

Cita:
Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.
Please contact the server administrator, and inform them of the time the error occurred and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.
--------------------------------------------------------------------------------

Apache Server
bueno aqui pongo todo el procedimiento, ojala me puedan ayudar a ver mi error, y para los que tambien les interese un libro de visitas, pues ojala que nos sirva esto

---------------------------------------------------
Un libro de visitas en ASP (I)

Aquí tenéis el código del libro de visitas de esta web, como veréis, la realización implementación de una aplicación de este tipo es bastante sencilla.

Partimos de una base de datos con 2 tablas:



La primera de las tablas, la denominada "CLAVE" nos servirá para almacenar la password para borrado de registros.



La segunda tabla, denominada "VISITAS" contendrá los datos que nos dejen los usuarios que firmen en nuestro libro.



Una vez que tenemos creada la Base de Datos, vamos a ver uno por uno, los módulos que contiene la aplicación.
------------------
Módulos de la aplicación:

default.asp

Situaremos nuestro libro de visitas en un directorio propio, por lo cual nuestra página de inicio se llamara default.asp, a fin de que se abra por defecto cuando alguien entre al directorio.
Esta pagina nos mostrara al abrirse el contenido de todo el libro de visitas, si por volumen de datos, necesitáramos mostrar los datos en varias páginas, aplicaríamos lo aprendido en los ejemplos de paginación simple y paginación profesional de resultados .

Esta página nos servirá tanto para visualizar los datos como para introducir un nuevo texto mediante el formulario que situaremos en el pie de página. (los datos recibidos serán procesados por el modulo firmar.asp que veremos en la siguiente página).

También, desde esta página podremos acceder al modulo de borrado de un mensaje.

Código HTML:
<html>
<head>
<title>ASPTutor.com Libro de visitas</title>
</head>
<body>
<br><div align="right">
<table border="1" width="200" bgcolor="#3399FF" bordercolor="#FFFFFF">
<tr>
<td width="100%">
<p align="center"><a href="#firmar">Firmar el Libro</a></td>
</tr>
</table>
</div>
<p align="center">
<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

if request.querystring("insertado")<> "" then%>
Tu mensaje ha sido insertado, muchas gracias
<%end if
if request.querystring("borrado")<> "" then%>
El mensaje seleccionado ha sido borrado
<%end if

Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\dirdb\librovisitas.mdb"))


set rs=createobject("ADODB.Recordset")
'rs.CursorType = adOpenKeyset 
'rs.LockType = adLockOptimistic 

rs.open "select * from visitas order by id desc",conn
if not rs.EOF then
do while not rs.EOF%>
<p align="center">

<table border="1" width="700" bordercolor="#3399FF">
<tr>
<td width="501" bgcolor="#3399FF"><font color="#FFFFFF"><b><%=rs("nombre")%></b></font>
<%if rs("mail")<>"" then%>
&nbsp;&nbsp;<a href="mailto:<%=rs("mail")%>"><img border="0" src="gb_mail.gif"></a>
<%end if%>
<%if rs("web")<>"" then%>
&nbsp;&nbsp;<a href="http://<%=rs("web")%>"><img border="0" src="gb_www.gif"></a>
<%end if%></td>

<td width="20" bgcolor="#3399FF"><a href="deletereg.asp?id=<%=rs("id")%>"><img border="0" src="gb_delmsg.gif"></a></td>
<td width="233" bgcolor="#3399FF">
<p align="right"><font size="1" color="#FFFFFF"><%=rs("fecha")%>&nbsp;</font></p>
</td>
</tr>

<tr>
<td width="511" bgcolor="#C0C0C0" colspan="2" valign="top"><img border="0" src="gb_msg.gif"><font size="2"><%=rs("comentarios")%></font><br><br>
<font size="1"><b>Host:
<%=rs("ip")%></b></font></td>
<td width="233" bgcolor="#C0C0C0">
<% if rs("Pais")<>"" then%>
<b><font size="1">Pais</b>
<hr>
<%=rs("pais")%></font>


<p>


<%end if%> 

<% if rs("como")<>"" then%>

¿<font size="1"><b>Como nos conociste?</b>

<hr>
<%=rs("como")%></font>


<p>


<%end if%> 
<% if rs("opinion")<>"" then%>

<font size="1"><b>¿Que opinión te merecen estas páginas</b>
<hr>
<%=rs("opinion")%></font>


<%end if%> 


</td>
</tr>
</table>

<%rs.movenext
loop
end if

rs.close
conn.close
set rs=nothing
set conn=nothing%>

<br>
<div align="center">
<center>
<table border="0" width="500" height="454">
<tr>
<td width="100%" bgcolor="#3399FF" height="22"><font color="#FFFFFF"><a name="firmar"></a>Firmar</font></td>
</tr>
<tr>
<td width="100%" height="420">
<form method="POST" action="firmar.asp">
<table border="0" width="100%" bgcolor="#C0C0C0">
<tr>
<td width="30%" align="right">Nombre</td>
<td width="70%"><input type="text" name="nombre" size="20" maxlength ="50"></td>
</tr>
<tr>
<td width="30%" align="right">E-Mail</td>
<td width="70%"><input type="text" name="mail" size="20" maxlength ="50"></td>
</tr>
<tr>
<td width="30%" align="right">Web&nbsp;&nbsp;&nbsp; <font color="#0000FF">http://</font></td>
<td width="70%"><input type="text" name="web" size="32" maxlength ="50"></td>
</tr>
<tr>
<td width="30%" align="right">País</td>
<td width="70%"><input type="text" name="pais" size="20" maxlength ="50"> </td>
</tr>
<tr>
<td width="30%" align="right">¿Como nos conociste?</td>
<td width="70%"><input type="text" name="como" size="37" maxlength ="50"></td>
</tr>
<tr>
<td width="30%" align="right">¿Que opinas de estas páginas?</td>
<td width="70%"><select size="1" name="opinion">
<option>No opino</option>
<option>Muy Buenas</option>
<option>Buenas</option>
<option>Regulares</option>
<option>Malas</option>
<option>Muy Malas</option>
</select></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center">Comentarios/Mensaje <font size="1">(puedes
usar etiquetas html)</font></td>
</tr>
<tr>
<td width="100%" colspan="2">
<p align="center"><textarea rows="7" name="comentarios" cols="44"></textarea></td>
</tr>
<tr>
<td width="100%" align="center" colspan="2"><input type="submit" value="Enviar" name="enviar">
<input type="reset" value="Borrar" name="borrar"></td>
</tr>
</table>
</form>
</td>
</tr>
</table>
</center>
</div>


</body>

</html> 
--------------------------
Módulos de la aplicación:

firmar.asp

Este modulo recibe los datos introducidos por el visitante en el formulario, los comprueba y los inserta en la base de datos. Una vez insertados los datos, nos devuelve a la página principal del libro de visitas y nos muestra un mensaje de agradecimiento.

Código HTML:
<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

if request.form("nombre") = "" or request.form("comentarios")="" then%>
<div align="center">
<center>
<table border="0" width="85%">
<tr>
<td width="100%">
<table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF">Los campos NOMBRE y
COMENTARIO son obligatorios</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><a href="javascript:window.history.back()">Intentalo de nuevo</a>
</td>
</tr>
</table>
</center>
</div>

<%else
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\dirdb\librovisitas.mdb"))


set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset 
rs.LockType = adLockOptimistic 

rs.open "visitas",conn
rs.addnew
rs("nombre")=request.form("nombre")
rs("mail")=request.form("mail")
rs("web")=request.form("web")
rs("pais")=request.form("pais")
rs("opinion")=request.form("opinion")
rs("como")=request.form("como")
rs("ip")=request.servervariables("REMOTE_ADDR")
rs("fecha")=now()
comentarios=replace(request.form("comentarios"),chr(10),"<br>")
rs("comentarios")=comentarios
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
response.redirect "default.asp?insertado=si"
end if%> 
----------------------

continuo en otro post....
  #2 (permalink)  
Antiguo 03/01/2005, 17:10
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 20 años, 7 meses
Puntos: 0
Módulos de la aplicación:

deletereg.asp

Este modulo es un formulario simple que nos permite introducir la clave de administración para borrado de registros (esta palabra clave la tendremos almacena en la tabla "CLAVE" de nuestra base de datos)

Código HTML:
<html>

<head>
<title>Borrado de registro(I)</title>
</head>

<body>

<form method="POST" action="deletereg2.asp">
<div align="center">
<center>
<table border="1" width="50%">
<tr>
<td width="100%" align="center" bgcolor="#00CCFF"><font color="#FFFFFF">Teclea
la clave de administración</font></td>
</tr>
<tr>
<td width="100%" align="center" bgcolor="#000000"><input type="password" name="clave" size="20"><input type="hidden" name="id" size="20" value="<%=request.querystring("id")%>"></td>
</tr>
<tr>
<td width="100%" bgcolor="#000000">
<p align="center"><input type="submit" value="Enviar" name="B1"></td>
</tr>
</table>
</center>
</div>
</form>

</body>

</html> 
-------------------
deletereg2.asp

Este modulo recibe la password tecleada en deletereg.asp, la comprueba y borra en registro. Si la clave es erronea da un mensaje, si todo va bien, nos devuelve a la página principal del libro de visitas y nos da un mensaje de confirmación de que todo ha ido bien.

Código HTML:
<%if request.form("clave")="" or request.form("id")="" then
response.redirect "default.asp"
end if

Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4


Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\dirdb\librovisitas.mdb"))


set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset 
rs.LockType = adLockOptimistic 
sqltxt="select * from clave"
rs.open sqltxt,conn
if rs("clave")<> request.form("clave") then%> 
<html>

<head>
<title>Borrado de registro(II)</title>
</head>

<body>
<div align="center">
<center>
<table border="0" width="50%">
<tr>
<td width="100%">
<table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF">Clave ERRONEA</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><a href="javascript:window.history.back()">Intentalo de nuevo</a>
</td>
</tr>
</table>
</center>
</div>
</body>

</html>
<%else
rs.close
sqltxt="delete from visitas where id="&request.form("id")
conn.execute sqltxt
conn.close
response.redirect "default.asp?borrado=si"

end if%> 
Como habéis visto son solo cuatro módulos (default.asp, firmar.asp, deletereg.asp y deletereg2.asp) que lo único que hacen es aplicar lo visto en ejemplos anteriores.

------------------------------------------------------------------------

Bueno este es todo el ejemplo a aplicar de esta paguna ASPtutor

Algun experto que me explique como va cada cosa?

Otra cosita, si me pudieran decir como hago la base de datos, como la tengo que guardar, y como la tengo que subir...

Tengo un espacio web de paga, que soporta, php y asp.

Muchas gracias de antemano
  #3 (permalink)  
Antiguo 03/01/2005, 17:26
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
Dispones de pws o ISS?
  #4 (permalink)  
Antiguo 03/01/2005, 21:41
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 20 años, 7 meses
Puntos: 0
No, no he instalado nada en la maquina, a decir verdad no se lo que son =|

Si pudieran guiarme con eso, se los agradeceria mucho
  #5 (permalink)  
Antiguo 04/01/2005, 04:52
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
Pués sín eso no te funcionará el "asp" debes instalarlo, si tienes windows 98 lo enconrarás en el cd y si tien el XP (creo que está en la versín profesional).

Un saludo
  #6 (permalink)  
Antiguo 04/01/2005, 20:12
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 20 años, 7 meses
Puntos: 0
es decir, tengo que instalar el ISS?

Por ahi tengo un manualillo de como hacerlo, pero despues de ahi, como lo utilizo o aplico '?
  #7 (permalink)  
Antiguo 05/01/2005, 01:45
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
Pués una vez instalado es muy facil.. consultas el manualillo y ya esta e todas formas es muy sencillo tan solo colocar la pagina en el directorio que te indica.

Un saludo
  #8 (permalink)  
Antiguo 06/01/2005, 10:22
 
Fecha de Ingreso: septiembre-2004
Mensajes: 118
Antigüedad: 20 años, 7 meses
Puntos: 0
es decir que tengo que pasar toda mi pagina al directorio que trae por defecto?
  #9 (permalink)  
Antiguo 06/01/2005, 11:10
Avatar de Prefontaine  
Fecha de Ingreso: agosto-2004
Mensajes: 313
Antigüedad: 20 años, 8 meses
Puntos: 0
A ese o configurar otro...
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:55.