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

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

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

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

    Joined:
    19 Jan 2007
    Messages:
    555
    Likes Received:
    420
    Reputations:
    76
    drive_pan
    в index.html между тегов <head></head> вписываешь:
    Code:
    <link rel="stylesheet" type="text/css" href="адрес к файлу стилей" />
    в этом файле пишешь:
    Code:
    .smp_main {}
    Интересно:
    http://stepbystep.htmlbook.ru/?id=43


    А вообще такие вопросы в соседнюю тему http://forum.antichat.ru/lastpostinthread43254.html
     
    #3181 FeraS, 27 May 2008
    Last edited: 27 May 2008
    1 person likes this.
  2. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Короче препод зверь и просит без использования массива как реалезовать?Он говорит надо типа напрямю с буфером... ВОт.
    PHP:
    <style type="text/css">
    <!--
    .N { background-color:white; }
    .C { background-color:#FFFFBB; }
    .A { background-color:#BBFFBB; }
    .D { background-color:#FFBBBB; }
    -->
    </style>
    <?
    if(!empty($_POST[submit])&&!empty($_POST[file1])&&!empty($_POST[file2]))
    {
    $file1=$_POST[file1];
    $file2=$_POST[file2];


    $file1=fopen($file1,'rb');
    $file2=fopen($file2,'rb');

    for($a=0;$file3=fgets($file1);$a++)
    {
    $text1[$a]=$file3;
    }

    for($a=0;$file4=fgets($file2);$a++)
    {
      $text2[$a]=$file4;
    }

         }
    ?>
    <table width=100% height=20% border=0 ><tr><td>
    <form method='POST' align=right>
    file1:<input type=text name='file1'>
    file2:<input type=text name='file2'>
    <input type=submit name=submit>
    </form>
    </td></tr></table>


    <table bgcolor="white" border="1" cellpadding="1" cellspacing="1" width="100%">
    <tr bgcolor="#eeeeee">
    <td width=50%>
    old version<br>
    <?echo $_POST[file1];?>
    </td>
    <td>
    new version<br>
    <?echo $_POST[file2];?>
    </td>
    </tr>
    </table>
    <br>
    <!-- by Mylenka-->
    <?
     for($a=0;count($text1)>$a;$a++)
    {
         
         if(strcasecmp($text1[$a],$text2[$a])==0)
         {
           print '<table bgcolor="#000000" border="0" cellpadding="1" cellspacing="1" width="100%">';
           print '<tr  bgcolor="#eeeeee">';
           print '<td style="color: rgb(136, 136, 136); font-family: Courier New,Helvetica,sans-serif; font-size: 8pt;" bgcolor="white">';
           echo '<font color=red>'. $a .'</font> ';
           echo $text1[$a];
           print '</td><td  style="color: rgb(136, 136, 136); font-family: Courier New,Helvetica,sans-serif; font-size: 8pt;" bgcolor="white">';
           echo '<font color=red>'. $a .'</font> ';
           echo $text2[$a];
           print'</td></tr></table>';
         }
    else
         {
           print '<table bgcolor="#000000" border="0" cellpadding="1" cellspacing="1" width="100%" >';
           print '<tr style="color: rgb(0, 0, 0);" bgcolor="#eeeeee">';
           print '<td class="C" width=50% style="color: rgb(136, 136, 136); font-family: Courier New,Helvetica,sans-serif; font-size: 8pt;" bgcolor="white">';
           echo '<font color=red>'. $a .'</font> ';
           echo $text1[$a];
           print '</td><td class="C" style="color: rgb(136, 136, 136); font-family: Courier New,Helvetica,sans-serif; font-size: 8pt;" bgcolor="white">';
           echo '<font color=red>'. $a .'</font> ';       
           echo $text2[$a];
           print'</td></tr></table>';
         }
           
    }
    ?>

     
    1 person likes this.
  3. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Что реализовать?
     
  4. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Вот это всё нужно реалезовать без массивов... .Нужно как то работать напрямую с буфером...
     
  5. Takesoul

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

    Joined:
    30 Apr 2008
    Messages:
    26
    Likes Received:
    9
    Reputations:
    0
    Полагаю, что это будет пхп- нужно чтобы на моем сайте для определенного ip страница выглядела другой (не редирект, а именно эта же страница)...Кто поможет, как это реализовать?
     
  6. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    PHP:
    <?php
    $ips 
    = array('211.43.65.87','24.65.77.32');
    if(
    in_array($_SERVER['REMOTE_ADDR'],$ips)) {
       echo 
    'Ваш IP есть у нас всё норм, бла бла бла, тут можно Include() и будет другая пага';
    }else{
       echo 
    'Убейсо';
    }
    ?>
    Buffalon, чё за пропод, у вас в школе PHP уроки штоле есть... Сомневаюсь, а если ты ходиш на курсы, то это тебе в первую очередь надо, никто тебя не заставлял и не зачем просить чтоб за тебя другие сделали, ты для того на курсы и ходиш чтоб сам учился (это тоько если на курсы, а если в школе то я непонял чё тебе надо там ез массивов :) )
     
    #3186 Ponchik, 28 May 2008
    Last edited: 28 May 2008
    1 person likes this.
  7. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Всё ,всем сори ... .Тока щас понял его мысли... .Тоесть он хотел напрямую .Хех а какая разница... .
     
    #3187 Buffalon, 28 May 2008
    Last edited: 28 May 2008
  8. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    echo $_SERVER['REMOTE_ADDR'];// Myip
     
  9. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    Как сравнить 1 слово в 1 файле со всем 2 файлом?ЗАтем 2 слово ..итд... .Додумался тока до
    $file3=file_get_contents($file1);
    $file4=file_get_contents($file2);
    $file3=str_replace("\n",' ',$file3);
    $file3=str_replace("\r",' ',$file3);
    $file3=str_replace(",",' ',$file3);
    Без использовани(array функций)
    ВСё оК.. .Сам сделал
    PHP:
    <?
    if(!empty(
    $_POST[submit])&&!empty($_POST[file1])&&!empty($_POST[file2]))
    {


    $file1=$_POST[file1];
    $file2=$_POST[file2];
    $file5=fopen($file1,'rb');
    $file6=fopen($file2,'rb');



    }
    ?>
    <table width=100% height=20% border=0 ><tr><td>
    <form method='POST' align=right>
    file1:<input type=text name='file1'>
    file2:<input type=text name='file2'>
    <input type=submit name=submit>
    </form>
    </td></tr></table>


    <table bgcolor="white" border="1" cellpadding="1" cellspacing="1" width="100%">
    <tr bgcolor="#eeeeee">
    <td width=50%>
    old version<br>
    <?echo $_POST[file1];?>
    </td>
    <td>
    new version<br>
    <?echo $_POST[file2];?>
    </td>
    </tr>
    </table>
    <br>
    <!-- by Mylenka-->
    <?
    if(!empty($_POST[submit]))
    {
    //while(!feof($file3))
    //{


    while($f=fread($file5,1))
            {if($f=="\n" or $f=="\r" or $f=="." or $f=="," or $f=="/"){$f=' ';}
            $s .= $f;$num1=ftell($file5);
                if($f==' ')
                {if($s==' '){continue;}fseek($file6,0,SEEK_SET);
                  while($j=fread($file6,1))
                    {if($j=="\n" or $j=="\r" or $j=="." or $j=="," or $j=="/"){$j=' ';}
                    $t .= $j;$num2=ftell($file6);
                        if($j==' ' or $j=="\r")
                        {
                        if($s==$t){echo $num1.'<font color=red>cимвол =></font>'. $s .'<font color=red>совпадает с </font>'.$num2.'<br>'; }$t=NULL;
                        }
                    }$s=NULL;
                }  
            }
        }
    ?>
    <b><br><font color="black" size="-2">MYLENKA</font></b>
    Эт кому итересно
     
    #3189 Buffalon, 28 May 2008
    Last edited: 28 May 2008
  10. dk-ne

    dk-ne Elder - Старейшина

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Как считаете, учиться php лучше прочитав кучу учебников или писать php и обращаться при этом к учебникам. Подскажите лучший способ, который использовали вы.
     
  11. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    dk-ne легче конешно писать пхп и обращаться к учебникам но правильней конешно было сначало прочитать учебники, но вот в чом загвоздка, ты например хочеш научится работать с скоетами а в учебнике перед этим например идёт целая статья страниц так на 20 про историю сокетов кто их придумал итд. и прочий ненужный мусор, хотя смотря какие учебники вот например хорошие пособие http://lv2.php.net ищеш какую тебе нужно функцию там всё в примерах и довольно хорошее описание, жаль что такого нет для перла (в cpan некоторые примеры написаны неправильно и неторорые наработают)
     
  12. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    Вот хочу написать скрипт отправляющий сообщение пользователю в контакте

    но возникает ошибка 400 Bad Request (плохой запрос) , в чом я ошибся, и правильно ли я передаю с запросом куки

    PHP:
    <?php   
    $hostname 
    "vkontakte.ru";  
      
    $path "mail.php"
      
    $line "";  
    $fp fsockopen($hostname80$errno$errstr30);   
     
      if (!
    $fp) echo "$errstr ($errno)<br />\n";   
      else  
      {   
    $data=
    "secure=3ae6&chas=2859c6c7e5424149fb&photo=794085ax&to_id=5450663&to_reply=126933148&act=sent&title=[бла бла]&message=[бла бла].+\r\n";  
          
        
    $headers "POST $path HTTP/1.1\r\n";   
        
    $headers .= "Host: $hostname\r\n";   
        
    $headers .= "Content-type: application/x-www-form-urlencoded\r\n";  
        
    $headers .= "Content-Length: ".strlen($data)."\r\n\r\n"
        
    $headers .= "Cookie: remixchk=5; remixmid=5427502; remixemail=[бла бла]; remixpass=[бла бла]\r\n";  

        
    fwrite($fp$headers.$data);   

        while (!
    feof($fp))  
        {   
          
    $line .= fgets($fp1024); 
           
        }   
        
    fclose($fp);   
      }   
      echo 
    $line;  
    ?>  
     
    #3192 ZET36, 29 May 2008
    Last edited: 29 May 2008
  13. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    PHP:
    $path "http://vkontakte.ru/mail.php";
     
    1 person likes this.
  14. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    всёравно выскакивает ошибка

    HTTP/1.1 302 Found Server: nginx/0.5.35 Date: Thu, 29 May 2008 01:38:34 GMT Content-Type: text/html; charset=windows-1251 Connection: keep-alive X-Powered-By: PHP/5.2.0-8+etch11 Pragma: no-cache Cache-control: private, must-revalidate Set-Cookie: remixchk=5; expires=Fri, 29-May-2009 01:38:34 GMT; path=/; domain=.vkontakte.ru Location: login.php?u=1 Content-Length: 0

    400 Bad Request

    (скрипт висит на денвере)
     
    #3194 ZET36, 29 May 2008
    Last edited: 29 May 2008
  15. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Во-первых, после всех заголовков необходимы ещё символы "\r\n".
    Во-вторых, 302 - это не ошибка, а редирект.

    PHP:
     //...
       
    $headers .= "Cookie: remixchk=5; remixmid=5427502; remixemail=[бла бла]; remixpass=[бла бла]\r\n\r\n"
    //...  
     
    1 person likes this.
  16. ZET36

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

    Joined:
    8 Oct 2007
    Messages:
    250
    Likes Received:
    49
    Reputations:
    0
    у меня 400 а не 302))
     
    1 person likes this.
  17. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    У тебя ошибка в этом фрагменте кода:

    PHP:
    $headers .= "Content-Length: ".strlen($data)."\r\n\r\n"
    $headers .= "Cookie: remixchk=5; remixmid=5427502; remixemail=[бла бла]; remixpass=[бла бла]\r\n";
    или поменяй местами эти строки, или убери двойной перевод строки в верхней, и добавь в нижней, то есть, приведи к такому виду:

    PHP:
    $headers .= "Content-Length: ".strlen($data)."\r\n"
    $headers .= "Cookie: remixchk=5; remixmid=5427502; remixemail=[бла бла]; remixpass=[бла бла]\r\n\r\n";
    В POST-данных, передавать \r\n не нужно...
     
    1 person likes this.
  18. Blad94

    Blad94 New Member

    Joined:
    4 Nov 2007
    Messages:
    25
    Likes Received:
    2
    Reputations:
    0
    Помогите пожалуйста вот у меня код
    PHP:
    $s preg_replace("...","func($1)",$s);
    я хочу что бы функция обработала найденное регулярным выражением а она обрабатывает $1.как тут быть. Спасибо, извините за корявый язык
     
  19. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Нужно использовать preg_replace_callback()
    http://ru2.php.net/manual/ru/function.preg-replace-callback.php
     
  20. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    PHP:
    $s preg_replace("...","func(\\1)",$s);
    Правда, если найденный элемент это строка, то разумеется, должно быть соблюдение семанитики вызова функции:

    PHP:
    $s preg_replace("...","func('\\1')",$s);
     
Thread Status:
Not open for further replies.