PHP/MySQL | Помогите с php
Тема закрыта by
Механик
Причина: Исправил

Причина: Исправил
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/function.php");
if ($sys['modules']['pp'] == 0) die(); // если модуль отключен
$token = isset($_GET['token']) ? intval($_GET['token']) : false;
$partner = isset($_GET['partner']) ? intval($_GET['partner']) : false;
$strow = $connect->prepare("select * from `pp_link` where `id` = ?");
$stmt_log = $connect->prepare("insert into `pp_click` set `time` = ?, `link` = ?, `partner` = ?, `ip` = ?, `ua` = ?, `referer` = ?");
$stmt_pp = $connect->prepare("update `pp_link` set `click` = `click` - ? where `id` = ?");
$strow->execute(array($id));
$row = $strow->fetch();
if ($row) {
// Если партнер пытается перейти по ссылке
if ((isset($active) && $user['id'] == $partner)
|| $ip == authlog($partner)['ip'])
exit(header('Location: '.$row['url']));
// Если подмена токена
if (!isset($_SESSION['pp_token']) ||
$_SESSION['pp_token'] != $token)
exit(header('Location: '.$row['url']));
// Если уже был клик с этого IP
$stmt_click->execute(array($ip, $id));
if ($stmt_click->fetchColumn())
exit(header('Location: '.$row['url']));
pay($row['cena'], $partner); // Всё ок, платим партнеру :)
$stmt_log->execute(array(time(), $id, $partner, $ip, $ua, $_SERVER['HTTP_REFERER'])); // лог
$stmt_pp->execute(array(1, $id)); // засчитываем переход
header('Location: '.$row['url']); // перенаправляем
} else
die('ERR: ПЛОЩАДКА НЕ НАЙДЕНА!');
Есть код убираю подмену токена белый экран ) по сути в коде надо оставить что бы с любого ip и без токена засчитывался переход
Кстати если выбирать площадку которой не существует ошибку выдаёт что нет такой площадки.
Механик (19.02.2019 в 11:00)
Есть код убираю подмену токена белый экран ) по сути в коде надо оставить что бы с любого ip и без токена засчитывался переход
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/function.php");
if ($sys['modules']['pp'] == 0) die(); // если модуль отключен
$token = isset($_GET['token']) ? intval($_GET['token']) : false;
$partner = isset($_GET['partner']) ? intval($_GET['partner']) : false;
$strow = $connect->prepare("select * from `pp_link` where `id` = ?");
$stmt_log = $connect->prepare("insert into `pp_click` set `time` = ?, `link` = ?, `partner` = ?, `ip` = ?, `ua` = ?, `referer` = ?");
$stmt_pp = $connect->prepare("update `pp_link` set `click` = `click` - ? where `id` = ?");
$strow->execute(array($id));
$row = $strow->fetch();
if ($row) {
// Если партнер пытается перейти по ссылке
if ((isset($active) && $user['id'] == $partner)
|| $ip == authlog($partner)['ip'])
exit(header('Location: '.$row['url']));
// Если подмена токена
if (!isset($_SESSION['pp_token']) ||
$_SESSION['pp_token'] != $token)
exit(header('Location: '.$row['url']));
// Если уже был клик с этого IP
$stmt_click->execute(array($ip, $id));
if ($stmt_click->fetchColumn())
exit(header('Location: '.$row['url']));
pay($row['cena'], $partner); // Всё ок, платим партнеру :)
$stmt_log->execute(array(time(), $id, $partner, $ip, $ua, $_SERVER['HTTP_REFERER'])); // лог
$stmt_pp->execute(array(1, $id)); // засчитываем переход
header('Location: '.$row['url']); // перенаправляем
} else
die('ERR: ПЛОЩАДКА НЕ НАЙДЕНА!');
Есть код убираю подмену токена белый экран ) по сути в коде надо оставить что бы с любого ip и без токена засчитывался переход
синтетику поправь
------

Скачиваний: 107
<?php
require_once($_SERVER["DOCUMENT_ROOT"]."/inc/function.php");
if ($sys['modules']['pp'] == 0) die(); // если модуль отключен
$token = 0;
$partner = 0;
$strow = $connect->prepare("select * from `pp_link` where `id` = ?");
$stmt_log = $connect->prepare("insert into `pp_click` set `time` = ?, `link` = ?, `partner` = ?, `ip` = ?, `ua` = ?, `referer` = ?");
$stmt_pp = $connect->prepare("update `pp_link` set `click` = `click` - ? where `id` = ?");
$strow->execute(array($id));
$row = $strow->fetch();
if ($row) {
$stmt_log->execute(array(time(), $id, $partner, $ip, $ua, $_SERVER['HTTP_REFERER'])); // лог
$stmt_pp->execute(array(1, $id)); // засчитываем переход
header('Location: '.$row['url']); // перенаправляем
} else
die('ERR: ПЛОЩАДКА НЕ НАЙДЕНА!');
Такой код уже не работает )
ElbrusHost, это что скрин с брекета сделан что ли?
ElbrusHost, да я вообще без этого код использую а с этой ошибкой которую у тебя показал работает все )
php 7
php 7
ElbrusHost, проверь с версией 5.6 и выше ошибки нету )
Если функция authlog() возвращает массив, то что тогда?
________
посл. ред. 19.02.2019 в 11:22; всего 1 раз(а); by Avenax
Ошибка тут
$stmt_log->execute(array(time(), $id, $partner, $ip, $ua, $_SERVER['HTTP_REFERER'])); // лог
Стр.: 1, 2