在不违反用户输入的情况下记录时间戳

时间:2014-09-15 09:42:19

标签: php timestamp user-agent

我试图在网站上找一个时间戳,但根据我现在编码的方式,时间戳打印在用户输入区域内,当前代码如下

$message['HTTP_USER_AGENT'] = $_SERVER['HTTP_USER_AGENT'].' Timestamp : ' . $orgtimestamp;
$sql = 'INSERT INTO imp_table (message) VALUES("'.mysql_real_escape_string(serialize($message)).'");';
echo(mysql_real_escape_string(serialize($message)))."\n";

输出就像这样

a:1:{s:15:\"HTTP_USER_AGENT\";s:106:\"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 Timestamp : 2014-09-15 09:37:58am\";} 

所以任何人都可以帮我获得一个输出,其中时间戳显示如下所示

a:1: Timestamp : 2014-09-15 09:37:58am :{s:15:\"HTTP_USER_AGENT\";s:106:\"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 \";} 

2 个答案:

答案 0 :(得分:0)

尝试

$message['HTTP_USER_AGENT'] = 'Timestamp : '.$orgtimestamp.' '.$_SERVER['HTTP_USER_AGENT'];

答案 1 :(得分:0)

a:1: Timestamp : 2014-09-15 09:37:58am :{s:15:\"HTTP_USER_AGENT\";s:106:\"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0 \";}

这不是正确的序列化字符串。

$message['HTTP_USER_AGENT'] = $_SERVER['HTTP_USER_AGENT'];
$message['Timestamp'] = $orgtimestamp;
echo(mysql_real_escape_string(serialize($message)))."\n";

上面的代码首先创建数组,然后将其序列化,使它看起来像:

a:2{a:1{s:15:\"HTTP_USER_AGENT\";s:106:\"Mozilla/5.0 (Windows NT 6.1; WOW64; rv:32.0) Gecko/20100101 Firefox/32.0"},{a:1{s:9:\"Timestamp\";s:21:\"2014-09-15 09:37:58am\"}}