[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помогите сделать php
komit2000
помогите сделать php для сайта
нужно чтобы после входа человека определяло страну - город по ip и высылало на телеграм бот по токену (после чеге запускало человека на index.php

может кто имеет готовое решение ?
brevis
<?php
file_get_contents('https://api.telegram.org/bot<INSERT_YOUR_BOT_TOKEN_HERE>/sendMessage?chat_id=<INSERT_YOUR_CHAT_ID_HERE>&text=' . file_get_contents('https://freegeoip.app/json/' . $_SERVER['REMOTE_ADDR']));

// ...остальной код index.php...


_____________
Чатик в телеге
komit2000
<?php

file_get_contents('https://api.telegram.org/bot73011111:AAG8sHdGxPvYXKawcLoieW1xw58ph2gjUI/sendMessage?chat_id=мойИД&text=' . file_get_contents('https://freegeoip.app/json/' . $_SERVER['REMOTE_ADDR']));

header("Location:location.php");
?>

что тут не так? ошибки вываливает через раз на какихто браузерах переходит а на множестве остальных ошибка

Warning: file_get_contents(https://api.telegram.org/хххххх

): failed to open stream: HTTP request failed! HTTP/1.1 400 Bad Request in /var/www/u1718/data/www/сайт.ru/index.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /var/www/u1718/data/www/сайт.ru/index.php:3) in /var/www/u1718/data/www/сайт.ru/index.php on line 5
sergeiss
Цитата (komit2000 @ 10.10.2020 - 11:05)
Warning: Cannot modify header information - headers already sent by (output started at /var/www/u1718/data/www/сайт.ru/index.php:3) in /var/www/u1718/data/www/сайт.ru/index.php on line 5

Эта ошибка говорит о том, что до отправки header() ты уже какие-то данные вывел.

_____________
* Хэлп по PHP
* Описалово по JavaScript
* Хэлп и СУБД для PostgreSQL

* Обучаю PHP, JS, вёрстке. Интерактивно и качественно. За разумные деньги.

* "накапливаю умение телепатии" (С) и "гуглю за ваш счет" (С)

user posted image
brevis
komit2000, собачку @ поставь спереди и тебе хватит.

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

1) Тебе нужен сервис geoip. Обычно такие сервисы предоставляются за деньги либо с ограничениями. Тот, который я показал в примере, позволят в час сделать к нему 15 000 запросов. Еще есть standalone-решения. Например, https://dev.maxmind.com/geoip/geoip2/geolite2/

2) Было бы не плохо как-то отличать к тебе пришел робот или человек.

3) У Telegram API есть лимиты. В твоем случае, по моему, не больше одного сообщения в секунду. Нужно это тоже учитывать.

Цитата
When sending messages inside a particular chat, avoid sending more than one message per second.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.