Recording time stamp without violating the user input - php
Im trying get a timestamp for a reason in website, but according to the way i have coded right now the timestamp prints inside the user inputs area, the current code is as follows
$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";
the output is like this
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\";}
So can anybody help me to get a output where timestamp appears like i have shown below
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 \";}
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 \";}
That is not proper serialized string.
$message['HTTP_USER_AGENT'] = $_SERVER['HTTP_USER_AGENT'];
$message['Timestamp'] = $orgtimestamp;
echo(mysql_real_escape_string(serialize($message)))."\n";
Code above first make array and then serialize it so it should look like:
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\"}}
Try
$message['HTTP_USER_AGENT'] = 'Timestamp : '.$orgtimestamp.' '.$_SERVER['HTTP_USER_AGENT'];
Related
Scraping using simplehtmldom is giving me empty result
I am trying to scrape a website using simplehtmldom but it is giving me an empty result. Here is my code: <?php include('../simple_html_dom.php'); ini_set("user_agent","Mozilla/5.0 (Windows NT 6.1; rv:8.0) Gecko/20100101 Firefox/8.0"); echo $html = file_get_html('https://www.bodybuilding.com/store/opt/whey.html'); ?>
PHP | How to send URL in 'content'=>http_build_query?
Im trying to send URL inside the query, But I get an error: syntax error, unexpected '=' on line 7 How do I send the URL correctly? UPDATE 1: now problem in line 8 <?php $opts = array( 'http'=>array( 'method'=>"POST", 'content'=>http_build_query("url=http://www.hotstar.com/tv/saath-nibhaana-saathiya/693/meera-humiliates-the-modis/1000055355") 'header'=>"User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0" , "Content-Type: application/x-www-form-urlencoded; charset=UTF-8" , "Cookie: __cfduid=d1d6556674ee5fe2038c6c516e6ad786f1515596203" )); $context = stream_context_create($opts); $url = "http://en.fetchfile.net/fetch/"; $data = file_get_contents($url, false, $context); echo $data; UPDATE 2: I do not know why, but the POST request does not receive the JSON I'm trying to check what the problem is currently, if possible for help thanks THE WHOLE POST REQUEST: User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:51.0) Gecko/20100101 Firefox/51.0 Accept: application/json, text/javascript, */*; q=0.01 Accept-Language: en-US,en;q=0.5 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded; charset=UTF-8 X-Requested-With: XMLHttpRequest Referer: http://en.fetchfile.net/?url=http%3A%2F%2Fwww.hotstar.com%2Ftv%2Fsaath-nibhaana-saathiya%2F693%2Fahemgopi-have-a-fight%2F1000055779 Content-Length: 122 Cookie: __cfduid=d1d6556674ee5fe2038c6c516e6ad786f1515596203; _ym_uid=1515754827599813582; _ym_isad=2; bv_DSKskdck_s1d=bvDSKskdcks1d; CoinHiveOptOut=1515754855.247; bvppvarnp0=1 Connection: keep-alive Body: url=http%3A%2F%2Fwww.hotstar.com%2Ftv%2Fsaath-nibhaana-saathiya%2F693%2Fahemgopi-have-a-fight%2F1000055779&action=homePure JSON Response: {"acodec":"mp4a.40.2","description":"Meera humiliates Gopi at the Modi Bhavan. Later, Kinjal gets suspicious seeing Kokila's behaviour. Ahem is furious at Gopi for using his shirt as a cleaning cloth. Gopi reacts to his accusations. Later, Meera hurts Molu's head and humiliates Paridhi for playing a prank on her.","display_id":"1000055779","duration":1296,"episode":"Ahem-Gopi have a fight","episode_number":1369,"ext":"mp4","extractor":"HotStar","extractor_key":"HotStar","format":"hls-4563 - 1920x1080","format_id":"hls-4563","formats":[{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-64 - 250x140","format_id":"hls-64","fps":null,"height":140,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":64.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_1_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.66.30","width":250},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-121 - 320x180","format_id":"hls-121","fps":null,"height":180,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":121.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_2_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.66.30","width":320},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-241 - 320x180","format_id":"hls-241","fps":null,"height":180,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":241.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_3_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.66.30","width":320},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-461 - 416x234","format_id":"hls-461","fps":null,"height":234,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":461.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_4_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.66.30","width":416},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-861 - 640x360","format_id":"hls-861","fps":null,"height":360,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":861.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_5_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.66.30","width":640},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-1360 - 720x404","format_id":"hls-1360","fps":null,"height":404,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":1360.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_6_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.66.30","width":720},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-2062 - 1280x720","format_id":"hls-2062","fps":null,"height":720,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":2062.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_7_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.77.30","width":1280},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-3062 - 1600x900","format_id":"hls-3062","fps":null,"height":900,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":3062.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_8_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.77.30","width":1600},{"acodec":"mp4a.40.2","ext":"mp4","format":"hls-4563 - 1920x1080","format_id":"hls-4563","fps":null,"height":1080,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","preference":null,"protocol":"m3u8","tbr":4563.0,"url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_9_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.77.30","width":1920}],"fps":null,"height":1080,"http_headers":{"Accept":"text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8","Accept-Charset":"ISO-8859-1,utf-8;q=0.7,*;q=0.7","Accept-Encoding":"gzip, deflate","Accept-Language":"en-us,en;q=0.5","Cookie":"_alid_=Q7nfOk5ehqKpd9pOQBAIiQ==; hdntl=exp=1515843396~acl=%2f*~data=hdntl~hmac=f1a825da0313c89669ed8f19155bf8410b9f1f6f39068ee04279dd22e7c4e78d","User-Agent":"Mozilla/5.0 (X11; Linux x86_64; rv:10.0) Gecko/20150101 Firefox/47.0 (Chrome)","X-Forwarded-For":"117.200.190.41"},"id":"1000055779","manifest_url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/master.m3u8?hdnea=st=1515756695~exp=1515757295~acl=/*~hmac=a524380edf50b440821777604ba55f39e4b12b45212be67d878ad7299ec4402f","playlist":null,"playlist_index":null,"preference":null,"protocol":"m3u8","requested_subtitles":null,"series":"Saath Nibhaana Saathiya","tbr":4563.0,"timestamp":1428499800,"title":"Ahem-Gopi have a fight","upload_date":"20150408","url":"https://staragvod1-vh.akamaihd.net/i/videos/plus/sns/1369/1000055779_,16,54,106,180,400,800,1300,2000,3000,4500,_STAR.mp4.csmil/index_9_av.m3u8?null=0&id=AgDUL+9aAhYWjMSdWFr0pI0ySbRDIOcQ+v8AA5I0zbQ0kTxVW6Fk8MREQkUs6kKfbBZtynevwukFzQ%3d%3d","vcodec":"avc1.77.30","webpage_url":"http://www.hotstar.com/tv/saath-nibhaana-saathiya/693/ahemgopi-have-a-fight/1000055779","webpage_url_basename":"1000055779","width":1920} Cookies valid until 2019 I send the POST request once again, I get the HTML page of fetchfile, and not the JSON with the video links
You should replace: http_build_query(url=http://www.hotstar.com/tv/saath-nibhaana-saathiya/693/meera-humiliates-the-modis/1000055355) By http_build_query("url=http://www.hotstar.com/tv/saath-nibhaana-saathiya/693/meera-humiliates-the-modis/1000055355"),
Visits to web page is counted multitple times php
So there is the problem: I've made some php code to register page views (with a lot of help from stack overflow). I specifically want to avoid using cookies for this. Also I would prefer not to use an SQL DB if it is possible a well working solution without it. To deal with browser behaviour like prefetching and the like, I am trying to filter out the extra page views with an if, elseif, else function. The problem in practice is that the sometimes pageviews are either written twice to the log file or there is a timing issue with the if-statement and the rest of the code. Here is the code I have: <?php /*set variables for log file */ $useragnt = $_SERVER['HTTP_USER_AGENT']; //get user agent $ipaddrs = $_SERVER['REMOTE_ADDR']; //get ipaddress $filenameLog = "besog/" . date("Y-m-d") . "LOG.txt"; date_default_timezone_set('Europe/Copenhagen'); $infoToLog = $ipaddrs . "\t" . $useragnt . "\t" . date('H:i:s') . "\n"; $file_arr = file($filenameLog); $last_row = $file_arr[count($file_arr) - 1]; $arr = explode( "\t", $last_row); $tidForSidsteLogLinje = strtotime($arr[2]); $tidNu = strtotime(date('H:i:s')); //write ip, useragent and time of page view to log file logfil, but only if the same visitor has not viewed the page within the last 10 seconds if ($arr[0] == $ipaddrs and $arr[1] == $useragnt and $tidNu - $tidForSidsteLogLinje > 10){ //write ip and user agent to textfile $file = fopen($filenameLog, "a+"); fwrite($file, $infoToLog); fclose($file); } elseif ($arr[0] == $ipaddrs and $arr[1] == $useragnt and $tidNu - $tidForSidsteLogLinje < 10){ die; } else { //Write ip and user agent to textfile $file = fopen($filenameLog, "a+"); fwrite($file, $infoToLog); fclose($file); } ?> Here are examples of the duplicate entries in the log (I have masked some of the ipaddresses): xxx.x.95.240 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 12:52:33 xx.xxx.229.91 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 12:52:45 xx.xxx.229.91 Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/57.0.2987.98 Safari/537.36 12:52:45 xxx.xx.154.83 ServiceTester/4.4.64.1514 12:53:03 xxx.xx.91.126 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/603.2.5 (KHTML, like Gecko) Version/10.1.1 Safari/603.2.5 12:53:05 xx.xxx.35.3 Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 12:53:09 xxx.xxx.130.34 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 12:53:56 xxx.xxx.130.34 Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko 12:53:56 xx.xxx.211.101 Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36 12:54:11 x.xxx.54.4 Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_5) AppleWebKit/601.6.17 (KHTML, like Gecko) Version/9.1.1 Safari/601.6.17 12:54:33 If my if-statements were working as intended, it should be possible to see duplicate lines in the entries like in the above. How do I improve the code to eliminate these duplicate entries? And help or suggestions is much appreciated!
We use a Complex Website Visitor Track / log System in our system. I would recomend that you store this Values in a Database and set the IP address field as Unique. You can set an CookieID like Cookie::set('__id', time()); and go like if (isset($_COOKIE['__id'])){ //With mysql you go like $db->Execute("INSERT IGNORE INTO VisitorTable(hash, ip,..) VALUES($_COOKIE['__id'],$_SERVER['REMOTE_ADDR'] )" // the HTTP_USER_AGENT refferer all kind of information that you wannt to store } This way the Visitor Only exist once in your list. See insert ignore for more. Now you can eazy make an other function to save the pages the user visits . In a script that gets everytime executet you go like: $db->Execute("INSERT INTO VisitorActivity (visitorID,page....) VALUES ($_COOKIE['__id'],$_Server['..'])" );
$_POST not submitting the form, array prints as array()
Below is the form I'm using to submit a new wheel into a DB on my local XAMPP server, problem is the post method doesn't work, I had problems with a modal which was sorted by using $_GET instead. I've changed a few php.ini settings but have changed them back was, max_upload and another one, I've read about them in other questions but they don't seem to solve the issue. When I use the submit form below the array printed is just Array(), doesn't even have a single value, this should prompt my error check to print an error at the least. <!-- wheels form --> <div class="text-center"> <form class="form-inline" action="wheels.php" method="post"> <div class="form-group"> <label for="wheelName">Add a new wheel:</label> <input name="wheelName" type="text" id="wheelName" class="form-control" value="<?=((isset($_POST['wheelName']))?$_POST['wheelName']:''); ?> "><!-- shorthand if/else--> <label for="code">Stockcode</label> <input name="code" type="text" id="code" class="form-control" value="<?=((isset($_POST['code']))?$_POST['code']:''); ?> "><!-- shorthand if/else--> <input type="submit" name="add_submit" value="add wheel" class="btn btn-success"> </div> </form> </div><hr> Standard php sql input and checks, the information is being pulled correctly as I have it displaying in a table further on my page.But the $_POST variable appears to be completely empty, has someone had this problem and managed to sort it? I'm assuming its to do with my php setup or .htaccess as someone else had an issue with. <?php require_once '../core/init.php'; include 'includes/header.php'; include 'includes/navigation.php'; // Get wheels from DB $sql = "SELECT * FROM wheels ORDER BY part_no"; $result = $db->query($sql); $errors = array(); // edit wheel if(isset($_GET['edit']) && !empty(['edit'])) { $edit_id = (int)$_GET['edit']; $edit_id = sanitize('edit_id'); //$sql2 = "SELECT * FROM wheels WHERE recid = '$edit_id'"; //$edit_result = $db->query($sql2); //$eWheel = mysqli_fetch_assoc($edit_result); } // Delete wheel if(isset($_GET['delete']) && !empty(['delete'])) { $delete_id = (int)$_GET['delete']; $delete_id = sanitize($delete_id); //$sql = "DELETE FROM wheels WHERE recid = '$delete_id'"; //$db->query($sql); //header('Location: wheels.php'); } // If add wheel form submitted if(isset($_POST['add_submit'])) { $wheel = sanitize($_POST['wheelName']); $stockCode = sanitize($_POST['stockCode']); // check if wheel is blank if($_POST['wheelName'] == '') { $errors[] .= 'Must enter wheel'; } // if wheel exists in db $sql = "SELECT * FROM wheels WHERE stockcode = '$stockCode'"; $result = $db->query($sql); $count = mysqli_num_rows($result); if($count > 0) { $errors[] .= 'that wheel already exists.'; } // display errors if(!empty($errors)) { echo displayErrors($errors); } else { //Add wheels to DB // incomplete unsure if feature needed at this stage. // $sql = "INSERT INTO wheels (wheelName, stockCode, ID ETC ETC VALUES Etc ETC // $db->query($sql); // header ('location : wheels.php '); } } var_dump($_POST); echo file_get_contents("php://input"); ?> Here is the log ::1 - - [23/Apr/2016:14:12:32 +1200] "GET / HTTP/1.1" 302 - "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:32 +1200] "GET /dashboard/ HTTP/1.1" 200 6904 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:32 +1200] "GET /dashboard/stylesheets/normalize.css HTTP/1.1" 200 6876 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:32 +1200] "GET /dashboard/stylesheets/all.css HTTP/1.1" 200 481308 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:32 +1200] "GET /dashboard/javascripts/modernizr.js HTTP/1.1" 200 51365 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:33 +1200] "GET /dashboard/javascripts/all.js HTTP/1.1" 200 189003 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:33 +1200] "GET /dashboard/images/xampp-logo.svg HTTP/1.1" 200 5427 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:33 +1200] "GET /dashboard/images/bitnami-xampp.png HTTP/1.1" 200 22133 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:33 +1200] "GET /dashboard/images/fastly-logo.png HTTP/1.1" 200 1770 "http://localhost/dashboard/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36" ::1 - - [23/Apr/2016:14:12:33 +1200] "GET /dashboard/images/social-icons.png HTTP/1.1" 200 3361 "http://localhost/dashboard/stylesheets/all.css" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.112 Safari/537.36"
well, i think you should place the <?php line at the very top of the file... before the "Get wheels from DB" comment And instead of print_r($_POST); use var_dump($_POST); also, in the section "if wheel exists in db" your sql query is never using the $stockCode variable, you're missing the $ , it should be $sql = "SELECT * FROM wheels WHERE stockcode = '$stockCode'"; And drop the point before the equal sign for the errors. thats for Strings, and as an array $errors[] = 'that wheel already exists.'; should work fine
Read data from text file with php and create database
I have a text file, a huge one that contains some information's that I need to insert into a database. Here is the one of the rows of the text file: 77.242.22.86 - - [10/Jul/2013:14:07:26 +0200] "GET /web/img/theimage.jpg HTTP/1.1" 304 - "http://www.mywebiste.com/web/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 AlexaToolbar/alxg-3.1" I am using some php functions like: $myFile = "testFile.txt"; $fh = fopen($myFile, 'r'); This only read the text file, as I said, I need to get the data and insert into the database, here is an example how I need the row to be spli: 77.242.22.86 [10/Jul/2013:14:07:26 +0200] GET /web/img/theimage.jpg HTTP/1.1 304 http://www.mywebiste.com/web/ Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 AlexaToolbar/alxg-3.1 Please help me to resolve this problem. Thank you.
$test ='77.242.22.86 - - [10/Jul/2013:14:07:26 +0200] "GET /web/img/theimage.jpg HTTP/1.1" 304 - "http://www.mywebiste.com/web/" "Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/27.0.1453.116 Safari/537.36 AlexaToolbar/alxg-3.1"'; function tokenizer($test) { $test = trim(strtolower($test)); $res= str_replace(",","",$test); $res= str_replace("-","",$res); $res= str_replace(' "',"",$res); $result= explode(" ", $res); for ($i = 0; $i < count($result); $i++) { $result[$i] = trim($result[$i]); echo $result[$i]; ?> <hr/> <?php } return $result; // contains the single words }