[php] Новичкам: задаем вопросы

Discussion in 'PHP' started by _Great_, 26 May 2007.

Thread Status:
Not open for further replies.
  1. Todin

    Todin Member

    Joined:
    28 Jan 2011
    Messages:
    47
    Likes Received:
    7
    Reputations:
    0
    GAiN, как вариант установить mod_geoip
    и тогда можно редиректить через .htaccess

    RewriteCond %{ENV:GEOIP_COUNTRY_CODE} ^RU$
    RewriteRule ^(.*)$ http://www.canada.com$1 [L]
     
    1 person likes this.
  2. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    нужно проверить реферер по шаблону, например если в txt списке файлов реферер, а именно не полный реферер, а часть его, например forum. совпадёт по части и будет содержаться в переменной http_referer то отфильтровать, скрипт должен выдать вхождение найдено.
    как проводить разделение переменной $_SERVER[" HTTP_REFERER"] на состовляющие ?


    PHP:
    <?php
    header
    ("Content-Type: text/html; charset=utf-8");

    $file_content file_get_contents($_SERVER['DOCUMENT_ROOT'] .'/referer.txt');
    $word_name $_SERVER[" HTTP_REFERER"];
    $search_fraza $file_content;
    if (
    preg_match("/\b$word_name\b/i""$search_fraza")) {
        echo 
    "Вхождение найдено.";
    } else {
        echo 
    "Вхождение не найдено.";
    }
    сейчас код работает если совпадает полностью реферер со списком
     
  3. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    как добавить значения заголовков браузеров в переменную ?
    PHP:
    $headers getallheaders();
    while (list (
    $header$value) = each ($headers)) {
    $http_headers $header.': '.$value."<br />\n";
    echo 
    $http_headers//в таком виде выводит нормально, но в переменной за пределами этого кода пишет только одну строчку
    }
    когда делаю переменную для записи в лог - и она вынесена за приделы кода, - то пишет только одну строку:
     
  4. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    Ну думаю вынести все нужные "фразы" ( искомые части рефера) в массив, и перебором его - искать эту "фразу" в рефере.
     
    #22304 LStr1ke, 15 Oct 2014
    Last edited: 15 Oct 2014
  5. LStr1ke

    LStr1ke Elder - Старейшина

    Joined:
    29 Jul 2009
    Messages:
    800
    Likes Received:
    145
    Reputations:
    73
    Покажи как делаешь. ) Если за пределами цикла ты работаешь с переменной $http_headers, то естественно там будет последнее значение массива $headers. Каждая итерация цикла перезаписывает эту переменную. Если нужно записать все заголовки в файл, то как вариант, каждый шаг цикла значение заголовка добавлять в строковую переменную, затем за пределами цикла работать с этой переменной.
    PHP:
    <?php
    $headers 
    getallheaders();
    $headers_str '';
    while (list (
    $header$value) = each ($headers)) {
    $headers_str .= $header.': '.$value."<br />\n";
    }
    echo 
    $headers_str
     
    1 person likes this.
  6. madam

    madam Member

    Joined:
    27 Mar 2014
    Messages:
    129
    Likes Received:
    5
    Reputations:
    1
    подскажите пожалуйста,как спарсить ключ капчи solve media с другого сайта,который открывается у меня в фрейме?
     
  7. Sum.cogitans

    Sum.cogitans Elder - Старейшина

    Joined:
    7 Sep 2013
    Messages:
    173
    Likes Received:
    32
    Reputations:
    19
    У тебя на сайте, есть лишь код фрейма, там ты ничего не спарсишь. Надо парсить его сорс, который в теге iframe.
     
  8. antras2007

    antras2007 New Member

    Joined:
    4 Jul 2013
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Подскажите пожалуйста кто знает! Я вынес в отдельный файл подключение к базе данных используя шаблон Singleton мне нужно подключится в другом файле к базе данных но у меня ничего не выходит. Как правильно синтаксически подключися к базе в другом файле. Вот код:
    <?php

    class connectdb{
    static private $instance = null;
    const HOST = "localhost";
    const USER = "root";
    const PASSWORD = "";
    const DB = "eshop";

    private function __construct() {
    new mysqli(self::HOST, self::USER, self::pASSWORD, self::DB);
    }

    private function __clone() {}

    static function getInstance() {
    if(self::$instance === null) {
    self::$instance = new self();
    }
    return self::$instance;
    }


    }
    ?>


    а вот в этом файле мне нужно подключится к базе

    <?php
    session_start();
    include "connectdb.php";

    class admin{
    private $login;
    private $password;
    private $data;
    private $link;



    function queryDb(){
    $this->link = connectdb::getinstance();
    $query = "SELECT login, password FROM admin";
    $result = $this->link->query($query);
    $this->data = mysqli_fetch_assoc($result);

    }


    function getLogin(){
    $log = mysqli_real_escape_string($this->link, $_POST['login']);
    $pass = md5($_POST['password']);
    $this->login = $log;
    $this->password = $pass;
    if($this->data['login'] == $this->login and $this->data['password'] == $this->password){
    $_SESSION['admin'] = true;
    header("Location: ../index.php");
    die();
    }else {
    $_SESSION['admin'] = false;
    header("Location: ../../index.php ");
    }
    }

    }
    $log = new admin();
    $log->queryDb();
    $log->getLogin();
     
  9. nejtr0n

    nejtr0n New Member

    Joined:
    23 Dec 2013
    Messages:
    17
    Likes Received:
    3
    Reputations:
    1
    Ошибки имеются?
     
  10. antras2007

    antras2007 New Member

    Joined:
    4 Jul 2013
    Messages:
    33
    Likes Received:
    0
    Reputations:
    0
    Да при нажатии на кнопку "Отправить запрос" выдает
    Fatal error: Call to undefined method connectdb::query() in D:\cod\test\eshop\admin\classes\admin.php on line 17

    я не совсем понимаю у меня такого метода то нет
     
    #22310 antras2007, 21 Oct 2014
    Last edited: 21 Oct 2014
  11. nejtr0n

    nejtr0n New Member

    Joined:
    23 Dec 2013
    Messages:
    17
    Likes Received:
    3
    Reputations:
    1
    Хм. ну в ошибке же все написано ...
    connectdb::query() - такого метода не существует.
    В листинге приведенного класса этого метода действительно нет.
     
  12. GAiN

    GAiN Elder - Старейшина

    Joined:
    2 Apr 2011
    Messages:
    2,531
    Likes Received:
    166
    Reputations:
    99
    перевод букв из одних в другие

    как сделать функцию перевода букв из русских в латиницу - и обратный режим ?

    но есть проблема, можно ли обратный перевод запустить не меняя местами переменные ?

    PHP:
    <?php
    header
    ('Content-Type: text/html; charset=UTF-8');
    $rus=array('А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я','а','б','в','г','д','е','ё','ж','з','и','й','к','л','м','н','о','п','р','с','т','у','ф','х','ц','ч','ш','щ','ъ','ы','ь','э','ю','я',' ');
    $lat=array('a','b','v','g','d','e','e','gh','z','i','y','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sch','y','y','y','e','yu','ya','a','b','v','g','d','e','e','gh','z','i','y','k','l','m','n','o','p','r','s','t','u','f','h','c','ch','sh','sch','y','y','y','e','yu','ya',' ');


    $str "hello friend";

    $arr1 str_split($str);

    $arr1 str_replace($lat$rus$arr1);

    //$arr1 = str_replace($rus, $lat, $arr1);// обратный перевод букв

    foreach($arr1 as $value)

       echo 
    $value"<br>";


    ?>
     
  13. TADIAMOND

    TADIAMOND Member

    Joined:
    19 Feb 2011
    Messages:
    134
    Likes Received:
    34
    Reputations:
    5
    Сделай просто массив, с ключами латиницы, и значениями ру! там уже верти им как хочешь!
     
  14. gerth

    gerth New Member

    Joined:
    13 Jul 2013
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Такая проблема: нужно написать скрипт автопостинга Блогспод, так как готовых решений не нашел. Не работает часть скрипта отвечающая за авторизацию аккаунта Гугла. Может кто подскажет что не так со скриптом- подозреваю, что не передаю какие то дополнительные данные... Если кто имеет готовое решение, то буду благодарен.
    <?php

    $email = "******@gmail.com"; // ????? ??? ????? ?? spoov.ru, ???????????? ???????????.
    $passwd = "*******"; // ?????? ?? ????????
    // ?????????????? CURL
    $ch = curl_init();
    //????????? POST ??????
    $postdata = 'email='.$email.'&passwd='.$passwd.'&url=';
    $uagent = "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)";
    // 2. ????????? ?????????, ??????? url
    curl_setopt($ch, CURLOPT_URL, "https://accounts.google.com/ServiceLoginAuth");
    curl_setopt($ch, CURLOPT_HEADER, 0);
    curl_setopt($ch, CURLOPT_POST, 1);
    curl_setopt($ch, CURLOPT_POSTFIELDS, $postdata);
    curl_setopt($ch, CURLOPT_USERAGENT, $uagent);
    curl_setopt($ch, CURLOPT_TIMEOUT, 20);
    curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 20);
    curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
    curl_setopt($ch, CURLOPT_COOKIEFILE, "cookie.txt");
    curl_setopt($ch, CURLOPT_COOKIEJAR, "cookie.txt");
    $a= curl_exec($ch);
    echo $a;
    ?>
     
    #22314 gerth, 30 Oct 2014
    Last edited: 30 Oct 2014
  15. yoweb

    yoweb Banned

    Joined:
    17 Jun 2013
    Messages:
    120
    Likes Received:
    2
    Reputations:
    0
    gerth, такие вещи делаются на qt c++ framework.
    выдает xdebug следующую ошибку:
    Use of undefined constant object - assumed 'object' in
    что это такое? первый раз с такой ошибкой сталкиваюсь..переменная нормальная, что не так?
     
  16. XIIIcool

    XIIIcool New Member

    Joined:
    22 Dec 2010
    Messages:
    13
    Likes Received:
    0
    Reputations:
    0
    может кто знает как авторизироватся на aliexpress чтото не могу отследить куда он данные отсылает
     
  17. gerth

    gerth New Member

    Joined:
    13 Jul 2013
    Messages:
    29
    Likes Received:
    0
    Reputations:
    0
    Помогите пож. код авторизации на почте Гугл написать, желательно средствами Curl.
     
  18. yoweb

    yoweb Banned

    Joined:
    17 Jun 2013
    Messages:
    120
    Likes Received:
    2
    Reputations:
    0
    нет qt framework c++
     
  19. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    Как заставить цикл While начаться с начала? то есть начиная с нулевого значения инкремента
     
  20. Fepsis

    Fepsis Elder - Старейшина

    Joined:
    17 Sep 2008
    Messages:
    791
    Likes Received:
    391
    Reputations:
    72
    Задать внутри цикла нулевое значение.

    PHP:
    $i 1;

    while(
    $i 10) {

        echo 
    $i++;
        
        if(
    $i == 5) {
            
    $i 1;
        } 
    }
     
Thread Status:
Not open for further replies.