Как записать id пользователя, зашедшего в приложения в txt?

Обсуждение и помощь по вопросам взаимодействия с ВКонтакте API в IFrame-приложениях (JavaScript, PHP и т.д)
Аватара пользователя
Александр
Создатель сайта
Создатель сайта
Сообщения: 4574
Зарегистрирован: 27 сен 2009, 16:45

Re: Как записать id пользователя, зашедшего в приложения в txt?

Сообщение Александр »

Liberty
Найти в чём причина даже не пробовал? Может jquery-1.4.2.min.js у тебя не подключено...
Аватара пользователя
ukhov
Модератор
Модератор
Сообщения: 1343
Зарегистрирован: 04 янв 2011, 21:19

Re: Как записать id пользователя, зашедшего в приложения в txt?

Сообщение ukhov »

а вообще можно намного красивее всё это записать. только не в txt, а в php:
Туда будут записываться все действия, которые происходили в приложении.
1) Создаём файл log.php с таким содержанием:

Код: Выделить всё

<table style="width: 100%; border-collapse: collapse"><tbody><tr><td style="width: 125px; background-color: #4682b4; letter-spacing: 0px; word-spacing: 0px"><strong><font color="#ffffff">Дата, время</font></strong><strong><font color="#ffffff"><br></font></strong></td><td style="width: 125px; background-color: #4682b4; letter-spacing: 0px; word-spacing: 0px"><strong><font color="#ffffff">IP адрес</font></strong><strong><font color="#ffffff"><br></font></strong></td><td style="background-color: #4682b4; letter-spacing: 0px; word-spacing: 0px"><strong><font color="#ffffff">Действие</font></strong><br></td></tr>
2) Добавляем в index.php код:

Код: Выделить всё

<?$ip=$_SERVER['REMOTE_ADDR']?>
3) Заменяем в index.php этот код:

Код: Выделить всё

<?if(isset($_GET['viewer_id'])) {$id = $_GET['viewer_id'];   $fp=fopen("baza.txt","a+"); //Открытие дескриптора файла пользователя на запись  if ($fp) {  flock($fp,2);  fwrite($fp,"Date: $date$melbdate | id: $id");  flock($fp,3);  fclose($fp);  }}?>
на этот:

Код: Выделить всё

<?if(isset($_GET['viewer_id'])) {$id = $_GET['viewer_id'];   $fp=fopen("log.php","a+"); //Открытие дескриптора файла пользователя на запись  if ($fp) {  flock($fp,2);  fwrite($fp,"<tr><td>$date$melbdate<br></td><td>$ip<br></td><td>Пользователь <b>$id</b> посетил <b>index.php</b> (главная страница)<br></td></tr>);  flock($fp,3);  fclose($fp);  }}?>   
Теперь когда пользователь зайдёт на глайную страницу (index.php), в таблицу добавиться дата, время входа, ip и id пользователя.

Но если Вы хотите записывать туда не только заход в приложение пользователем, но и дальнейшие переходы по страницам, то к каждой ссылке на странице добавьте код, который передаст GET от Вконтакте другой странице:

Код: Выделить всё

?api_url=<?phpecho ($_GET["api_url"]."");?>&api_id=<?phpecho ($_GET["api_id"]."");?>&api_settings=<?phpecho ($_GET["api_settings"]."");?>&viewer_id=<?phpecho ($_GET["viewer_id"]."");?>&viewer_type=<?phpecho ($_GET["viewer_type"]."");?>&sid=<?phpecho ($_GET["sid"]."");?>&user_id=<?phpecho ($_GET["user_id"]."");?>&group_id=<?phpecho ($_GET["group_id"]."");?>&is_app_user=<?phpecho ($_GET["is_app_user"]."");?>&auth_key=<?phpecho ($_GET["auth_key"]."");?>
Повторяю, что это позволит отслеживать дальнейшие действия пользователя. Например, в index.php содержится ссылка на 2.php, т.е.:

Код: Выделить всё

<a href="2.php">Перейти на 2.php</a>
Теперь к ней надо добавить код передачи GET на другую страницу. Получится:

Код: Выделить всё

<a href="2.php?api_url=<?phpecho ($_GET["api_url"]."");?>&api_id=<?phpecho ($_GET["api_id"]."");?>&api_settings=<?phpecho ($_GET["api_settings"]."");?>&viewer_id=<?phpecho ($_GET["viewer_id"]."");?>&viewer_type=<?phpecho ($_GET["viewer_type"]."");?>&sid=<?phpecho ($_GET["sid"]."");?>&user_id=<?phpecho ($_GET["user_id"]."");?>&group_id=<?phpecho ($_GET["group_id"]."");?>&is_app_user=<?phpecho ($_GET["is_app_user"]."");?>&auth_key=<?phpecho ($_GET["auth_key"]."");?>">Перейти на 2.php</a>
И теперь в 2.php пишем код:

Код: Выделить всё

 <?php// вычисляем дату и время$date = date("d.m.y"); // вычисляем двту в формате "День, месяц, год"$dn = date("l");?> <?php$hourdiff = "0"; // hours difference between server time and local time$timeadjust = ($hourdiff * 60 * 60);$melbdate = date(" H:i",time() + $timeadjust);?> <?$ip=$_SERVER['REMOTE_ADDR'] // Получаем IP пользователя?> <?if(isset($_GET['viewer_id'])) {$id = $_GET['viewer_id'];   $fp=fopen("log.php","a+"); //Открытие дескриптора файла пользователя на запись  if ($fp) {  flock($fp,2);  fwrite($fp,"<tr><td>$date$melbdate<br></td><td>$ip<br></td><td>Пользователь <b>$id</b> посетил <b>2.php</b> (страница 2)<br></td></tr>);  flock($fp,3);  fclose($fp);  }}?>   
Ответить