| |||
![]() Tengo una pagina donde se inicia sesion eso esta perfecto la cuestion es la siguiente: tengo 12 paises de los cuales cada uno tiene un password y login para iniciar sesion de alli muestro una pagina con dos opciones donde muestra ver curriculums y ver promotoras la idea es que si inicio sesion con argentina por ejemplo me muestre informacion solo de argentina, en mi bd tengo los siguientes campos: usuario : argentina, password: argen, cod_pais:10 (esta esta relacionada a la tabla pais el codigo 10 es de argentina) como hago para traerme informacion solo de ese pais?? |
| |||
![]() En mi bd yo tengo los siguientes campos usuario, password y pais (este solo contiene el nombre del pais) como hago para que cuando un usuario inicie sesion este pueda ver solo informacion de pais que pertenece, solo existe un usuario por pais . |
| ||||
Para evitar que manipulen la barra de direcciones de tu navegador, cambiando el código del pais, puedes hacer algo como esto (es la idea con lo que debes quedarte)... Seguramente tienes algo así cuando se valida el usuario: session("validado")=true, o así: session("validado")=1, o similar. Bueno, pues una vez validado, antes de cerrar el recordset, puedes hacer lo siguiente, redefiniendo la sesión "validado", por una concatenación de la sesión y el código del país (si te da error, quizás debas pasar los datos numéricos a string, no en la BD, sino cuando redefines la sesión): session("validado") = session("validado") & "_" & rs("cod_pais") Luego haces un split para separar los valores de la matriz, con el separador "_", y tienes como primer elemento, el valor de la sesión para un usuario registrado (true, o 1, según el ejemplo de antes), y como segundo elemento, el código del país. Con el primer elemento, le permites la entrada en las secciones de uso restringido, y con este segundo elemento, solo le permites acceder a aquellos datos correspondientes a ese país. Puedes jugar en todas las páginas con estos 2 elementos, ya que forman parte de la sesión para los usuarios validados. Esto de concatenar, te propongo que lo hagas así, para no tener dos sesiones, ...que también podría ser, tan solo tienes que poner session("pais") = rs("cod_pais"), y no tener por tanto, 2 sesiones para cada usuario que se valida (una para saber si es true o 1, siguiendo el ejemplo que te ponía, y otra para saber de que país es: 1, 2, 3, ...12). No sé si los maestros tendrán alguna idea mejor... |
| |||
Creo q no me explique bien hay 12 personas de 12 paises diferentes cada uno con un login y un password al logearse cualquiera de estas debe pasar a una pagina donde pueda ver curriculums y promotoras pero solo del pais que pertenece. Ejm: login: argentina, password :argen (solo veo curriculums y promotoras de argentina) entonces tengo una bd que se llama administrador que tiene los campos usuario, password y nombre(del pais) cual seria la sentencia para que si la persona de argentina (ejm) se logea solo vea informacion de este pais la sentencia que tengo para ver solo argentina es esta sql = "select distinct area_v.cod_area(esto se refiere a la carrera de estudio), area_v.nom_area (nombre de la carrera de estudio)FROM area_v (tabla que almacena las carreras de estudio y codigo de la carrera)RIGHT JOIN curriculumv (tabla principal que tiene informacion general de la persona)ON area_v.cod_area = curriculumv.cod_area where (paises = 'el salvador')" |
| |||
Fijense ![]() if request.QueryString ("nombre") = "argentina" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'argentina') AND (password = 'even2005') AND (nombre = 'argentina')" elseif request.QueryString ("nombre") = "brazil" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'brazil') AND (password = 'even2005') AND (nombre = 'brazil')" else sql = "select distinct area_v.cod_area, area_v.nom_area FROM area_v RIGHT JOIN curriculumv ON area_v.cod_area = curriculumv.cod_area where paises = ('panama')" end if set rs = con.Execute(sql) %> Algo asi es lo que necesito!!! |
| |||
sip cuando me logueo no tengo problema la cuestion es q no se traerme la informacion especifica de un pais, se supone que al loguearse debe traer informacion solo del pais que perteneces |
| |||
este es el codigo para loguearse <% 'Set Conn = Server.CreateObject("ADODB.Connection") 'sConnection = "Provider=Microsoft.Jet.OLEDB.4.0;" & _ ' "Data Source=\\premfs5\sites\premium10\rodovias\database \db1.mdb;" & _ ' "Persist Security Info=False" 'Conn.Open(sConnection) Set Con = Server.CreateObject ("ADODB.Connection") Con.Open "driver={SQL Server};server=website; database=evenres; uid=sa;pwd=sa" %> <% dim login dim password dim sSQL dim rs login = request.form("txtLogin") password = request.form("txtPassword") if login = "" or password = "" then response.redirect "sesion.asp" else sSQL= " SELECT administrador.login, administrador.nombre, administrador.password FROM administrador WHERE administrador.login='"&login&"' and administrador.password='"&password&"';" set rs = con.Execute(sSQL) if rs.eof and rs.bof then response.redirect "administradorno.asp" else dim val dim snombre snombre=rs.fields("nombre") Session("username") = rs.fields("nombre") response.redirect "sesion_pass.asp" end if rs.close set rs = nothing end if %> |
| ||||
en tu tabla administrador tenes el campo pais??? si es asi mandalo como session session("pais") = rs.fields("pais") luego en la pagina session_pass.asp tenes que recuperarla pones pais = Session("pais") luego en tus sql mostras select * from tus tablas where pais = "& pais &"
__________________ JuanRa Pérez San Salvador, El Salvador |
| ||||
pudes agregar un session("pais") luego en session_pass.asp dependiendo del pais
Código:
select case session("pais") case "argentina" mostrar_informacion_de_argentina case "brasil" mostrar_informacion_de_brasil case else ' lo puedes redireccionar al login end select
__________________ Manual de ASP Avanzado ;-) |
| |||
Sentencia Necesito una sentencia parecida a esta pero que funcione <% if request.QueryString ("nombre") = "argentina" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'argentina') AND (password = 'even2005') AND (nombre = 'argentina')" elseif request.QueryString ("nombre") = "brazil" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'brazil') AND (password = 'even2005') AND (nombre = 'brazil')" elseif request.QueryString ("nombre") = "colombia" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'colombia') AND (password = 'even2005') AND (nombre = 'colombia')" elseif request.QueryString ("nombre") = "costa rica" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'costa rica') AND (password = 'even2005') AND (nombre = 'costa rica')" elseif request.QueryString ("nombre") = "ecuador" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'ecuador') AND (password = 'even2005') AND (nombre = 'ecuador')" elseif request.QueryString ("nombre") = "el salvador" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'el salvador') AND (password = 'even2005') AND (nombre = 'el salvador')" elseif request.QueryString ("nombre") = "estados unidos" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'estados unidos') AND (password = 'even2005') AND (nombre = 'estados unidos')" elseif request.QueryString ("nombe") = "mexico" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'mexico') AND (password = 'even2005') AND (nombre = 'mexico')" elseif request.QueryString ("nombre") = "panama" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'panama') AND (password = 'even2005') AND (nombre = 'panama')" elseif request.QueryString ("nombre") = "puerto rico" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'puerto rico') AND (password = 'even2005') AND (nombre = 'puerto rico')" elseif request.QueryString ("nombre") = "republica dominicana" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'republica dominicana') AND (password = 'even2005') AND (nombre = 'republica dominicana')" elseif request.QueryString ("nombre") = "venezuela" then sql= "SELECT login, password, nombre FROM administrador WHERE (login = 'venenzuela') AND (password = 'even2005') AND (nombre = 'venezuela')" else sql = "select distinct area_v.cod_area, area_v.nom_area FROM area_v RIGHT JOIN curriculumv ON area_v.cod_area = curriculumv.cod_area" end if set rs = con.Execute(sql) %> |
| |||
Hola, yo no se mucho de programación,pero si le haces un if a cada botón del pais, el cual te llevará la página con la información y los links correspondientes a ese pais? Perdon si no tiene nad que ver, pero por ahíte sirve Saludos |
| ||||
no se que mas puedan ayudarte
__________________ Manual de ASP Avanzado ;-) |
| |||
Lo que debes hacer es lo siguiente : En la pagina con el formulario procedes a validar el login y la password; en donde realizas la validacion de tal manera que si esta informacion es la correcta, extraes el codigo de pais Algo asi.. La pagina se llama login.asp <% OPTION EXPLICIT Server.ScriptTimeout = 90 Response.Buffer = true Response.Expires = -1 Response.ExpiresAbsolute = Now() - 2 Response.AddHeader "pragma","no-cache" Response.AddHeader "cache-control","private" Response.CacheControl = "no-cache" %> <html> <head> <title>ACCESS CONTROL</title> <script language="JavaScript" src="js/cvc_usuario.js"></script> </head> <% Dim mensaje,usuario,pass,ret,codpais Dim Conn,rs,sql If ( Request("usr") = "" ) Then session("login") = 0 else usuario = Request("usr") pass = Request("pwd") Valida_Usuario usuario, pass end if %> Defines un form %> <FORM METHOD="POST" NAME="loginFrm" ACTION="login.asp"> <% Sub Valida_Usuario( Byref w_usr, Byref w_pwd ) '---------------------- if InStr(w_usr,"'") or InStr(w_usr,"""") then session("intentos") = session("intentos") + 1 mensaje = "INVALID USERNAME" else if InStr(w_pwd,"'") then session("intentos") = session("intentos") + 1 mensaje = "INVALID PASSWORD" else mensaje = "" connect() ejecuta ("spa_existe_login '" & w_usr & "'" & ",'" & w_pwd & "'") ret = rs("RETORNO") if ret = 1 then session("intentos") = session("intentos") + 1 mensaje = "WRONG USERNAME OR PASSWORD" else codpais = rs("CODPAIS") mensaje = "" session("intentos") = 0 session("login") = ucase(w_usr) session("codpais") = codpais response.redirect "/xxxx/cv_prom.asp" end if end if end if ' disconnect() End sub %> Aca llamo a rutinas de connect y ejecuta que estan en una pagina que tengo que centraliza las operaciones con el sql... tu cambiala por el connectstring correspondiente y el procedimiento almacenado lo cambias por el select directo en donde extraes el codpais que corresponda para el login y password Luego en la otra pagina llamada cv.asp (por dar un nombre) Ya que tienes validado el login con su password solo necesitas usar la variable de sesion("codpais") que ya esta inicializada; luego solo haces un solo select parametrico en donde seleccionas todos los CV o PROMOTORAS en donde la informacion corresponda al codpais que tienes en tu variable de sesion y armas tu tabla html con la salida de esta informacion. Se me olvidó que debes de verificar dependiendo la opcion si es CV o PROM... asi seria mas o menos Espero se entienda |