Regresar   Foros del Web > Programación para sitios web > ASP

El registro es Gratis en Foros del Web
Respuesta
 
Herramientas Buscar en Tema Desplegado
Antiguo 15/08/04, 12:36:28   #91 (permalink)
choco_cu tiene un saldo positivo de karma
 
Registrado: may 2004
Ubicación: Ciudad de la Habana
Mensajes: 74
Contactar con choco_cu a través de Yahoo
choco_cu is offline  
hola para todos los que le interesa la variante esa que dice urjose de otros sistema de usuario y contraseña con session y que el dice debajo que lo malo es que est'a en ingles aqui les envio la primera parte traducida al español.


A menudo como Desarrollador WEB te encuentras en situaciones donde quieres proteger areas especificas de tu sitio de ser vista por todos. Un buena manera de hacerlo es agregando proteccion por password a tu Sitio. Lo primero que debes hacer es crear una página de logeo, la cual sería algo como esto:


<% Sub ShowLogin %>
<form name=form1 action=login.asp method=post>
User Name : <input type=text name=username>
Password : <input type=password name=userpwd>
<input type=hidden name=login value=true>
<input type=submit value="Login">
</form>
<% End Sub %>

El código anterior simplemente crea un formulario. La segunda caja de texto tiene el tipo password Type=Password, lo que hace que lo que el usuario que haya escrito aparesca como estrellas (como estas ******). También anotar que si quieres que la acción de l formulario sea la misma página. Entonces no necesitamos una segunda página para manipular el chequeo del password. Hablar'e del elemento Hidden en el formulario después. Tambié ver'a por que pusimos el formulario dentro de una sub rutina m'as adelante.

Antes de introducir el codigo para chequear y ver si el usuario y el password son correctos necesitamos agregar algo de codigo en login.asp para chequear y ver si el formulario fue enviado.

Response.Expires = -1000 'Makes the browser not cache this page
Response.Buffer = True 'Buffers the content so our Response.Redirect will work
Session("UserLoggedIn") = ""

If Request.Form("login") = "true" Then
CheckLogin
Else
ShowLogin
End If

Este codigo ira a revisar si en login.asp el formulario fue enviado. Si lo fue entonces podemos chequear el logeo, si no entonces mostramos el formulario de logeo.

Luego agregaremos el codigo subrutina del chequeologeo para chequear y ver si el usuario y el password son correctos

Sub CheckLogin
If LCase(Request.Form("username")) = "guest" And LCase(Request.Form("userpwd")) = "guest" Then
Session("UserLoggedIn") = "true"
Response.Redirect "protectedpage.asp"
Else
Response.Write("Login Failed.<br><br>")
ShowLogin
End If
End Sub

el codigo anterior chequeara para asegurarse de que se ha entrado el login correctamente. para configurar la Variable de Sesion "UserLoggeddln" igual a "" estamos basicamente desconectando al usuario. Lo unico que nos falta por hacer es escribir el codigo a poner en la cabecera de la pagina protegida para chequear y ver si el usuario esta logeado.

Response.Expires = -1000 'Hace que el explorador no cree cache de esta pagina
Response.Buffer = True 'activa el buffer para el contenido asi nuestro Response.Redirect trabajara

If Session("UserLoggedIn") <> "true" Then
Response.Redirect("login.asp")
End If

Ejemplo de lo anteriormente expuesto.

codigo para login.asp[Top]

<%
Response.Expires = -1000 'Makes the browser not cache this page
Response.Buffer = True 'Buffers the content so our Response.Redirect will work
Session("UserLoggedIn") = ""
If Request.Form("login") = "true" Then
CheckLogin
Else
ShowLogin
End If


Sub ShowLogin
%>
<form name=form1 action=login.asp method=post>
User Name : <input type=text name=username><br>
Password : <input type=password name=userpwd><br>
<input type=hidden name=login value=true>
<input type=submit value="Login">
</form>
<%
End Sub

Sub CheckLogin
If LCase(Request.Form("username")) = "guest" And LCase(Request.Form("userpwd")) = "guest" Then
Session("UserLoggedIn") = "true"
Response.Redirect "protectedpage.asp"
Else
Response.Write("Login Failed.<br><br>")
ShowLogin
End If
End Sub
%>

protectedpage.asp
<%
Response.Expires = -1000 'Makes the browser not cache this page
Response.Buffer = True 'Buffers the content so our Response.Redirect will work

If Session("UserLoggedIn") <> "true" Then
Response.Redirect("login.asp")
End If
%>

This page is password protected. If you are reading this you entered <br>
the correct name and password.

Traducción: Choco_cu
  Responder Con Cita
Antiguo 15/08/04, 13:23:53   #92 (permalink)
choco_cu tiene un saldo positivo de karma
 
Registrado: may 2004
Ubicación: Ciudad de la Habana
Mensajes: 74
Contactar con choco_cu a través de Yahoo
choco_cu is offline  
Ahora les envio la segunda parte del sistema de usuario y contraseña con session

segunda parte

En la Primera parte les mostramos como hacer una simple interface de proteccion por password funcional para tu Sitio. En est'a parte vamos a explorar como agregar mensajes de error, pertimir que los usuarios se relogeen o sea se reconecten, y solicitar a la base de datos por el nombre de usuario y el password entrado.

La primera cosa que haremos es agregar el codigo para permitir a los usuarios volver a logearse. Para hacerlo necesitamos chequear y ver que el usuario se encuentra logeado y agregar una nueva subrutina para manipular eso. Primero agregamos el codigo para chequear y ver si el usuario se mantiene conectado.

el siguiente codigo necesita se agregado en la cabecera de la pagina de logeo. Este codigo dirigir'a lo que pasa cuando el usuario activa la pagina de logeo.

login = Request.Form("login")
If login = "login_again" Then
Session("UserLoggedIn") = ""
ShowLogin
Else
If Session("UserLoggedIn") = "true" Then
AlreadyLoggedIn
Else
If login = "true" Then
CheckLogin
Else
ShowLogin
End If
End If
End If

Este codigo(anterior) reemplaza este codigo (de abajo) de la primera parte

If Request.Form("login") = "true" Then
CheckLogin
Else
ShowLogin
End If

Luego agregaremos la subrutina. AlredadyLoggedln para decirle al usuario que estan logeado y preguntar si quieren volverse a logear.

<%
Sub AlreadyLoggedIn
%>
You are already logged in.
Do you want to logout or login as a different user?
<form name=form2 action=login2.asp method=post>
<input type=submit name=button1 value='Yes'>
<input type=hidden name=login value='login_again'>
</form>
<%
End Sub
%>

he incluido un script de asp de apertura y cierre para delimitar porque in esa seccion de codigo hay una mescla de ASP y Html.

Ahora para agregar el chequeo de errores necesitamos declarar una variable global para el mensaje de error, agregar el codigo para formatear el mensaje de error e imprimir el mensaje si sse necesita.

Declarar la Variable para almacenar el mensaje de error cerca de la cabecera de la pagina de logeo.

Dim Error_Msg

Y agregamos este pequeño pedazo de codigo al inicio del formulario de logeo. Esto imprimira un mensaje de error si hay alguno.

Response.Write(Error_Msg&"<br>")

Ahora todo lo que nos falta por hacer es agregar el codigo para chequear el nombre de usuario y el password en una base de datos. Para hacerlo Reescribiremos la subrutina CheckLogin de la primera parte.

Sub CheckLogin
Dim Conn, cStr, sql, RS, username, userpwd
username = Request.Form("username")
userpwd = Request.Form("userpwd")
Set Conn = Server.CreateObject("ADODB.Connection")
cStr = "DRIVER={Microsoft Access Driver (*.mdb)};"
cStr = cStr & "DBQ=" & Server.MapPath("\articles\asp\advanced\passwordhow to.mdb") & ";"
Conn.Open(cStr)
sql = "select username from UserTable where username = '" & LCase(username) & "'"
sql = sql & " and userpwd = '" & LCase(userpwd) & "'"
Set RS = Conn.Execute(sql)
If RS.BOF And RS.EOF Then
Error_Msg = "Login Failed. Try Again."
ShowLogin
Else
Session("UserLoggedIn") = "true"
Response.Redirect "protectedpage2.asp"
End If
End Sub

ya esta hecho, puedes cortar y pegar el formulario del codigo de abajo y entonces acomodarlo a tu sitio

nueva variante del sistema

login2.asp [Top]

<%
Response.Expires = -1000 'Evita que el explorador haga una cache del sitio
Response.Buffer = True 'activara el buffer para el contenido asi nuestro Response.Redirect trabajara

Dim Error_Msg

login = Request.Form("login")
If login = "login_again" Then
Session("UserLoggedIn") = ""
ShowLogin
Else
If Session("UserLoggedIn") = "true" Then
AlreadyLoggedIn
Else
If login = "true" Then
CheckLogin
Else
ShowLogin
End If
End If
End If

Sub ShowLogin
Response.Write(Error_Msg & "<br>")
%>
<form name=form1 action=login2.asp method=post>
User Name : <input type=text name=username><br>
Password : <input type=password name=userpwd><br>
<input type=hidden name=login value=true>
<input type=submit value="Login">
</form>
<%
End Sub

Sub AlreadyLoggedIn
%>
Ya estas logeado.
deseas logearte como un usuario nuevo?
<form name=form2 action=login2.asp method=post>
<input type=submit name=button1 value='Yes'>
<input type=hidden name=login value='login_again'>
</form>
<%
End Sub

Sub CheckLogin
Dim Conn, cStr, sql, RS, username, userpwd
username = Request.Form("username")
userpwd = Request.Form("userpwd")
Set Conn = Server.CreateObject("ADODB.Connection")
cStr = "DRIVER={Microsoft Access Driver (*.mdb)};"
cStr = cStr & "DBQ=" & Server.MapPath("\home\codelib\howto\aspadvanced\pa sswordhowto.mdb") & ";"
Conn.Open(cStr)
sql = "select username from UserTable where username = '" & LCase(username) & "'"
sql = sql & " and userpwd = '" & LCase(userpwd) & "'"
Set RS = Conn.Execute(sql)
If RS.BOF And RS.EOF Then
Error_Msg = "Login Failed. Try Again."
ShowLogin
Else
Session("UserLoggedIn") = "true"
Response.Redirect "protectedpage2.asp"
End If
End Sub
%>

protectedpage2.asp[Top]

<%
Response.Expires = -1000 'Makes the browser not cache this page
Response.Buffer = True 'Buffers the content so our Response.Redirect will work

If Session("UserLoggedIn") <> "true" Then
Response.Redirect("login2.asp")
End If
%>

Esta es una pagina protegida por password. si estas leyendo esto has entrado<br>
el nombre y el password correctos.
  Responder Con Cita
Antiguo 20/08/04, 09:23:59   #93 (permalink)
Tarecito ha deshabilitado el Karma
 
Registrado: nov 2003
Mensajes: 417
Tarecito is offline  
Idea RecordCount para MySql

no se si ya exista una respuesta para esto, pero para los que no les funciona el RecordCount en MySql aqui hay una opción:

<%
Function RecCount(rsdef)
intRows = rsdef.GetRows
rsdef.MoveFirst
RecCount = UBound(intRows,2) + 1
End Function
.
.
.
Tu Conexión
.
.
response.write = RecCount(RS)

%>

A ver si se consiguen algo igual para el AbsolutePage
__________________
Tarecito pp :si:
  Responder Con Cita
Antiguo 22/09/04, 16:55:29   #94 (permalink)
Owen-Bonilla ha deshabilitado el Karma
 
Registrado: nov 2002
Ubicación: Torreón, Coahuila; México
Mensajes: 524
Contactar con Owen-Bonilla a través de MSN
Owen-Bonilla is offline  
Actualizar una Base de Datos Dependiendo de un ID

Cómo actualizar algunos campos ( o todos ) de una Base de Datos, dependiendo de un Valor Tomado de una Página Anterior.

Cita:
<%language="vbscript"%>
<%
dim IDAnterior
dim usuario
dim password
dim nombre
dim apellidop
dim apellidom
dim imss
dim email

IDAnterior=Request.Form("id")
usuario=Request.Form("usuario")
password=Request.Form("password")
nombre=Request.Form("nombre")
apellidop=Request.Form("apellidop")
apellidom=Request.Form("apellidom")
imss=Request.Form("imss")
email=Request.Form("email")

set oConn=Server.CreateObject("ADODB.Connection")
oConn.Open "DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../../db/usuarios.mdb") & "; Password=bonilla "
SQL="UPDATE usuarios SET usuario='"&usuario&"', password='"&password&"', nombre='"&nombre&"', apellidop='"&apellidop&"', apellidom='"&apellidom&"', imss='"&imss&"', email='"&email&"' where [CampoID] = "& IDAnterior
set rs=oConn.Execute(SQL)
%>
CampoID= Nombre del Campo en mi Base de Datos
IDAnterior= Valor tomado de una página Anterior

Recuerda, sí Recoges un Valor desde una URL, lo tomas de la siguiente forma:
Request.QueryString("valor")

Recuerda, sí Recoges un Valor desde un Formulario, lo tomas de la siguiente forma:
Request.Form("valor")

Saludos
__________________
Luis Gerardo Soto Bonilla
Dpto. Planeación y Control
Excelencia en Corte y Lavado
  Responder Con Cita
Antiguo 24/09/04, 11:02:17   #95 (permalink)
Owen-Bonilla ha deshabilitado el Karma
 
Registrado: nov 2002
Ubicación: Torreón, Coahuila; México
Mensajes: 524
Contactar con Owen-Bonilla a través de MSN
Owen-Bonilla is offline  
FORMATO DE FECHAS SENCILLO PERO "AGRADABLE"

<%= formatdatetime((now),vblongdate) %>

Te Desplegara una Fecha tipo: Lunes, 22 de Enero del 2004

Saludos
__________________
Luis Gerardo Soto Bonilla
Dpto. Planeación y Control
Excelencia en Corte y Lavado
  Responder Con Cita
Antiguo 28/09/04, 13:13:49   #96 (permalink)
Saruman tiene un saldo positivo de karma
 
Registrado: may 2003
Ubicación: Panamá
Mensajes: 1.125
Contactar con Saruman a través de MSN Contactar con Saruman a través de Yahoo
Saruman is offline  
Administrador de Base de Datos OnLine en ASP

con esto, podras manejar o controlar tu base de datos desde internet. Podrás compactarla, crear tablas, campos, modificar valores, hacer querys de sql, etc.

disfrutenla

DBAdmin Link
__________________
Saruman

One Ring to rule them all, One Ring to find them, One Ring to bring them all and in the darkness bind them.
  Responder Con Cita
Antiguo 23/10/04, 16:32:31   #97 (permalink)
trasgukabi no ha recibido karma de otros usuarios
 
Registrado: sep 2004
Mensajes: 2.091
trasgukabi is offline  
Agilizando la carga de tus páginas ASP II

10 tips para optimizar ADO

1.- Evitar Actualizaciones a traves de RecordSets. Debido a que el propósito del RecordSet es brindar consultas más rápidas a través de la opción de RecordSet Desconectados, minimizando las conexiones.

2.- Utilizar Stored Procedures. Es mejor debido a que ya se encuentra compilado en el Server y además de tener mayor prioridad, tiene más fácil mantenimiento y seguridad

3.- Crear el Minimo RecordSet. En otras palabras, seleccionar segun el tipo de operacion que se va realizar el tipo de recordset (Cursor Type o Cursor Location)a abrir

4.- Usar RecordSets Desconectados. Logicamente para economizar conexiones y para presentar consultas mas rapidas.

5.- Define Comandos Parametrizados. Segun lo que entendi es que al definirlos de esta forma lo que se envia al servidor es una colecciones de Parametros que optimiza la ejecución de Stored Procedure.

6.- Encapsula El Aceso a la Data. Obviamente se refiere a trabajar con componentes.

7.- Use el Data Shaping para retornar datos de Cabecera y detalle.
Debido a que significa menos trafico de red y menor consumo de recursos para el cliente.

8.- Use el MTS

9.- Use Parametros de Salida. Cuando un stored devuelve un valor o un RecordSet se recomienda devolverlo como parametro de salida debido a que se evita el crear un nuevo objeto.

10.- Obtenga solo la data que se requiere. Solo debemos extraer las columnas o filas, osea no debemos tomar toda la tabla sino los valores necesarios.
(***hasta aquí sacado de http://www.telecable.es/personales/j...n/res00456.htm sacado a su vez de Visual Basic Programmer Journal)

Unas cuantas cosas más:
-Liberar recordsets y conexiones en cuanto se pueda, no al final del script, como se dice por ahí.

-Evidentemente, y si es posible, usar SQLServer o Mysql u otra base de datos "de verdad". evitar access, que no está preparado para muchas conexiones concurrentes.

-No usar el mismo nombre de objeto para distintos queries en el mismo script. SQLServer crea un procedimiento almacenado temporal por cada petición y puede ser que el usar el mismo nombre de objeto se provoque una caída del sistema. Sobre todo trabajando con procedimientos almacenados parametrizados.

-Usar recordsets forward-only,read-only siempre que sea posible.

-Huye como del diablo de las sentencias tipo "SELECT * FROM TABLA", especifica siempre los nombres de los campos.

-Usa providers OLEDB nativos siempre que sea posible.No uses providers OLEDB para fuentes ODBC.

-Procura que las cadenas de conexión a la base de datos (si es que tienes más de una) sean EXACTAMENTE iguales, ya que ADO hace una comparación carácter a carácter de las conexiones para colocarlas o recharzarlas en la pila de peticiones. La mejor manera de evitar ésto es poner la conexión en un include o en una variable Application en Global.asa

-No guardes objetos connection o recordset en variables Session o Application. Hacer ésto machaca mucho la escalabilidad de la aplicación, porque las peticiones a la conexión o al recordset son ejecutadas en serie y, así, una página ASP debería esperar hasta que ninguna otra esté usando el recurso para poderlo utilizar. Es infinitamente mejor crear la conexion y el recordset en cada página y destruirlos antes de que el script termine.

-Usa conexiones sin DSN.

-Cuando uses providers nativos OLEDB, No uses ficheros de conexión UDL.

-Poner los tags <%%> en la misma línea reduce la sobrecarga de la página, ya que el motor ASP no tiene que interpretar los saltos de línea (las líneas las lee carácter a carácter)

-todos conocemos las bondades de los comentarios, pero mejor no abusar de ellos por la misma razón que la anterior.

BUENO, YA VALE POR HOY.
UN SALUDO A TODOS


(**fuente:Visual Basic Programmer Journal)
__________________
SEO Hosting
  Responder Con Cita
Antiguo 01/11/04, 22:28:54   #98 (permalink)
trasgukabi no ha recibido karma de otros usuarios
 
Registrado: sep 2004
Mensajes: 2.091
trasgukabi is offline  
Q: ¿Cómo puedo saber si estoy en un servidor seguro?
R: Así:
Código:
<%if request.ServerVariables("SERVER_PORT_SECURE")=0 then%>
<!--#INCLUDE VIRTUAL="/includes/cabecera.asp"-->
<%else%>
<!--#INCLUDE VIRTUAL="/includes/cabecerahttps.asp"-->
<%end if%>
__________________
SEO Hosting

Última edición por Al Zuwaga fecha: 03/11/04 a las 08:28:44.
  Responder Con Cita
Antiguo 24/12/04, 10:12:32   #99 (permalink)
Cbas tiene un saldo positivo de karma
 
Registrado: nov 2002
Ubicación: capital federal
Mensajes: 428
Contactar con Cbas a través de MSN Contactar con Cbas a través de Yahoo
Cbas is offline  
Strings de Conexión

P: ¿Cómo me conecto desde ASP con MySQL, ACCESS, SQL, DBF, etc?
R: http://www.connectionstrings.com
__________________
La Perfección es enemigo de lo bueno.
  Responder Con Cita
Antiguo 25/01/05, 12:10:24   #100 (permalink)
ludovico2000 tiene un saldo positivo de karma
 
Registrado: nov 2003
Ubicación: Bizkaia
Mensajes: 1.315
ludovico2000 is offline  
Sistema de Acceso con Clave ASP+Access

P.: ¿Cómo implementar un sistema de acceso con clave seguro y vistoso?

Y que además registre cuándo entran los usuarios, su IP, cómo localizar dónde se ubica la IP, mostrar un mensaje personalizado de bienvenida para el usuario, registrando accesos maliciosos o erróneos, y además felicitar al usuario si es su cumpleaños... todo esto y mucho más en ....

R: Utiliza una base de datos con tres tablas, una para guardar los accesos "buenos" otra para los "malos" (intentos o errores de los usuarios) y otra para ir poniendo los usuarios. (Descripción de la base de datos en notas, al final).

Además, incluye la función "zorionak" (Felicidades en euskera) para lanzar un pop-up si es el cumpleaños del usuario. ("urtebete" [cumpleaños] es el campo de la tabla usuarios donde va la fecha dd/mm sin año, claro), usando una cadena u otra "zorion" ó "nozorion". Esto es muy vistoso y agradecido por los usuarios. (Seguir el verde oscuro para este asunto)

Combina todo esto con www.ip2location.com/free.asp que permite ver la localización (90% exacto) de la IP, y tendrás una página de acceso muy guay y bien controlada. (restringido a 20 consultas por día por IP)

[Ver notas al final]


[acceso.asp]:

<%if request.form("usuario")="" then

response.redirect "entrada.htm"

%>



<%else
'eliminamos las posibles comillas de la entrada
'para evitar la introducción de sentencias SQL
usuario=replace(request.form("usuario"),"'","")
password=replace(request.form("password"),"'","")
com=chr(34)
Var_IP = Request.ServerVariables("HTTP_X_FORWARDED_FOR")
if Var_IP = "" then
Var_IP = Request.ServerVariables("REMOTE_ADDR")
end if
Var_IP2 = Request.ServerVariables("REMOTE_HOST")
IF Var_IP2 = "" then
Var_IP2 = Request.ServerVariables("REMOTE_ADDR")
end if
zorion="<script language=JavaScript>function zorionak(){window.open('zorionak.htm','','top=100, left=100,width=415,height=294,scrollbars=No,locati on=No,menubar=No,resizable=no,status=No,directorie s=No,toolbar=No,copyhistory=No')}</script><body onload='zorionak()' bgcolor='#CCFFFF'>"

nozorion="<body bgcolor='#CCFFFF'>"


Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("../data/TABLA.mdb"))
set rs = CreateObject("ADODB.Recordset")
sqltxt="Select * from usuarios where usuario='"&usuario&"' and password= '"&password&"'"
'response.write sqltxt
rs.Open sqltxt, conn
if not rs.eof then
' nos ha devuelto un registro, ahora miraremos si es valido
' con ello evitamos el ataque típico SQL
if rs("usuario")=usuario and rs("password")=password then
' si el usuario esta en la base de datos y la password coincide
session("autorizacion")=1

Insertar = "INSERT INTO TablaAccesos (ID_Usuario, Fecha_Acceso, IP, IP2) VALUES ('"&usuario&"', '"&Now()&"', '"&Var_IP&"', '"&Var_IP2&"')"

Conn.Execute(Insertar)

IF RS("URTEBETE")=date() then

Response.write "<html>..<head>" & zorion & "<table ...>Bienvenido: " & rs("nombre") & "</font>...</html>"

else

Response.write "<html>..<head>" & nozorion & "<table ...>Bienvenido: " & rs("nombre") & "</font>...</html>"

end if

end if

else

Insertar = "INSERT INTO BadAccesos (Bad_usuario, Bad_fecha, Bad_clave, Bad_IP, Bad_IP2) VALUES ('"&usuario&"', '"&Now()&"', '"&password&"', '"&Var_IP&"', '"&Var_IP2&"')"

Conn.Execute(Insertar)

session("autorizacion")=-1

end if
rs.close
set rs=nothing
conn.close
set conn=nothing
if session("autorizacion")=-1 or session("autorizacion")="" then
' no hemos encontrado el registro
' eso indica que el usuario y/o la password son erroneos



response.redirect "entrada.htm"
end if

end if%>

NOTAS:


[entrada.htm]:

<html>
...
<form method="POST" action="acceso.asp">
...
<input type="text" name="usuario" size="20"></td>
...
<input type="password" name="password" size="20">
...
<input type="submit" value="Aceptar" name="B1">
...
</form>
...
</html>


[BASE DE DATOS]:

TABLA.mdb
---->usuarios (tabla) [Aquí es donde vas poniendo los usuario a mano]
-------->usuario (campo)
-------->password (campo)
-------->nombre (campo)

---->TablaAccesos (tabla)
-------->ID_Usuario (campo)
-------->Fecha_Acceso (campo)
-------->IP (campo)

---->BadAccesos (tabla)
-------->Bad_usuario (campo)
-------->Bad_fecha (campo)
-------->Bad_clave (campo)
-------->Bad_IP (campo)

Yo guardo una copia de esta base de datos en el disco duro, donde voy copiando los accesos y badaccesos y dejo la "original" vacía y la vuelvo a subir, para evitar que se vaya "inflando" y ralentice el asunto. Para ello, también es aconsejable, antes de guardar, en access: Herramientas -> Utilidades de la Base de Datos -> Compactar y Reparar Base de datos. Esto evita que access guarde información "fantasma" y reajusta el tamaño al mínimo justo y necesario.

[A TENER EN CUENTA]:

El response.write genera el código de la página restringida. Ten en cuenta que dentro de ese código no puedes usar comillas dobles ["], pero sí simple ['] y también el código ASCII de la comilla, que es chr(34) y lo tienes que poner así:

Response.write "...código html hasta la comilla" & chr(34) & "código html después de la comilla..."

Verás que yo lo he definido como "com", para abreviar, y poner sólo " & com & "

Además, recuerdo que en el response.write no se pueden hacer saltos de línea, hay que poner el código todo seguido.


[zorionak.htm]:

una paginita con algo vistoso, hombre, no seas rancio , pero ten en cuenta los tamaños y posición con que se abre, que los marco en la variable "zorion", y pon los que te vengan bien a tí.

p.s.: ¿esto es una FAQ o un manual?

Última edición por ludovico2000 fecha: 26/01/05 a las 02:27:36. Razón: hacerlo más entendible
  Responder Con Cita
Antiguo 16/02/05, 13:52:46   #101 (permalink)
franhanck ha deshabilitado el Karma
 
Registrado: ene 2005
Mensajes: 100
Contactar con franhanck a través de MSN
franhanck is offline  
Alegría Aqui Hay otro

COMO PUEDO PASAR DATOS DE LA BASE DE DATOS ENTRE PAGINAS


<a href=paginadestino?var=<%rs.fields("VARIABLE")%>>v er aqui</a>
__________________
Si fuera eterno sabría todo pero como no lo soy recurro al foro al cabo que siempre hay alguien que sepa más que uno Gracias amigos son de mucha ayuda
  Responder Con Cita
Antiguo 30/03/05, 14:14:32   #102 (permalink)
pablinweb tiene un saldo positivo de karma
 
Registrado: jul 2003
Ubicación: México
Mensajes: 263
pablinweb is offline  
Como paginar una consulta en SQL 2k y ORDER BY

Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<html>
<head>
<title>Paginacion</title>

<!--#include file="adovbs.inc" -->

<%

'*********************************************************
'Se supone que hay creada y abierta una conexión llamda Conn
'*********************************************************

gOrder = request.QueryString("ORDER")
if gOrder = "" then
	SQL = "Select * from Tabla"
else
	SQL = "Select * from Tabla order by " & gOrder
end if
Dim mostrar 'cantidad de registros a mostrar por página
Dim cant_paginas 'cantidad de páginas que recibimos
Dim pagina_actual 'La página que mostramos
Dim registro_mostrado 'Contador utilizado para mostrar las páginas
Dim I 'Variable Loop

mostrar = 10 ' Pueden modificar este número para cambiar la cantidad de registros por página

' IF para saber que página mostrar
If Request.QueryString("page") = "" Then
	pagina_actual = 1
Else
	pagina_actual = CInt(Request.QueryString("page"))
End If

Set RS = Server.CreateObject("ADODB.Recordset")
RS.PageSize = mostrar
RS.CacheSize = mostrar

' Abrimos la tabla...
RS.Open SQL, Conn,3,1
'contamos las páginas que se formaron con la variable mostrar.
cant_paginas = RS.PageCount

' Si el pedido de página cae afuera del rango,
' lo modificamos para que caiga adentro
If pagina_actual > cant_paginas Then pagina_actual = cant_paginas
If pagina_actual < 1 Then pagina_actual = 1

' Nos movemos a la página elegida
If cant_paginas > 0 Then
	RS.AbsolutePage = pagina_actual
End IF
%>
</head>

<body>
<table width="100%" border="1" align="center">
<% if Rs.eof then %>
	<tr>
      <th>No Hay Registros</th>
    </tr>
<% else %>
	    <tr>
	  	  <td></td>
	      <td>
		  	Página <%= pagina_actual %> de <%= cant_paginas %>
		  </td>
    	</tr>
		<tr>
	  	  <th>
		  	<a href="Main.asp?ORDER=ID">Id</a>
		  </th>
	      <th>
		  	<a href="Main.asp?ORDER=Descripcion">Descripci&oacute;n</a>
		  </th>
    	</tr>
	<% do while registro_mostrado < mostrar And not Rs.eof %>	
    	<tr>
	      <td>
		  	<% response.Write(Rs("ID")) %>
		  </td>
    	  <td>
			<% response.Write(Rs("Descripcion")) %>
	      </td>
    	</tr>
	<% 		Rs.movenext
			registro_mostrado = registro_mostrado + 1
	   loop 
   end if
Rs.close
Set Rs = Nothing
Conn.close
Set Conn = Nothing
Link = "Main.asp?ORDER=" & gOrder
%>
</table>
<table width="850">
  <tr>
    <td>
	  <div align="center"></div>
	  <div align="right" class="style2">
        <div align="center">
          <%
	' Ahora mostramos los enlaces a las otras páginas con el resto de los registros...
	If pagina_actual > 1 Then
		If cant_paginas > 1 Then
			If Link = "" then %>
				    <a href="Main.asp?page=1">[<<]</a>
         <%	Else %>
				    <a href="<%=Link%>&page=1">[<<]</a>
         <%	End If
		End If
	End if
	If pagina_actual > 1 Then
		If Link = "" then %>
			    <a href="Main.asp?page=<%= pagina_actual - 1 %>">[<]</a>
          <%	Else %>
			    <a href="<%=Link%>&page=<%= pagina_actual - 1 %>">[<]</a>
          <%	End If
	End If

	' mostramos la paginacion por numeros de página
	if cant_paginas < 6 then
		fCant = 1
	else
		if pagina_actual < 4 then
			fCant = 1
		else
			if pagina_actual > 3 then
				fCant = pagina_actual - 2
			else
				fCant = pagina_actual
			end if
			if (cant_paginas - fCant) < 5 then
				fCant = cant_paginas - 4
			end if
		end if
	end if
	For I = fCant To cant_paginas
		J = J + 1
		If J > 5 Then exit For
		If I = pagina_actual Then %>
			    <%= I %>
     <%	Else 
			If Link = "" then %>
				    <a href="Main.asp?page=<%= I %>"><%= I %></a>
         <%	Else %>
			        <a href="<%=Link%>&page=<%= I %>"><%= I %></a>
         <%	End If
		End If
	Next 'I

	If pagina_actual < cant_paginas Then 
		If Link = "" then %>
		                <a href="Main.asp?page=<%= pagina_actual + 1 %>">[>]</a>
          <%	Else %>
		                <a href="<%=Link%>&page=<%= pagina_actual + 1 %>">[>]</a>
          <%	End If 
	End If 
	If pagina_actual < cant_paginas Then 
		If cant_paginas > 1 Then 
			If Link = "" then %>
		    	<a href="Main.asp?page=<%= cant_paginas + 1 %>">[>>]</a>
         <%	Else %>
                <a href="<%=Link%>&page=<%= cant_paginas + 1 %>">[>>]</a>
	     <%	End If 
		End If
	End if %>   
      </div>
    </div></td>
  </tr>
</table>
</body>
</html>
__________________
Saludos
  Responder Con Cita
Antiguo 12/04/05, 08:36:23   #103 (permalink)
sjam7 tiene un saldo positivo de karma
 
Registrado: nov 2002
Ubicación: Guadalajara, Mexico
Mensajes: 3.255
Contactar con sjam7 a través de MSN Contactar con sjam7 a través de Yahoo
sjam7 is offline  
Obtener el codigo de otras paginas con XML

Este script sirve para tomar el codigo HTML de otras paginas para tomar informacion que podamos utilizar en nuestras paginas (no se si sea legal o no) pero este ejemplo es con el fin de utilizarlo para saber por ejemplo cotizaciones del dolar desde paginas de bancos, Pageranks desde paginas que dan el servicio ese, etc...

En este ejemplo sirve para tomar el PR desde una pagina llamada OnlyPHP (¿que cosas no?) OJO, es en ASP

Código PHP:
<%
on error resume next
Set xml 
Server.CreateObject("Microsoft.XMLHTTP")
liga="www.forosdelweb.com"
xml.Open "GET""http://www.onlyphp.com/pagerank/index.php?url=http://"&liga&"&email=correo%40hotmail.com&action=Get+Page+Rank"False
xml
.Send
Cadena 
CSTR(xml.responseText)
     
PosIni1 InStr(Cadena,"src=images/pr")
     
PosIni2 InStr(PosIni1,Cadena,"pr")
     
PosFin  InStr(PosIni2Cadena,".gif")

   
Ranking replace(MID(CadenaPosIni2PosFin-PosIni2),"pr","")

Response.write "PR: " Ranking

if err<>0 then
response
.write "<br>"&err.description
response
.write "<br>"&cadena
end 
if
%> 
Este es para sacar la cotizacion del dollar a pesos de un banco (HSBC) de Mexico
Código PHP:
<%
  
Response.Buffer True
  Set xml 
Server.CreateObject("Microsoft.XMLHTTP")
  
xml.Open "GET""http://dsrefa01.hsbc.com.mx/aptrix/InternetPub.nsf/Content/TasasSplash"False
  xml
.Send
     Cadena 
CSTR(xml.responseText)
     
PosIni1 InStr(Cadena,"DOLAR AMERICANO")
     
PosIni2 InStr(PosIni1,Cadena,"$")
     
PosFin  InStr(PosIni2Cadena,"<")
   
DolarCompra MID(CadenaPosIni2PosFin-PosIni2)
     
PosIni1 PosFin
     PosIni2 
InStr(PosIni1,Cadena,"$")
     
PosFin  InStr(PosIni2Cadena,"<")
   
DolarVenta MID(CadenaPosIni2PosFin-PosIni2)

Set xml Nothing
%> 
y para ponerlo en pantalla (el precio del dolar) es asi:
A la compra
<%=FormatCurrency(CDbl(MID(DolarCompra,InStr(Dolar Compra,";")+1,LEN(DolarCompra))),2)%>
A la venta
<%=FormatCurrency(CDbl(MID(DolarVenta,InStr(DolarV enta,";")+1,LEN(DolarVenta))),2)%>

espero les sirva y puedan adaptar a mas cosas, saludos
__________________
CreandoWebs.com
www.creandowebs.com
PLANTILLAS TEMPLATEMONSTER CON 10% DE DESCUENTO

Última edición por sjam7 fecha: 05/09/05 a las 17:00:41.
  Responder Con Cita
Antiguo 17/04/05, 16:10:06   #104 (permalink)
El_Metallick tiene algunos puntos positivos de karma
 
Registrado: nov 2002
Ubicación: Santiago, Chile
Mensajes: 1.588
Contactar con El_Metallick a través de MSN
El_Metallick is offline  
¿Como hacer un sistema de valoración, ese con estrellitas que siempre vemos en la red?

sistema de valoración en asp
__________________
Haz la guerra en la cama y el amor donde se te de la gana...
El tiempo es el mejor maestro, lo único malo es que te mata...¡¡Aprovecha tu tiempo!!
  Responder Con Cita
Antiguo 19/04/05, 22:48:45   #105 (permalink)
dobled ha deshabilitado el Karma
 
Registrado: nov 2002
Ubicación: 34°10'55.23S70°42'22.83W
Mensajes: 1.258
Contactar con dobled a través de MSN Send a message via Skype™ to dobled
dobled is offline  
Cita:
Originalmente publicado por El_Metallick
¿Como hacer un sistema de valoración, ese con estrellitas que siempre vemos en la red?

sistema de valoración en asp

me debes los creditos
solo era una broma
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.

Última edición por dobled fecha: 19/04/05 a las 22:58:18.
  Responder Con Cita
Antiguo 19/04/05, 22:56:20   #106 (permalink)
dobled ha deshabilitado el Karma
 
Registrado: nov 2002
Ubicación: 34°10'55.23S70°42'22.83W
Mensajes: 1.258
Contactar con dobled a través de MSN Send a message via Skype™ to dobled
dobled is offline  
Como seleccionar n Registros y mostrarlos simpre en distinto orden

Solo para BD SQL

SQL trae esta funcion muy util ahorra programación, ya me estaba buscando codigo para no mostrar siempre el mismo orden de los productos de portada pero con NEWID() lo tienes


Código:
SQL="SELECT TOP 6 * FROM pcm_productos ORDER By NEWID()"
__________________
Usa títulos específicos y con sentido
En las listas de correo o en los grupos de noticias, la cabecera del mensaje es tu oportunidad de oro para atraer la atención de expertos cualificados en aproximadamente 50 caracteres o menos. No los desperdicies en balbuceos como "Por favor ayúdame" (de "POR FAVOR AYÚDAME!!!" ya ni hablamos). No intentes impresionarnos con lo profundo de tu angustia; mejor usa ese preciado espacio para una descripción lo más concisa posible del problema.