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

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

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

    explosm New Member

    Joined:
    9 Aug 2010
    Messages:
    33
    Likes Received:
    3
    Reputations:
    0
    да оно вначале стояло правильно, да тут моя вина, но если переставить счетчик + хидеры до вывода, как оно и было, все равно х2 все) то я уже мудрил))) забыв об этом
     
  2. Chrome~

    Chrome~ Elder - Старейшина

    Joined:
    13 Dec 2008
    Messages:
    939
    Likes Received:
    162
    Reputations:
    27
    explosm,
    PHP:
    <?php
    if (isset ($_COOKIE['counter']) and is_numeric($_COOKIE['counter'])) 
        
    $counter $_COOKIE['counter'];
    else
        
    $counter 0;
    if (isset (
    $_COOKIE['recentVisit']))
        
    $recentVisit $_COOKIE['recentVisit'];
    else
        
    $recentVisit '';
    $counter++;
    setcookie("counter"$counter);
    setcookie("recentVisit"date('d/m/Y H:i:s'));
    ?>
    <!DOCTYPE html>
    <h1>Последний визит</h1>
    <?php
    if($counter == 1){
        print 
    '<h2>hello</h2>';
    }else{
        print <<<HTML
        <h2> $counter посещений </h2>
        <p>Последнее посещение: 
    $recentVisit</p><br>
    HTML;
    }
    ?>
     
    1 person likes this.
  3. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    Если нужно сделать чекер аккаунтов, то можно использовать этот код(работает через userapi):
    PHP:
    <?php

    $mail 
    ''//Логин
    $pass ''//Пароль

    $auth=get_headers("http://login.userapi.com/auth?login=force&site=2&email=$mail&pass=$pass");

    if(!
    preg_match('#sid=(.+)#'$auth[11], $sid)){
    echo 
    'Неправильный логин и/или пароль';
    }

    ?>
    Или этот:
    PHP:
    <?php
     
    $mail 
    ''//Логин
    $pass ''//Пароль

    $res=get_headers('http://login.vk.com/?act=login&email='.urlencode($mail).'&pass='.urlencode($pass));

    if(!
    preg_match("/Set-Cookie: p=(.*?);/"$res[13], $c)){
    echo 
    'Неправильный логин и/или пароль';
    }

    ?>
     
  4. Ty4ka

    Ty4ka New Member

    Joined:
    9 Aug 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Здрасьте. У меня такой вопрос.

    Допустим есть txt файл, в котором содержится много строчек вида:
    Как с помощью php добавить к каждой строчке слово (символы)? например ololo@ty.ru

    И чтобы в итоге в файл записывалось и сохранялось:

     
  5. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    ololo@ty.ru должно братся из другого файла?
    Если да, то:
    PHP:
    <?php

    $r 
    ';'//Разделитель
    $f1=file('1.txt'); //Файл 1
    $f2=file('2.txt'); //Файл 2

    for($i=0;$i<count($f1);$i){$it=$i++;
    $new[]=trim($f1[$it]).$r.$f2[$it];
    }

    file_put_contents('new.txt'$new); //В файл new.txt будет сохранен результат

    ?>
     
    #20305 daniel777, 25 Mar 2012
    Last edited: 25 Mar 2012
  6. Ty4ka

    Ty4ka New Member

    Joined:
    9 Aug 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Спасибо, большущее! Все работает, но можно ли сделать чтобы не из другого файла бралось, а просто статичное и во все строчки добавлялось, которые есть в file1.txt?

    Попробывал так, но удаляет больше половины (заменяет).
    PHP:
    <?php

    $r 
    ';'//Разделитель
    $f1='ololo@mail.ru';
    $f2=file('2.txt'); //Файл 2

    for($i=0;$i<count($f1);$i){$it=$i++;
    $new[]=trim($f1[$it]).$r.$f2[$it];
    }

    file_put_contents('new.txt'$new); //В файл new.txt будет сохранен результат

    ?>
     
  7. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    PHP:
    <?php

    $r 
    ';'//Разделитель
    $str 'ololo@mail.ru'//Строка
    $file=file('1.txt'); //Файл

    for($i=0;$i<count($file);$i){$it=$i++;
    $new[]=trim($file[$it]).$r.$str."\n";
    }

    file_put_contents('new.txt'$new); //В файл new.txt будет сохранен результат

    ?>
     
  8. Ty4ka

    Ty4ka New Member

    Joined:
    9 Aug 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
     
  9. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    Используй последний вариант, который я отправил.
     
  10. Ty4ka

    Ty4ka New Member

    Joined:
    9 Aug 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0
    Я его использовал, но он подставляет в начало строки, а мне нужно именно в конец...
     
  11. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    Я код перед отправкой проверил, и он у меня работает.
    Обрати внимание на эту строчку:
    $new[]=trim($file[$it]).$r.$str."\n";
    Тут наполняется массив $new, в который входит сначала строка из файла($file[$it]), потом разделитель($r), потом сама строка, которую мы добавляем($str) и перевод строки(\n).
    Отсюда ты можешь увидеть что в обратном порядке оно подставлять ну никак не может.
     
  12. Ty4ka

    Ty4ka New Member

    Joined:
    9 Aug 2010
    Messages:
    10
    Likes Received:
    0
    Reputations:
    0

    Спасибо, большущее, разобрался благодаря вам!
     
  13. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    $b = preg_replace("num = \'[0-9]{1,1000}\'","num = \'$num\'",$a);

    Warning: preg_replace() [function.preg-replace]: Delimiter must not be alphanumeric or backslash in

    как правильно сделать?
     
  14. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,325
    Likes Received:
    1,199
    Reputations:
    252
    PHP:
    $b preg_replace("#num = \'[0-9]{1,1000}\'#","num = \'$num\'",$a);
     
    3 people like this.
  15. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    о, спасиб, а вот ещо вопрос, передаю текст пост параметром и записываю в файл тoк в файл все ковычки чсо есть в тексте сами по себе слешируются, чё ет за байда? как сделать чтобы етого небыло?
     
  16. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    Экранирование кавычек.
    Я использую функцию stripslashes().
     
    2 people like this.
  17. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    magic_quotes_gpc отключить в php.ini
     
  18. tester_new

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

    Joined:
    12 Feb 2012
    Messages:
    290
    Likes Received:
    40
    Reputations:
    24
    Подскажите фильтр матов(наших) который бы распознавал ругательства написанные даже латиницей...
     
  19. daniel777

    daniel777 Member

    Joined:
    8 Jul 2010
    Messages:
    520
    Likes Received:
    90
    Reputations:
    37
    Я использую такую функцию:
    PHP:
    function antimat($str){
    return 
    strtr($str, array(
    " выебу "=>" вы*бу ",
    " гандон "=>" ган*он ",
    " долбоеб "=>" долб**б ",
    " бля "=>" б*я ",
    " блядь "=>" бл*дь ",
    " блять "=>" бл*ть ",
    " пидар "=>" пи*ар ")
    );
    }
    Только базу надо самому наполнять.
    Если нужно обрабатывать и латиницу - правильнее будет добавить маты на латинице в базу, чем транслитировать их, и делать замену.
     
    #20319 daniel777, 26 Mar 2012
    Last edited: 26 Mar 2012
  20. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,582
    Likes Received:
    173
    Reputations:
    75
    функция file берёт данные из файла и помещает в масив, а есть ли альтернатива етой функции только чтобы брала инфу из переменной и также помещала в масив?
     
Loading...
Thread Status:
Not open for further replies.