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

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

Thread Status:
Not open for further replies.
  1. g-warning

    g-warning Elder - Старейшина

    Joined:
    28 Dec 2007
    Messages:
    76
    Likes Received:
    17
    Reputations:
    0
    Подскажите пожалуйста как узнать сколько раз в файле "referer.dat" повторяется слово "href" :)
     
  2. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    substr_count(file_get_contents('referer.dat'), 'href')
     
  3. myp3zz

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

    Joined:
    10 Jun 2007
    Messages:
    26
    Likes Received:
    15
    Reputations:
    0
    PHP:
    <?php
    $file
    =fopen('referer.dat','r');
    print 
    ereg("href",$file,$k);
    ?>
    хз мб что то типа того =)
     
  4. zythar

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

    Joined:
    16 Feb 2008
    Messages:
    517
    Likes Received:
    109
    Reputations:
    5
    читай из файла построчно, потом в каждой строке при помощи регулярных выражений или простых функций поиска ищи слово href. и все это естественно в цикле
     
  5. Piflit

    Piflit Banned

    Joined:
    11 Aug 2006
    Messages:
    1,249
    Likes Received:
    585
    Reputations:
    31
    Linuxoid
    r57 shell. погугли
     
  6. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Повторюсь с вопросом по поводу регера. Регер сервиса nextmail, но вот проблема, мыло не получается зарегестрировать, посмотрите, посоветуйте что нибудь...
    PHP:
    <?php
     Error_Reporting
    (E_ALL & ~E_NOTICE);
     
    $img="";
     
    $res="";
     
    $sock=@fsockopen("www.nextmail.ru",80);
     if(!
    $sock) die("fsockopen() error.");
    fputs($sock,
    "GET /reg/obligatory.phtml HTTP/1.0\r\n".
                
    "Host: www.nextmail.ru\r\n".
                
    "Referer: http://nextmail.ru/reg/obligatory.phtml\r\n".
                
    "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
                
    "Connection: Close\r\n\r\n");


     while(!
    feof($sock))
        {
            
    $img .= fgets($sock1024);
        }
    $pos strpos($img"/au/code.phtml?u=");
    $got=substr($img,$pos,30);
    $got="http://nextmail.ru".$got;
    fclose($sock);

    echo 
    "<form><img src='$got'>";
    print
    "</br>\r\n";
    print
    "<br>";
    print
    "<form method='get'>";
    print
    "Code";
    print 
    "<br/>";
    print
    "<br/>";
    print
    "<input type='text' name='image' value='' /><br/>";
    print
    "<br>";
    print
    "<input type='submit' name='sub' value='Go!' /><br/></form>";

    if(isset(
    $_GET['sub']))
    {
    $kode=$_GET['image'];
    $pass=qwerrewwe;
    $nam=dfdwdsds;
    $data="todo=obliginfo&name=".$nam."&domain=nextmail.ru&password=".$pass."&pwdconf=".$pass."&fullname=".$nam."&sex=Male&bday=2008-04-01&regcode=".$kode."&agreed=yes&question=%F3%D7%CF%CA+%D3%CF%C2%D3%D4%D7%C5%CE%CE%D9%CA+%D7%CF%D0%D2%CF%D3%28%D0%CF%CC%C5+%D7%D7%CF%C4%C1+%CE%C9%D6%C5%29.&manualquest=&answer=&email=&timezone=3";
    $size=strlen($data);
    $rega=@fsockopen("www.nextmail.ru",80);
     if(!
    $rega) die("fsockopen() error.");
    fputs($rega,
    "POST /reg/obligatory.phtml HTTP/1.0\r\n".
                
    "Host: www.nextmail.ru\r\n".
                
    "Referer: http://nextmail.ru/reg/obligatory.phtml\r\n".
                
    "User-Agent:Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.0.2) Gecko/20060308 Firefox/1.5.0.2\r\n".
                
    "Content-Length: ".$size."\r\n\r\n".$data);

                while(!
    feof($rega))
        {
            
    $res .= fgets($rega1024);
        }
        
    fclose($rega);

     echo 
    $res;

    }


    ?>
     
  7. imajo.ati

    imajo.ati Banned

    Joined:
    21 Feb 2008
    Messages:
    232
    Likes Received:
    62
    Reputations:
    8
    у меня такая проблема:
    при отправке данных через POST,
    спец. символы автоматически экранируются слешем ( \ )
    а именно апострофы, кавычки и сам слеш.
    если вопрос уже был, прошу прощения =) 264 страницы

    мне нужно избавиться от этого лишнего слеша стандартным способом (если есть такой)
     
  8. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Универсальный способ:

    PHP:
    if(ini_get('magic_quotes_gpc')==1)
      
    $txt=stripslashes($txt);
     
    1 person likes this.
  9. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    В базе MySQL
    Code:
    N NOT NULL auto_increment
    Вставляю новую строку в базу
    PHP:
    $p=mysql_query("INSERT INTO `$bz` ( `N` , `num` , `s1` , `s2` , `Rayon` , `street` , `mat` , `ploch` , `etazh` , `cena` )
           VALUES (
           '', '"
    .$_SESSION["auth_userid"]."', '', '', '', '', '', '', '', ''
           ) "
    );
    Как узнать значение N в новой строке?или просто легче как нибудь написать подругому?
     
  10. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Сделай сразу же после инсерта запрос
    Code:
    SELECT MAX(`N`) FROM `$bz`
    или
    SELECT `N` FROM `$bz` ORDER BY `N` DESC LIMIT 1
    
     
  11. GreenBear

    GreenBear наркоман с медалью

    Joined:
    7 May 2005
    Messages:
    2,547
    Likes Received:
    1,398
    Reputations:
    612
    mysql_insert_id()
     
    2 people like this.
  12. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    !{ra!{e/\/, ответ на твой вопрос
    пишу здесь.
    Второй быстрее, ибо там юзаются индексы, если они есть, конечно. Если индекс на поле `N` не стоит, то лучше поставить. Разница в скорости будет заметна на больших табличках

    ЗЫ. ПМ почисти =)
     
    1 person likes this.
  13. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    ....сделал так
    PHP:
    $p=mysql_query("SELECT MAX(`N`) FROM `$bz`");
    а как обращаться с переменной $p?
     
  14. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    $p = mysql_query ("SELECT MAX(`N`) FROM `$bz`");
    $row = mysql_fetch_row ($p);
    $max = $row[0];
    
    ЗЫ. Кстати, попробуй еще mysql_insert_id(), как GreenBear написал, я про нее забыл совсем).
     
  15. !{ra!{e/\/

    !{ra!{e/\/ Banned

    Joined:
    27 Aug 2007
    Messages:
    98
    Likes Received:
    50
    Reputations:
    3
    делаю так..добавляю новую строку
    PHP:
     $p=mysql_query("INSERT INTO `$bz` ( `N` , `num` , `s1` , `s2` , `Rayon` , `street` , `mat` , `ploch` , `etazh` , `cena` ) 
           VALUES ( 
           '', '"
    .$_SESSION["auth_userid"]."', '', '', '', '', '', '', '', '' 
           ) "
    ); 
    и каждый раз она добавляется к нонец....как сделать так чтоб она вставлялась в начало....т.е. каждая добавленная становится первый а все остальные смещаются
     
  16. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Code:
    UPDATE `$bz` SET `N` = `N`+1
    INSERT INTO `$bz` (`N`, ....) VALUES (1, ...)
    
     
  17. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    Какой конец, какое начало, о чем ты? Если даже следовать нестрогой реляционной теории - то отношение (таблица) состоит из набора неупорядоченных кортежей (записей, строк... как удобно). И их порядок в выборке зависит только от построенного оптимизатором плана выполнения =\
     
    3 people like this.
  18. Ergoproxy

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

    Joined:
    18 Jan 2008
    Messages:
    248
    Likes Received:
    155
    Reputations:
    45
    Как сделать переменную вида $Name==("оля") не чувствительну к регистру?
     
  19. Helios

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

    Joined:
    14 Jan 2007
    Messages:
    414
    Likes Received:
    180
    Reputations:
    103
    Т.е. как запросит, так и выдашь. Запроси при выборке
    Code:
    SELECT * FROM `table` ORDER BY `N` DESC
    
    тебе мускул записи в обратном порядке по полю N отсортирует.

    А как это все хранится внутри БД одному богу известно.

    Поэтому то, в каком порядке будут выведены записи при запросе без указания сортировки:
    Code:
    SELECT * FROM `table`
    
    звисит от целой кучи условий (боженька суеверный) - от типа используемого формата таблиц (InnoDB, MyISAM, etc), от индексации таблиц и прочего
     
    #2599 Helios, 7 Apr 2008
    Last edited: 7 Apr 2008
    1 person likes this.
  20. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Неясный вопрос, что надо конкретно? Имя самой переменной всегда будет чувствительным к регистру, т.е. $name и $Name - две разные переменные.
    А значение переменной, чтобы сравнить регистронезависимо, можно например перевести в нижний регистр функцией strtolower().
     
    1 person likes this.
Thread Status:
Not open for further replies.