Jump to content

Need help with script which will keep member logged in using cron


Recommended Posts

I run a vBulletin forum and we have a "robot" member we'd like to keep logged in, so I am trying to develop a php file which will log this member in, it will be called every 2 hours via cron to update this members info in the database.

 

I am not a programmer, this is just guess work... I know I'm way off but this did at least edit the time but to the wrong date, Dec 31st, 1969.

 

<?php

// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$result = mysql_query("UPDATE user SET lastactivity='TIMENOW', lastvisit='TIMENOW' WHERE userid = '503'") 
or die(mysql_error());  

$result = mysql_query("SELECT * FROM user WHERE userid = '503'")
or die(mysql_error()); 

?>

 

If anyone can help guide me to get this working, I'd be very thankful. :)

try that babes

 

<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$result = mysql_query("SELECT * FROM user WHERE userid = '503'")
or die(mysql_error()); 

$row=mysql_fetch_array($result);

$time_now=date("dmy");
//$time_now=strtotime(date("dmy"));// if timestamp in database

$result = mysql_query("UPDATE user SET lastactivity='".$row['time_now']."', lastvisit='$time_now'  userid = '".$row['userid']."'") 
or die(mysql_error());  

?>

 

<?php echo strtotime(date("dmy"));?>

 

time stamp example babes.........

Ken2k7, I got TIMENOW from the vbulletin functions_login.php script.

 

redarrow, Thanks :) I've copied the code you gave and tried to run it but get this error: "You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'userid = '503'' at line 1"

sorry babes

<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$result = mysql_query("SELECT * FROM user WHERE userid = '503'")
or die(mysql_error()); 

$row=mysql_fetch_array($result);

$time_now=mysql_real_escape_string($_POST['time_now']);
$userid=mysql_real_escape_string($_POST['userid']);

$time_now=date("dmy");
//$time_now=strtotime(date("dmy"));// if timestamp in database

$result = mysql_query("UPDATE user SET lastactivity=' ".$row['time_now']." ', 
lastvisit='$time_now' WHERE userid=' ".$row['userid']." ' ") 
or die(mysql_error());  

?>

 

post your database config please

edited


<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$result = mysql_query("SELECT * FROM user WHERE userid = '503'")
or die(mysql_error()); 

$row=mysql_fetch_array($result);

$time_now=mysql_real_escape_string($_POST['time_now']);
$userid=mysql_real_escape_string($_POST['userid']);

$time_now=date("dmy");
//$time_now=strtotime(date("dmy"));// if timestamp in database

$result = mysql_query("UPDATE user SET lastactivity=' ".$row['time_now']." ', 
lastvisit='$time_now' WHERE userid=' ".$row['userid']." ' ") 
or die(mysql_error());  

?>

 

 

post database config babes

Here's the database config file

 

<?php
/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.6.8 Patch Level 2 - Licence Number VBFFF3F066
|| # ---------------------------------------------------------------- # ||
|| # All PHP code in this file is ©2000-2007 Jelsoft Enterprises Ltd. # ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/

/*-------------------------------------------------------*\
| ****** NOTE REGARDING THE VARIABLES IN THIS FILE ****** |
+---------------------------------------------------------+
| If you get any errors while attempting to connect to    |
| MySQL, you will need to email your webhost because we   |
| cannot tell you the correct values for the variables    |
| in this file.                                           |
\*-------------------------------------------------------*/

//	****** DATABASE TYPE ******
//	This is the type of the database server on which your vBulletin database will be located.
//	Valid options are mysql and mysqli, for slave support add _slave.  Try to use mysqli if you are using PHP 5 and MySQL 4.1+
// for slave options just append _slave to your preferred database type.
$config['Database']['dbtype'] = 'mysql';

//	****** DATABASE NAME ******
//	This is the name of the database where your vBulletin will be located.
//	This must be created by your webhost.
$config['Database']['dbname'] = 'vbulletin';

//	****** TABLE PREFIX ******
//	Prefix that your vBulletin tables have in the database.
$config['Database']['tableprefix'] = '';

//	****** TECHNICAL EMAIL ADDRESS ******
//	If any database errors occur, they will be emailed to the address specified here.
//	Leave this blank to not send any emails when there is a database error.
$config['Database']['technicalemail'] = 'me@email.com';

//	****** FORCE EMPTY SQL MODE ******
// New versions of MySQL (4.1+) have introduced some behaviors that are
// incompatible with vBulletin. Setting this value to "true" disables those
// behaviors. You only need to modify this value if vBulletin recommends it.
$config['Database']['force_sql_mode'] = false;



//	****** MASTER DATABASE SERVER NAME AND PORT ******
//	This is the hostname or IP address and port of the database server.
//	If you are unsure of what to put here, leave the default values.
$config['MasterServer']['servername'] = 'localhost';
$config['MasterServer']['port'] = 3306;

//	****** MASTER DATABASE USERNAME & PASSWORD ******
//	This is the username and password you use to access MySQL.
//	These must be obtained through your webhost.
$config['MasterServer']['username'] = 'xxxxxxx';
$config['MasterServer']['password'] = 'xxxxxxx;

//	****** MASTER DATABASE PERSISTENT CONNECTIONS ******
//	This option allows you to turn persistent connections to MySQL on or off.
//	The difference in performance is negligible for all but the largest boards.
//	If you are unsure what this should be, leave it off. (0 = off; 1 = on)
$config['MasterServer']['usepconnect'] = 0;



//	****** SLAVE DATABASE CONFIGURATION ******
//	If you have multiple database backends, this is the information for your slave
//	server. If you are not 100% sure you need to fill in this information,
//	do not change any of the values here.
$config['SlaveServer']['servername'] = '';
$config['SlaveServer']['port'] = 3306;
$config['SlaveServer']['username'] = '';
$config['SlaveServer']['password'] = '';
$config['SlaveServer']['usepconnect'] = 0;



//	****** PATH TO ADMIN & MODERATOR CONTROL PANELS ******
//	This setting allows you to change the name of the folders that the admin and
//	moderator control panels reside in. You may wish to do this for security purposes.
//	Please note that if you change the name of the directory here, you will still need
//	to manually change the name of the directory on the server.
$config['Misc']['admincpdir'] = 'admincp';
$config['Misc']['modcpdir'] = 'modcp';

//	Prefix that all vBulletin cookies will have
//	Keep this short and only use numbers and letters, i.e. 1-9 and a-Z
$config['Misc']['cookieprefix'] = 'bb';

//	******** FULL PATH TO FORUMS DIRECTORY ******
//	On a few systems it may be necessary to input the full path to your forums directory
//	for vBulletin to function normally. You can ignore this setting unless vBulletin
//	tells you to fill this in. Do not include a trailing slash!
//	Example Unix:
//	  $config['Misc']['forumpath'] = '/home/users/public_html/forums';
//	Example Win32:
//	  $config['Misc']['forumpath'] = 'c:\program files\apache group\apache\htdocs\vb3';
$config['Misc']['forumpath'] = '';



//	****** USERS WITH ADMIN LOG VIEWING PERMISSIONS ******
//	The users specified here will be allowed to view the admin log in the control panel.
//	Users must be specified by *ID number* here. To obtain a user's ID number,
//	view their profile via the control panel. If this is a new installation, leave
//	the first user created will have a user ID of 1. Seperate each userid with a comma.
$config['SpecialUsers']['canviewadminlog'] = '1';

//	****** USERS WITH ADMIN LOG PRUNING PERMISSIONS ******
//	The users specified here will be allowed to remove ("prune") entries from the admin
//	log. See the above entry for more information on the format.
$config['SpecialUsers']['canpruneadminlog'] = '1';

//	****** USERS WITH QUERY RUNNING PERMISSIONS ******
//	The users specified here will be allowed to run queries from the control panel.
//	See the above entries for more information on the format.
//	Please note that the ability to run queries is quite powerful. You may wish
//	to remove all user IDs from this list for security reasons.
$config['SpecialUsers']['canrunqueries'] = '1';

//	****** UNDELETABLE / UNALTERABLE USERS ******
//	The users specified here will not be deletable or alterable from the control panel by any users.
//	To specify more than one user, separate userids with commas.
$config['SpecialUsers']['undeletableusers'] = '';

//	****** SUPER ADMINISTRATORS ******
//	The users specified below will have permission to access the administrator permissions
//	page, which controls the permissions of other administrators
$config['SpecialUsers']['superadministrators'] = '1';

// ****** DATASTORE CACHE CONFIGURATION *****
// Here you can configure different methods for caching datastore items.
// vB_Datastore_Filecache  - for using a cache file
// $config['Datastore']['class'] = 'vB_Datastore_Filecache';
// vB_Datastore_Memcached - for using a Memcache server
// It is also necessary to specify the hostname or IP address and the port the server is listening on
/*
$config['Datastore']['class'] = 'vB_Datastore_Memcached';
$i = 0;
// First Server
$i++;
$config['Misc']['memcacheserver'][$i]		= '127.0.0.1';
$config['Misc']['memcacheport'][$i]			= 11211;
$config['Misc']['memcachepersistent'][$i]	= true;
$config['Misc']['memcacheweight'][$i]		= 1;
$config['Misc']['memcachetimeout'][$i]		= 1;
$config['Misc']['memcacheretry_interval'][$i] = 15;
*/
// ****** The following options are only needed in special cases ******

//	****** MySQLI OPTIONS *****
// When using MySQL 4.1+, MySQLi should be used to connect to the database.
// If you need to set the default connection charset because your database
// is using a charset other than latin1, you can set the charset here.
// If you don't set the charset to be the same as your database, you
// may receive collation errors.  Ignore this setting unless you
// are sure you need to use it.
// $config['Mysqli']['charset'] = 'utf8';

//	Optionally, PHP can be instructed to set connection parameters by reading from the
//	file named in 'ini_file'. Please use a full path to the file.
//	Example:
//	$config['Mysqli']['ini_file'] = 'c:\program files\MySQL\MySQL Server 4.1\my.ini';
$config['Mysqli']['ini_file'] = '';

// Image Processing Options
// Images that exceed either dimension below will not be resized by vBulletin. If you need to resize larger images, alter these settings.
$config['Misc']['maxwidth'] = 2592;
$config['Misc']['maxheight'] = 1944;

/*======================================================================*\
|| ####################################################################
|| # Downloaded: 01:31, Sat Dec 8th 2007
|| # CVS: $RCSfile$ - $Revision: 16258 $
|| ####################################################################
\*======================================================================*/

try that please

 

edited try agin

 


<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$time_now=mysql_real_escape_string($_POST['time_now']);
$userid=mysql_real_escape_string($_POST['userid']);

$time_now=time();

$result = mysql_query("UPDATE user SET lastactivity='$time_now', 
lastvisit='$time_now' WHERE userid='503' ") 
or die(mysql_error());  

?>

copy and try agin i edited it

 

<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$time_now=mysql_real_escape_string($_POST['time_now']);
$userid=mysql_real_escape_string($_POST['userid']);

$time_now=time();

$result = mysql_query("UPDATE user SET lastactivity='$time_now', 
lastvisit='$time_now' WHERE userid='503' ") 
or die(mysql_error());  

?>

well I would try..  what is the $time_now for and the $userid for ?

 

<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');


$result = mysql_query("UPDATE user SET lastactivity=now(), 
lastvisit=now() WHERE userid='503' ") 
or die(mysql_error());  

?>

1 min babes

 

what this do babes any good...



<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$row=mysql_fetch_array($result);

$time_now=mysql_real_escape_string($_POST['time_now']);
$userid=mysql_real_escape_string($_POST['userid']);

$time_now=date("dmy");
//$time_now=strtotime(date("dmy"));// if timestamp in database

$result = mysql_query("UPDATE user SET lastactivity=' ".$row['time_now']." ', 
lastvisit='$time_now' WHERE userid='503' ") 
or die(mysql_error());  


$result1 = mysql_query("SELECT * FROM user WHERE userid = '503'")
or die(mysql_error()); 

while($row1=mysql_fetch_array($result1)){

$last_act=date("d/m/y/ h:i:s",$row['lastactivity']);

echo "This user with the userid was last on:  
<br> userid".$row1['userid']."       <br>
     username:".$row1['username']."  <br>
     lastactivity: $last_act       <br>";
}

?>

try that sorry edted it wrong lol

 

OK FULLY WORKS NOW BABES



<?php
// ######################### REQUIRE BACK-END ############################
require_once('./global.php');

$time_now=mysql_real_escape_string($_POST['time_now']);
$userid=mysql_real_escape_string($_POST['userid']);

$time_now=time();
//$time_now=strtotime(date("dmy"));// if timestamp in database

$result = mysql_query("UPDATE user SET lastactivity='$time_now', 
lastvisit='$time_now' WHERE userid='503' ") 
or die(mysql_error());  


$result1 = mysql_query("SELECT * FROM user WHERE userid = '503'")
or die(mysql_error()); 

while($row1=mysql_fetch_assoc($result1)){

$last_act=date("d/m/y/ h:i:s",$row['lastactivity']);

echo "This user with the userid was last on:  
<br> userid".$row1['userid']."       <br>
     username:".$row1['username']."  <br>
     lastactivity: $last_act       <br>";
}

?>

Thanks red, for some reason the echo is making the date come out like this: lastactivity: 31/12/69/ 07:00:00

 

I won't need to see that anyway since I'll be using a cronjob to run the script, I'll never get to see the result except on the member profile, but it's a nice touch. :)

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.