pmbs
01-19-2015, 06:50 PM
I know this has been asked before but for the life of me I can't find an workable solution. How do you log in users outside of VB4? We have a private intranet site and I'm adding private forums to this.
I will be creating the users and will know their passwords (they will not know them). I need to log them in. I've done this in vb3 a number of years ago but can't get it to work in vb4. I'm working with php.
UPDATE
Figured it out. This is what worked for me using a combination of php and javscript to auto log them into the forums when they click the forums button from our website:
php
$hasher = md5('users password');
$destination = "'https://yourpathtothe/forums/login.php?do=login";
$params = "{
'url':'index.php',
'vb_login_username':'users login',
'vb_login_password':'".$hasher."',
'vb_login_md5password':'".$hasher."',
'vb_login_md5password_utf':'".$hasher."',
'do':'login',
'securitytoken':'guest',
's':''
}";
javascript
<html>
<head>
<script>
function post_to_url(path,params) {
method = "post";
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
//Move the submit function to another variable
//so that it doesn't get overwritten.
form._submit_function_ = form.submit;
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form._submit_function_();
}
window.onload = function() {
post_to_url('<?php echo $destination; ?>',<?php echo $params; ?>);
}
</script>
</head>
<body>
</body>
</html>
Not the most elegant solution but hopefully it will help others get started.
I will be creating the users and will know their passwords (they will not know them). I need to log them in. I've done this in vb3 a number of years ago but can't get it to work in vb4. I'm working with php.
UPDATE
Figured it out. This is what worked for me using a combination of php and javscript to auto log them into the forums when they click the forums button from our website:
php
$hasher = md5('users password');
$destination = "'https://yourpathtothe/forums/login.php?do=login";
$params = "{
'url':'index.php',
'vb_login_username':'users login',
'vb_login_password':'".$hasher."',
'vb_login_md5password':'".$hasher."',
'vb_login_md5password_utf':'".$hasher."',
'do':'login',
'securitytoken':'guest',
's':''
}";
javascript
<html>
<head>
<script>
function post_to_url(path,params) {
method = "post";
var form = document.createElement("form");
form.setAttribute("method", method);
form.setAttribute("action", path);
//Move the submit function to another variable
//so that it doesn't get overwritten.
form._submit_function_ = form.submit;
for(var key in params) {
if(params.hasOwnProperty(key)) {
var hiddenField = document.createElement("input");
hiddenField.setAttribute("type", "hidden");
hiddenField.setAttribute("name", key);
hiddenField.setAttribute("value", params[key]);
form.appendChild(hiddenField);
}
}
document.body.appendChild(form);
form._submit_function_();
}
window.onload = function() {
post_to_url('<?php echo $destination; ?>',<?php echo $params; ?>);
}
</script>
</head>
<body>
</body>
</html>
Not the most elegant solution but hopefully it will help others get started.