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

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

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

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    fox_malder, ну все верно array_diff выдал элемент который есть только во втором массиве.
     
  2. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    http://otvety.google.ru/otvety/thread?tid=188a8f9ce3b9a3f1
     
  3. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    Приводи код. так не понятно: что о чем?
     
  4. Mykola-bas

    Mykola-bas New Member

    Joined:
    24 Apr 2008
    Messages:
    0
    Likes Received:
    1
    Reputations:
    0
    Всем привет. Такой вопрос.

    [​IMG]
    Есть код вьіборки инфьі с БД и потом в цикле while идет формирование массива

    PHP:
    $c[] = array('character' => array ('cid' => "$row[cid]"'name_c' => "$row[ukr_name_c]"'seyuu' => array('pid' => "$row[pid]"'name_p' => "$row[ukr_name]")));
    Как видно со скриншота, значению cid может соответствовать несколько pid. Сейчас в масиве идет "дублирование" данньіх. То есть каджьій раз cid повторяеться то тока с разньіми pid. Как построить фильтр, чтобьі масив бьіл
    [cid] => 2
    [name_c] => МАКІШІМА Шьооґo
    [seyuu] => Array
    (
    [pid] => 2
    [name_p] => Сакурай Такахірo
    [pid] => 3
    [name_p] => Ханадзава Кана )
     
  5. fox_malder

    fox_malder Active Member

    Joined:
    28 Nov 2008
    Messages:
    162
    Likes Received:
    131
    Reputations:
    73
    народ как получить список файлов в папке( папка весит 500 мб) glob - не предлагать виснет при получении списка
     
  6. tmp

    tmp Banned

    Joined:
    10 Mar 2005
    Messages:
    417
    Likes Received:
    32
    Reputations:
    1
    http://www.php.su/readdir
    не?
     
  7. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    Пишу XML парсер, столкнулся с проблемой.
    Вот дошел до чего, print_r($x); выводит:
    PHP:
    SimpleXMLElement Object ( [@attributes] => Array ( [id] => 1852 [feedContents] => ) [0] => Carioca SimpleXMLElement Object ( [@attributes] => Array ( [id] => 4711 [feedContents] => ) [0] => CarNationsC )
    Атрибуты получить я знаю как.
    А как получить вот это [0] => CarNationsC?

    Пробовал вот так print_r($x->0); и так print_r($x['0']);
    Не помогает. Подскажите пожалуйста.
     
  8. Chipsonx

    Chipsonx New Member

    Joined:
    9 May 2012
    Messages:
    6
    Likes Received:
    2
    Reputations:
    0
    Нужно чтобы данные из html формы сравнивались с каждым элементом массива. Если совпадает, то выводятся данные из формы. Грубо говоря поиск по массиву. Написал вот такой php скрипт:
    PHP:
    <form action="test.php" method="POST">
    <input type="text" name="user" /><br>
    <input type="submit" value="login" />
    </form>

    <?php
    $user 
    $_POST['user'];


    $file = array('one''two''three');

    $size 2;
    $i 0;
    while(
    $i<=$size){


    if(
    $file[$i] = $user){
    echo 
    $file[$i];

    }
    else {    echo 
    'no'.'<br>';    }
    $i++;
    }


    ?>
    Когда я ввожу в форму одно из значений массива, мне оно выводиться, но 3! раза. Почему так? Может есть какой-то другой способ поиска в массиве? Спасибо.
     
  9. blud

    blud New Member

    Joined:
    29 Jan 2011
    Messages:
    22
    Likes Received:
    2
    Reputations:
    -5
    Еще один вопрос:
    CodeIgniter ругается:
    PHP:
    You have an error in your SQL syntaxcheck the manual that corresponds to your MySQL server version for the right syntax to use near 'F II, 'Soccer')' at line 1 INSERT INTO `sport_league` (`leag`, `name`, `game_name`) VALUES (5979Club F II'Soccer')
    В чем же ошибка?
    запрос такой:
    PHP:
    $this->db->insert('sport_league', array('leag' => $l['id'],'name' => $l['name'], 'game_name' => $l['game_name']));
     
  10. seofilms

    seofilms Banned

    Joined:
    27 May 2009
    Messages:
    66
    Likes Received:
    46
    Reputations:
    14
    Недавно писал скрипт добавления комментариев и напоролся на такую вещь:
    Не знал как определить пользователя который добавляет комментарий если смотреть по кукисам логин(к примеру хотим узнать что именно админ добавил коммент)...
    Но что, если кто то себе в кукисы пропишет LOGIN : Admin ?
    Получается он сможет написать любой комментарий от имени админа!
    Единственный выход который я вижу, это проверять и его пароль с паролем в базе данных. Но в таком случае придется каждый раз нагружать базу данных доп. запросом.
    Должен же быть другой выход или все только так и делают ?
     
  11. mironich

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

    Joined:
    27 Feb 2011
    Messages:
    733
    Likes Received:
    73
    Reputations:
    19
    В сессии имя хронить.
    В кукисы писать не LOGIN : Admin а просто какй-то идентефикатор который в БД хранится, и все...
     
  12. 1profit

    1profit New Member

    Joined:
    29 Jun 2013
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Каким кодом можно отследить ботов на сайте? То есть занимаюсь арбитражем, лью через тизерную сеть на свою прокладку (слежу через ГА), заинтересовал вопрос отлова ботов.. Стандартные решения с невидимой точкой, невидимой ссылкой не подойдут, т.к уже не актуально по моему..Боты умные стали
    Зарание спасибо.
    Если не сложно напишите в личку поподробней)(т.к я вообще "Нуль" в написании скриптов и прочего)
     
  13. fox_malder

    fox_malder Active Member

    Joined:
    28 Nov 2008
    Messages:
    162
    Likes Received:
    131
    Reputations:
    73
    добрые люди как можно справиться с запросом к базе данных (база из 100 тысяч строк), надо чтобы можно было обратить к такому большому массиву
    возможна ли при таком запросе использовать Итераторы объектов?
     
    #21713 fox_malder, 12 Jul 2013
    Last edited: 12 Jul 2013
  14. freedoommass

    freedoommass New Member

    Joined:
    10 Apr 2013
    Messages:
    1
    Likes Received:
    0
    Reputations:
    0
    убрать рандом, сделать очерёдность

    Время доброе всем. собсно по сабжу, есть такой script.php(ниже)
    как видно аккаунты берутся из файла accs, но берутся они рандомно и с одного аккаунта отправляет по несколько раз,

    и сам вопрос , подскажите плз - как сделать , чтобы и файла с аккаунтами бралось поочередно по одному аккаунту, и отсылалось только по одному разу с него? сам скрипт:
    PHP:
    <?php
    $accs 
    'accs.txt';

    здесь некий кодне по делу...


        
    $f_contents file($accs);
        
    $line $f_contents[array_rand($f_contents)];
        
    $data $line;
        
    $temp explode(':'$data); 
        
    $login trim($temp[0]);
        
    $pass trim($temp[1]);
        
    $count_sends trim($temp[2]);

       
    здесь опять некий кодне по делу...
        if(
    $sendсообщение->sendMessage("$value"$messahetosend ))
        {
            
            
    $cdate=date("m.d.y G:i:s");
            
    file_put_contents($log"$cdate - $login => $value Message: $messahetosend sent.\n"FILE_APPEND LOCK_EX);
            
            
        
    $file_contents file_get_contents($accs);

        if (
    $count_sends == ""){
            
    $new_count_sends="1";
            
    $file_contents str_replace("$login:$pass","$login:$pass:$new_count_sends",$file_contents);
        } else{
            
    $new_count_sends=$count_sends+1;
            if (
    $new_count_sends == "5"){
               
    $file_contents str_replace("$login:$pass:$count_sends\n","",$file_contents);
               
    $file_contents str_replace("\n$login:$pass:$count_sends","",$file_contents);
               
    $file_contents str_replace("$login:$pass:$count_sends","",$file_contents);
            } else{
            
    $file_contents str_replace("$login:$pass:$count_sends","$login:$pass:$new_count_sends",$file_contents);
            } 
        } 
        
    file_put_contents($accs,$file_contents);

        }
        
        }
    ?>
     
  15. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    PHP:
     $line $f_contents[array_rand($f_contents)];
    Замени на
    PHP:
     $line $f_contents[$i];
    $i соотв либо в теле цикла увеличивай, либо используй for
     
  16. mrDebian

    mrDebian Member

    Joined:
    27 Jan 2013
    Messages:
    96
    Likes Received:
    13
    Reputations:
    10
    С каким запросом? Ты бы хоть запрос выложил.

    И да, из того что ты написал - ничего не понятно.
     
  17. grad85

    grad85 New Member

    Joined:
    20 Jan 2012
    Messages:
    12
    Likes Received:
    0
    Reputations:
    0
    есть два файла
    1 - id:hash
    2 - hash:pass

    нужно получить третий файл формата

    id:hash:pass или id:pass

    то есть сравнить строки в двух файлах и строки у которых первые 32 символа совпадают записать в виде
    id:hash:pass или id:pass в третий файл.

    может у кого есть решение готовое? на php да или пофиг на чем. очень надо помогите.
     
  18. MaxFast

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

    Joined:
    12 Oct 2011
    Messages:
    575
    Likes Received:
    149
    Reputations:
    94
    Как из полученного исходного кода спарсить то, что имеет вид:
    id:username:password:salt ?
     
  19. Gef3Dx

    Gef3Dx New Member

    Joined:
    27 Sep 2009
    Messages:
    28
    Likes Received:
    1
    Reputations:
    -5
    загоняешь оба файла в массив потом загоняешь с каждого массива по 32 символа в строчки потом просто сравниваешь а потом регуляркой парсишь и записываешь в таком виде в каком хоч в помощь GOOGLE
    filegetcontents()
    implode()
    preg_match()
    fputs()
     
  20. Gef3Dx

    Gef3Dx New Member

    Joined:
    27 Sep 2009
    Messages:
    28
    Likes Received:
    1
    Reputations:
    -5
    Регулярные выражения в помощь http://forum.antichat.ru/thread92492.html

    или GOOGLE
    preg_match()
     
Thread Status:
Not open for further replies.