Solved

Send data from form to webpage

Posted on 2007-11-29
8
736 Views
Last Modified: 2009-04-01
I have an access database that is used as a "one-stop-shop" if you will for all resources that my team uses. One thing that I want to do is have each user store their username and password for a specific website in the database. Then create a link on a form that they can click on, and they will automatically be logged into the website using the credentials they stored in the database.

I have created a customized login HTML webpage for this website where all of the input fields are hidden and the login form is set to submit on page load. The only problem I am having is getting the login data from MS Access to the webpage.

The custom HTML page is stored on a local server. I tried creating a link in MS ACCESS like:

\\myserver\folder1\folder2\login.html?username=[username]&password=[password]

and sending the login data to the webpage that way and then pulling it into the webpage with javascript but it doesn't work. Is this because I am trying to launch the webpage from a local server and not a web server? Is there another way to do this?

This topic covers several areas so I will try to assign it as best as possible.
0
Comment
Question by:MDauphinais1
  • 4
  • 3
8 Comments
 
LVL 38

Accepted Solution

by:
PaulHews earned 500 total points
Comment Utility
Assuming you want them to be able to browse the secured website after logging in, then the only way to login is through the browser.  

If they are using IE, you may be able to use automation to fill in fields in a login page and submit.  If they are using firefox, you may be stuck with a "SendKeys" type of solution.

IE automation(basic example):

Set IE = CreateObject("InternetExplorer.Application")
IE.Navigate "http://localhost/login.html"
IE.Visible = True
Do Until IE.ReadyState = 4
Loop
IE.Document.All.Item("txtUsername").Value = "user"
IE.Document.All.Item("txtPassword").Value = "pass"
IE.Document.All.Item("btnSubmit").Click
0
 

Author Comment

by:MDauphinais1
Comment Utility
Thanks PaulHews, that'll work great!

Is there a way to force the webpage to open on top of everything else? Right now it is opening minimized in the taskbar.
0
 
LVL 8

Expert Comment

by:Barry62
Comment Utility
Window.SetOrder(IE.hWnd,  HWND_TOPMOST)
0
 

Author Comment

by:MDauphinais1
Comment Utility
I get an error requiring an = sign.
0
What Is Threat Intelligence?

Threat intelligence is often discussed, but rarely understood. Starting with a precise definition, along with clear business goals, is essential.

 
LVL 38

Expert Comment

by:PaulHews
Comment Utility
Really?  When I run the sample code above it shows the window over my app window.

You can set position for the IE object:

IE.Left = 20
IE.Top = 20
IE.Height = 600
IE.Width = 800

You can also try something like:

AppActivate IE.Document.Title & " - Windows Internet Explorer"
0
 

Author Comment

by:MDauphinais1
Comment Utility
PaulHews, with the AppActivate IE flashes in front for a second and then ducks back behind MS Access. Modifying the width, height, etc. just keeps it beind the whole time like before.
0
 
LVL 38

Assisted Solution

by:PaulHews
PaulHews earned 500 total points
Comment Utility
Sounds like Access doesn't want to lose focus... Try:
Option Explicit

Private Declare Function SetWindowPos Lib "user32" _

         (ByVal hwnd As Long, ByVal hWndInsertAfter As Long, _

          ByVal x As Long, ByVal y As Long, ByVal cx As Long, _

          ByVal cy As Long, ByVal wFlags As Long) As Long
 

    Private Const SWP_NOSIZE = &H1

    Private Const SWP_NOMOVE = &H2

    Private Const HWND_TOPMOST = -1

    Private Const HWND_NOTOPMOST = -2
 

Private Sub Command1_Click()  'Whatever sub you need it in'

    Dim IE As Object
 

    Set IE = CreateObject("InternetExplorer.Application")

    IE.Navigate "http://localhost/login.html"

    

    Do Until IE.ReadyState = 4

    Loop

    

    SetWindowPos IE.hwnd, HWND_TOPMOST, 100, 0, 600, 800, vbNormalFocus

    IE.Visible = True

    

    IE.Document.All.Item("txtUsername").Value = "user"

    IE.Document.All.Item("txtPassword").Value = "pass"

    IE.Document.All.Item("btnSubmit").Click
 

  

End Sub

Open in new window

0
 

Author Comment

by:MDauphinais1
Comment Utility
That works perfectly!  Thank you.
0

Featured Post

What Security Threats Are You Missing?

Enhance your security with threat intelligence from the web. Get trending threat insights on hackers, exploits, and suspicious IP addresses delivered to your inbox with our free Cyber Daily.

Join & Write a Comment

JavaScript has plenty of pieces of code people often just copy/paste from somewhere but never quite fully understand. Self-Executing functions are just one good example that I'll try to demystify here.
Describes a method of obtaining an object variable to an already running instance of Microsoft Access so that it can be controlled via automation.
The viewer will learn how to dynamically set the form action using jQuery.
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.

744 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now