Go Premium for a chance to win a PS4. Enter to Win

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 365
  • Last Modified:

using as2 and php to record ip addresses

i just wanna record the ip address of any clicking a button. can i simply use this?:

on (release) {
      _root.sendAndLoad("visit.php", this, "POST");      
}

there are no errors on this AS2 code. but i'm not getting anything sent via email nor loaded on my server. what am i doing wrong? thanks.

btw, the config.php works (got stuff working from before) and here's the php code:
<?php
 
    include "config.php";
 
	$to 		= "info@mysite.com";
	$sFrom		= "info@mysite.com";
	$header 	= "From: MYSITE2010 Visit Tracker<" . $sFrom . ">\r\n";
 
	$sIp	= $_SERVER ['REMOTE_ADDR'];
 
	$sQuery = "SELECT IDREC FROM tblVisit ORDER BY IDREC DESC LIMIT 1";
	$rResult = mysql_query ($sQuery, $link);
 
	$row = mysql_fetch_assoc($rResult);
 
	$IDREC  = 1;
 
	if (!empty($row)) {
		$IDREC = (int)$row['IDREC'] + 1;
	}
 
	$sQuery = "INSERT INTO tblVisit SET IDREC=" . $IDREC . ", IPADDRESS='" . $sIp . "', DATETIME= '" . date(DATE_RFC822) . "'";
	mysql_query ($sQuery);
 
	$subject	= "MYSITE2010 Visit Made";
	$body 		= "New visit details : \n\nIP Address : " . $sIp . "\n\nDate :" . date(DATE_RFC822);
 
	mail ($to, $subject, $body, $header);
		
	echo("true");
?>

Open in new window

0
ironpen45
Asked:
ironpen45
  • 3
  • 2
2 Solutions
 
courtthreeCommented:
I think your sendAndLoad call might be the problem.

I'm just gonna write a snippet for you to try:
// Put this on the root
var lvSend:LoadVars = new LoadVars();
var lvReceive:LoadVars = new LoadVars();
 
function callLV():Void {
	lvSend.sendAndLoad("visit.php", lvReceive, "POST");
};
 
// Amend your button script to this
on (release) {
      _root.callLV();      
}
 
// Also, check your file path in that the swf, its HTML container 
// and the script are all in the same directory

Open in new window

0
 
DerkArtsCommented:
courtthree is right.

Secondly, you can log if the POST came in by using the attached code:

Thirdly, take a look at your mysql, not sure what your doing there, but i recommend a google search for "ON DUPLICATE KEY UPDATE" that will save you some unneeded lines.

Also, check that you have a smtp server running to send the email, check my snippet

ob_start();
var_dump($_POST);
$log = ob_get_clean();
error_log($log, 3, "./error.log");
 
//for the mail command, needs php 5
 if(!mail ($to, $subject, $body, $header)){
    ob_start();    
   print_r(error_get_last());
   $log = ob_get_clean();
   error_log($log, 3, "./error.log");
}

Open in new window

0
 
courtthreeCommented:
Nice one DerkArts, that looks wicked.
0
Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
DerkArtsCommented:
I did a lot of flash<>php work, and its really hard to debug it because you dont get any info from you php. This is a simplified version but i ended op writing a specific error class/handler that posted al the errors back to flash, and logged them as wel. Only way to make any sort of progress in complex php<>flash stuff.
0
 
courtthreeCommented:
Well done mate.
0
 
ironpen45Author Commented:
the moneyshot was courtthree. Derk, my smtp setting are already working, but you reminded me of something else. thx to both of you! works like charm!
0

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now