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

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

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

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    volgovend, вот простейший
    PHP:
    <?php
      file_put_contents 
    ('log.txt'$_SERVER['QUERY_STRING'] . "\n"FILE_APPEND);
    ?>
     
    1 person likes this.
  2. Nelz.

    Nelz. Member

    Joined:
    2 Aug 2010
    Messages:
    151
    Likes Received:
    7
    Reputations:
    0
    всем привет. как реализовать такую фишку,юзер заходит в свой логин и он хочет редактировать свою данные которые храниться в бд (ред данные логина который зашел,зашел с другова логина ред ево данные итд)

    как такое реализоват ? сессия?
     
  3. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    как то он работает на тяп ляп... то 10 то 20 то сиволы какието, я помню видел меньше код... но не могу найти.. Можно как то упростить это ?
     
  4. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    390
    Reputations:
    58
    qaz,
    PHP:
    <?PHP 
    $filet 
    fopen("cookie.txt","w");     
    fwrite($filetNULL );     
    fclose($filet);    

    $randrand(804444430);    

    $cur=curl_init();    
    curl_setopt($cur,CURLOPT_URL,"http://spaces.ru/mysite/?name=Jss17&password=asdas");    
    curl_setopt($cur,CURLOPT_USERAGENT,"$rand");    
    curl_setopt($cur,CURLOPT_COOKIEJAR,"cookie.txt");    
    curl_setopt($cur,CURLOPT_COOKIEFILE,"cookie.txt");    
    curl_setopt($curCURLOPT_REFERER"http://site.at.ua");    
    curl_setopt($cur,CURLOPT_RETURNTRANSFER,1);    
    $doccurl_exec($cur);    
    curl_close($cur);    

    echo 
    $doc;
    $strpos strpos($doc'не обнаружен');
    if (
    $strpos !== FALSE)  
    {  
        echo 
    'Ошибка';  
    }
    ?>
    И сохранить в UTF-8 без BOM, как подсказывает Gifts.
     
    1 person likes this.
  5. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio Может перестанете просить написать код вместо вас? Да, вы сейчас скажете - "я просил только найти", но суть не изменится

    Skofield перестаньте писать код вместо людей, во всяком случае сразу. Вначале стоит отправить пользователя подучиться и, когда он вернется отягощенный грузом знаний, помочь сделать нормальную версию

    Теперь по сути:

    Skofield господи, что это за код??

    Adio
    PHP:
    $text 'some long long text';
    $probability 5;

    function 
    bold_it($str) {
        global 
    $probability;
        return 
    mt_rand(0,$probability) ? $str'<b>'.$str.'</b>';
    }


    echo 
    $text

    $text implode(' 'array_map('bold_it'explode(' '$text)));

    echo 
    '<hr />'.$text;
    $text - это ваш текст
    $probability - показывает что в среднем одно слово из значения этой переменной - будет заменено жирным.
     
    _________________________
    #18585 Gifts, 2 Jun 2011
    Last edited: 2 Jun 2011
    1 person likes this.
  6. LStr1ke

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

    Joined:
    29 Jul 2009
    Messages:
    801
    Likes Received:
    145
    Reputations:
    73
    Блин я как всегда извращенно и с регулярками :((((((((
    PHP:
    <?php
    $data 
    '
        some text for formatting
    '
    ;


    $search 2// Сколько слов менять, Не должно быть больше количества слов

    $words explode(" ",$data);
    $step 0;
    $keys range(0,count($words));
    $keys array_rand($keys,$search+1);
    sort($keys);

    function 
    setStep() {
        global 
    $step;
        
    $step++;
        return 
    true;
    }
    function 
    callback($mat) {
        global 
    $step,$keys;
        
    setStep();
        return 
    array_search($step,$keys) ? "<b>".$mat[0]."</b>" $mat[0];    
    }

    echo 
    preg_replace_callback("|([а-яa-z0-9]+)|iu","callback",$data);
    ?>
     
  7. qaz

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

    Joined:
    12 Jul 2010
    Messages:
    1,551
    Likes Received:
    173
    Reputations:
    75

    а што такое BOM ?? подскажите где почитать
     
  8. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    qaz http://tinyurl.com/3whvhll
     
    _________________________
    2 people like this.
  9. Skofield

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

    Joined:
    27 Aug 2008
    Messages:
    960
    Likes Received:
    390
    Reputations:
    58
    Ужасный код, написал выше ведь. Не подлежит человеческому восприятию, прошу удалить.
    Постараюсь больше не писать такой бред.
     
  10. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Спасибо ! :) не проверял работает или нет, пока сдесь отвечали сделал потчи так же. Но все равно спасибо !
     
  11. Дональд

    Joined:
    6 Dec 2009
    Messages:
    0
    Likes Received:
    2
    Reputations:
    0
    Товарищ Gifts разрываеться просто перед Вами и когда то ему надоесть и забьет на Вас :D , интересно посмотреть на досуге. Взяли учебники бы и училися все равно через форум ни чему не научитеся,только поверхностно. Года уходят на изучение языков,а вы хотите чтоб Вам из кишков все сказали что да как.Иногда такое отчибучат,смех и грех :)
     
  12. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Code:
     $text = 'some long long text';
    $probability = 5;
    
    function bold_it($str) {
        global $probability;
        return mt_rand(0,$probability) ? $str: '<b>'.$str.'</b>';
    }
    
    
    echo $text; 
    
    $text = implode(' ', array_map('bold_it', explode(' ', $text)));
    
    echo '<hr />'.$text;  
    
    
    Работает хорошо, но есть проблема номер 2...

    У меня этот код должен работать в цикле, в котором так же беруться файлы, 01 02 03, с тестом где должны ставиться жирные слова. (Вынести не знаю как...)

    Сам код по отдельности работает, но стоит вставить его в цикл, он срабатывает один раз, и потом пишет фатал ошибку.

    Как быть ?

    Цикл {

    переменная которая содержит текст

    Сдесь (Функция которая должна сделать рэндумно жирные слова)

    вывод текста
    }

    без понятие, то ли логика у меня не правильная, то ли нужно сделать, без функции...
     
  13. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio я, конечно, понимаю, что ПХП достаточно прост и популярен (на нем написано уже тонны кода), что в нем можно вообще не включать голову и копировать строчки из разных источников и они, скорее всего, заработают. А если вдруг не получается, то какой нить добряк на форуме все исправит, поможет и вообще. Причем этот добряк будет свято верить, что он приносит в мир добро, а не оказывает медвежью услугу и еще больше отключает мозг у человека. Возьмите книжку по ПХП, возьмите в гугл, прочтите по ссылке в моей подписи "как следует задавать вопросы" - и вопросы начнут исчезать сами. Это так просто, нужно просто чуточку думать и перестать врать.

    Теперь по сути - НЕХРЕН копировать бездумно коды. Еще раз для закрепления - НЕХРЕН. Вы не удосужились написать ни текста ошибки, ни в какой строчке он возникает. Но дайте попробую угадать:
    Угадал? Попробуйте прочитать эту строчку несколько раз, при необходимости переведите, потом еще прочитайте переведенную. Ну же, вы можете увидеть в ней разгадку, попробуйте напрячься

    З.Ы. Если кто-то рискнет "делать вместо" - начну расстреливать к чертовой матери. И суд меня оправдает.
     
    _________________________
  14. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    ошибку я знаю, нужно вывести функцию из цикла. Но как она будет работать если файл с текстом включаеться именно в цикле ? т.е цикл перебирает берет

    файл 1
    файл 2
    и т д

    а ваша функция преобразовует текст с жирными рэндумными словами в какую нибудь переменную для дальнейшей обработки.

    Не нужно злиться, я в пхп не силен, читаю по мере возможности, и учю, а что не ясно спрашиваю.

    Ну да ладно, я не просил не чего писать, а коль написали, так меня тепеь нужно в этом обвинять ?

    ..боо
     
  15. PROPH3T

    PROPH3T New Member

    Joined:
    20 Nov 2007
    Messages:
    23
    Likes Received:
    1
    Reputations:
    0
    Помогите, пожалуйста, разобраться.
    Необходимо написать скрипт для вк, предполагаемый алгоритм его действий таков:

    Авторизация,
    Переход на публичную страницу (на стене страницы - треки),
    Фильтрация из кода страницы первых 70ти названий треков и их значений "мне нравится",
    Сортировка на убывание по значению "мне нравится",
    Запись этого всего построчно в файл, в виде:

    На странице выводится по 10 сообщений, для отображения следующих 10ти, используется JS:
    Code:
    wall.showMore(10);
    --------
    Код на данный момент:

    PHP:
    <?php
     
    // Авторизация
    $mail "[email protected]";
    $pass "zxczxczcx";
     
    $res=file_get_contents('http://login.vk.com/?act=login&email='.urlencode($mail).'&pass='.urlencode($pass));
    preg_match("/value=\'(.*?)\'/",$res,$sid);
     
    // Переход в группу 
    $ch=curl_init("http://vkontakte.ru/public12345678");
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
    curl_setopt($chCURLOPT_COOKIE,"remixsid=$sid[1]");
     
    $res=curl_exec($ch); 
    curl_close($ch);
     
    // Парсинг названий и оценок 

    ** предпологаемая регулярка **

    // Cортировка отпарсенных данных
     
    ?> 

    Все, пока что на этом тупик, c регулярками проблемы.
    Подскажите, как лучше сделать дальше, как лучше грабить инфу, регуляркой или strpos/substr, и как это реализовать?
    Привожу кусок кода, для наглядности, с одной оценкой (мне нравится) трека:

    Code:
    <div class="like_wrap fl_r" onmouseover="wall.likeOver('-12345678_685')" onmouseout="wall.likeOut('-12345678_685')" onclick="wall.like('-25834005_685', '1b381637c4da5a700b'); event.cancelBubble = true;">
      <span class="like_link fl_l" id="like_link-12345678_685">Мне нравится</span>
      <div class=" fl_l" id="like_icon-12345678_685"></div>
      <span class="like_count fl_l" id="like_count-12345678_[B][COLOR=DarkRed]***[/COLOR][/B]">[B][COLOR=DarkRed]6[/COLOR][/B]</span>
    Собственно 6 - и есть оценка, которую надо выдрать,
    *** - динамические цифры
     
    #18595 PROPH3T, 3 Jun 2011
    Last edited: 3 Jun 2011
  16. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio расскажите нам, что вы знаете про область видимости переменных в ПХП. Сомневаюсь, что вы пользуетесь неймспейсами, поэтому расскажите нам, что будет если абсолютно все функции объявлять в начале файла, где они будут доступны?

    Давайте вы мне не будете рассказывать, какая у вас тяжелая/легкая жизнь? Я тоже учил и до сих пор учу ПХП. Ваши вопросы решаются простым чтением учебников - ничего нечеловеческого я от вас не прошу
    Вот оказывается где проблема. Давайте вы ВНАЧАЛЕ будете читать, потом еще раз читать, потом когда уже совсем не сможете - прочитаете еще. Потом погуглите, потом снова прочитаете. И только после этого начнете задавать вопросы?


    PROPH3T У вас 5 независимых частей, у вас в скрипте я вижу отсилы первую. Все кроме третьей вы, видимо, можете написать. Вместо нее поставьте заглушку и возвращайтесь, когда напишете все кроме нее. Вопросы по регуляркам в соседнем топике

    З.Ы. Умникам еще раз напоминаю, начну расстреливать, если будете писать код вместо людей.
     
    _________________________
    #18596 Gifts, 3 Jun 2011
    Last edited: 3 Jun 2011
  17. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Удовлетворяю все желание. спрашивать ни чего больше не буду, раз такие дела.

    только не нужно меня обвинять, дайте хоть уйти нормально
     
  18. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio Я вам пытаюсь помочь, не стройте из себя оскорбленную невинность. Я задал вам несколько наводящих вопросов-фраз, возможно не очень хорошо заметных, повторю:
    Попробуйте найти ответы на них и описать свои наблюдения сюда или в ЛС. Это поможет вам с этой проблемой (а может и с будущими), я гарантирую
     
    _________________________
  19. Adio

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

    Joined:
    23 May 2005
    Messages:
    1,646
    Likes Received:
    148
    Reputations:
    18
    Работает, я вынес функцию, именно функцию за пределы цикла, а implode оставил в нужном месте. Но как такое может быть, что функция получает текст из файла до открытие файла ?


    На счет переменных и вообще написание кода, я все знаю образно из опыта (малого) так как я не програмист, но иногда что то подправить, доделать получаеться.

    Можно услышать логику данной функции ?

    Code:
    return mt_rand(0,$probability) ? $strx:
    
    Спасибо
     
    #18599 Adio, 3 Jun 2011
    Last edited: 3 Jun 2011
  20. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Adio следует различать объявление функции, которое реализуется с помощью ключевого слова function и вызовом этой функции.

    При объявлении вы сообщаете интерпретатору, что у вас в скрипте будет эта функция, после этого к ней можно обращаться

    При вызове функции, и если она уже была объявлена (пункт 1) - вы просто выполняете код, который находится внутри функции. Объявить функцию вы можете где угодно.

    Поэтому например можно выносить функции в отдельные файлы и подключать эти файлы с помощью include()

    Но все это и в больших красках есть в книжках (не в справочниках, а книжках)

    Еще раз напомню, мне все равно как вам тяжело, но я обещаю, если вы чуть чуть ИЗУЧИТЕ, а не будете делать "образно" - вы сэкономите себе огромное количество времени, которое ждете ответа на вопросы на форуме

    http://php.net/manual/pl/language.operators.comparison.php Раздел ternary operator. Грубо говоря, функция mt_rand возвращает целое число в диапазоне от 0 до $probability, если вернулся не ноль, то выполнится код, находящийся между "?" и ":" Если вернулся ноль - то выполнится код после ":"

    LStr1ke пожалуйста, ебните себе по пальцам линейкой, спасибо
     
    _________________________
    #18600 Gifts, 3 Jun 2011
    Last edited: 3 Jun 2011
Thread Status:
Not open for further replies.