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

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

Thread Status:
Not open for further replies.
  1. dk-ne

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

    Joined:
    21 Jan 2007
    Messages:
    73
    Likes Received:
    2
    Reputations:
    0
    Где можно найти методичку по php для новичка, в которой бы все необходимое описывалось в доступной форме?
     
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    811
    Reputations:
    231
    Почитай например http://www.goldbook.ws/2007/06/04/php_v_primerakh_vkljuchaja_versiju_6.html
     
    _________________________
  3. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    141
    Likes Received:
    8
    Reputations:
    0
    Почему непечатается последнее слово ??

    PHP:
    <?
    $text="slovo1 slovo2 slovo3 slovo4";

    while(
    $s=strpos($text," ",$i))
    {

    $v=substr($text,$i,$s-strlen($text));

    print 
    "$v<br>";
    $i=$s+1;
    }

    ?>
     
  4. astrologer

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

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    PHP:
    <?
    $text="slovo1 slovo2 slovo3 slovo4"
    echo 
    str_replace(' ''<br>'$text);
    ?>
     
  5. lomerok

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

    Joined:
    23 Apr 2008
    Messages:
    141
    Likes Received:
    8
    Reputations:
    0
    не , мне надо именно с substr i strpos
     
  6. .:EnoT:.

    .:EnoT:. Сексуальное чудовище

    Joined:
    29 May 2007
    Messages:
    803
    Likes Received:
    559
    Reputations:
    50
    lomerok зачем тебе такое безобразие? Если легче сделать как написал astrologer или например так:
    PHP:
    <?php
    $text 
    'slovo1 slovo2 slovo3 slovo4';
    $arr explode(' '$text);
    echo 
    implode('<br/>'$arr);
    ?>
    или так:

    PHP:
    <?php
    $text 
    'slovo1 slovo2 slovo3 slovo4';
    $arr explode(' '$text);
    foreach (
    $arr as $ar)
    {
        echo 
    $ar.'<br/>';
    }
    ?>
    Добавлено:

    Ток проснулся, сразу не допёр)
    Твой код не работает потому что функция strpos() ищет вхождение подстроки по пробелу, а пробелов у тебя три, поэтому и возвращает 3 слова, которые разделены этими пробелами). Т.е. чтобы выводилось 4 слова нужно добавить пробел в самый конец.
    вот:
    PHP:
    <?php
    $text 
    "slovo1 slovo2 slovo3 slovo4 ";
    $i=0;
    while(
    $s=strpos($text," ",$i))
    {

    $v=substr($text,$i,$s-strlen($text));

    print 
    "$v<br>";
    $i=$s+1;
    }

    ?>
    Но лучше так (т.к. твой кривоват):
    PHP:
    <?php
    $text 
    'slovo1 slovo2 slovo3 slovo4 ';
    for(
    $i=0$s=strpos($text," ",$i); $i=$s+1)
    {
       echo 
    substr($text ,$i$s strlen($text)).'<br/>';
    }
    ?>
    Но лучше сделать с массивами как я привёл пример выше)
     
    #3166 .:EnoT:., 25 May 2008
    Last edited: 25 May 2008
  7. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Вообщем вот такая проблема, хочу сделать скрипт, использующий рекламу на моем сайта от tak.ru, что бы он выбирал ссылки а затем делал редирект на нужную нам страницу, на этот скрипт и хочу лить траф с дора, что бы не по одной постоянно ссылке народ шёл а выбирал из списка, ссылок предоставляемых tak.ru только вот проблема написал скрипт, но когда его запускаю, скрипт переходит не на линки рекламы а шлёт сюда http://www.tak.ru/ref.html#4

    PHP:

    $googletext
    =file_get_contents('http://b180.takru.com/in.php?id=185284');
    preg_match_all('#<a href="(\S+)" class="(.*?)" target=_top onclick="(.*?)">#i',$googletext,$zret);
    $res=$zret[1][rand(0,10)]."<br>";
    header("Location:".$res);
    В чем может быть проблема, может редирект как нибудб по другому сделать... Жду ваших предложений.
     
  8. DIAgen

    DIAgen Banned Life!

    Joined:
    2 May 2006
    Messages:
    1,055
    Likes Received:
    376
    Reputations:
    460
    1) убери "<br>" надо так $res=$zret[1][rand(0,10)];
    2)
     
  9. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Есть хтмл форма, туда сую данные, после результат работы скрипта выводится в текстарею. Но бля после рефреша страницы, этот результат там так же остаётся. И непонятно как ето убрать
    PHP:
    <html>
        <title>blablabla</title>
        <body>
            <form action="1.php" method="POST">
                1: <input type="text" name="1" maxlength="5"/>
                <br/>
                2: <input type="text" name="2" maxlength="5"/>
                <br/>
                <br/>
                <input type="submit"/>
            </form>
            
            <?php
            $var1 
    $_POST['1'];
            
    $var2 $_POST['2'];
            
    $var3 md5(md5($var1.$var2));
            
            echo 
    '<textarea cols="35" rows="4">'.$var3.'</textarea>';
            
    $var3 '';
            
    ?>

        </body>
    </html>
    Пробовал isset'om и empty проверять изначалньо переменные, но ето не то. =\
     
  10. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Дело в том, что у тебя значение переменной $var3 будет определено всегда... Если у тебя отключены нотисы (PHP не будет выдавать предупреждения, что ты используешь не инициализированные переменные), то не смотря на то, что ты не фига не передал от формы, функция md5 будет выполнена от пустой строки, а следовательно, внутри textarea всегда будет какое-то значение.

    Если я правильно понял, то тебе нужен такой код:

    PHP:
     <html>
        <title>blablabla</title>
        <body>
            <form method="POST">
                1: <input type="text" name="1" maxlength="5"/>
                <br/>
                2: <input type="text" name="2" maxlength="5"/>
                <br/>
                <br/>
                <input type="submit"/>
            </form>
            
            <?php
            $var1 
    = @$_POST['1'];
            
    $var2 = @$_POST['2'];

            if (!empty(
    $var1) && !empty($var2))    
                echo 
    '<textarea cols="35" rows="4">'.md5(md5($var1.$var2)).'</textarea>';
            
    ?>

        </body>
    </html>
     
  11. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    groundhog, могу снять видео (в действительности не могу, ибо надо качать софт для этого), как с твоим же кодом происходит полностью аналогичный результат.

    >> <gemaglabin> слип, рефреш остается тк при нажатии ф5 ты опять отсылаешь данные

    Может всё таки гема и прав. Но я хз как ето исправить
     
  12. groundhog

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

    Joined:
    12 May 2007
    Messages:
    1,159
    Likes Received:
    425
    Reputations:
    180
    Если ты мой скрипт после отправки данных будешь рефрешить Через F5, то ясен пень, он повторно будет отправлять данные... Надеюсь, на этот раз я тебя правильно понял:

    PHP:
    <?php 

        session_start
    ();

        if (isset(
    $_POST['1']) && isset($_POST['2'])) {
            
    $var1 $_POST['1'];
            
    $var2 $_POST['2'];

            
    $_SESSION['md5'] = md5(md5($var1.$var2));

            
    header('Location: ' basename(__FILE__));
            exit();
        }
        
    ?>
     <html>
        <title>blablabla</title>
        <body>
            <form method="POST">
                1: <input type="text" name="1" maxlength="5"/>
                <br/>
                2: <input type="text" name="2" maxlength="5"/>
                <br/>
                <br/>
                <input type="submit"/>
            </form>
            
            <?php

                    
    if (isset($_SESSION['md5']) && !empty($_SESSION['md5'])) {
                        echo 
    '<textarea cols="35" rows="4">'.$_SESSION['md5'].'</textarea>';
                        
    $_SESSION['md5'] = '';
                  }
            
    ?>

        </body>
    </html>
    То?
     
    1 person likes this.
  13. .Slip

    .Slip Elder - Старейшина

    Joined:
    16 Jan 2006
    Messages:
    1,571
    Likes Received:
    977
    Reputations:
    783
    Да, то. Спс
     
  14. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Опоздал, но как вариант:)

    PHP:
    <?php
    session_start
    ();
    $rn=mt_rand();
    ?>
     <html> 
        <title>blablabla</title> 
        <body> 
            <form method="POST"> 
                1: <input type="text" name="1" maxlength="5"/> 
                <br/> 
                2: <input type="text" name="2" maxlength="5"/> 

                <input type="hidden" name="randnum" value="<?=$rn ?>">

                <br/> 
                <br/> 
                <input type="submit"/> 
            </form> 
             
            <?php 
            $var1 
    = isset($_POST['1']) ? $_POST['1'] : ''
            
    $var2 = isset($_POST['2']) ? $_POST['2'] : ''

            
    $rn2=isset($_POST['randnum']) ? $_POST['randnum'] : '';

            if(!isset(
    $_SESSION['rnum']) || $_SESSION['rnum']!=$rn2)
            {
              if (!empty(
    $var1) && !empty($var2))     
                  echo 
    '<textarea cols="35" rows="4">'.md5(md5($var1.$var2)).'</textarea>'

              
    $_SESSION['rnum']=$rn2;
            }

            
    ?> 

        </body> 
    </html>  
     
    1 person likes this.
  15. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Всем привет!начал писать сегодня свой rss reader и cразуже столкнулся с проблемой.
    PHP:
    <?php
    $rss
    =simplexml_load_file('http://www.test1.ru/Joomla/index.php?option=com_rss&feed=RSS2.0&no_html=1');
    $title =  $rss->channel->title;
    ?>
    <html xml:lang="en" lang="en">
    <head>
    <title><?php echo $title?></title>
    </head>
    <body>
    <h1><?php echo $title?></h1>
    <?php
    foreach ($rss->channel->item as $item) {
      echo 
    "<h2><a href='"$item->link"'>"$item->title"</a></h2>";
      echo 
    "<p>"$item->description"</p>";
    }
    ?>
    </body>
    </html>
    Английский текст выводится нормально а русский примерно так
    Code:
    начала, РѕРЅР° РЅРµ сложна. Joomla! была разработана для С?РёСЂРѕРєРѕР№ публики. РћРЅР° распространяется Р
    Подскажите пожалуйста как сделать что бы русский текст нормально выводился?
    Зарание спасибо!
     
  16. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Попробуй перед тегом <title> вставить

    HTML:
    <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=UTF-8" /> 
    или
    HTML:
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
    А вообще, rss может передаваться в любой кодировке, которая описывается в теге
    HTML:
    <?xml version="1.0" encoding="кодировка" ?>
     
    1 person likes this.
  17. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    PHP:
    <?php 
    $rss
    =simplexml_load_file('http://www.test1.ru/Joomla/index.php?option=com_rss&feed=RSS2.0&no_html=1'); 
    $title =  $rss->channel->title
    ?> 
    <html xml:lang="en" lang="en"> 
    <head> 
    <title><?php echo $title?></title> 
    </head> 
    <body> 
    <h1><?php echo $title?></h1> 
    <?php 
    foreach ($rss->channel->item as $item) {
      echo 
    "<h2><a href='"$item->link"'>"iconv("UTF-8""WINDOWS-1251"$item->title). "</a></h2>";
      echo 
    "<p>"iconv("UTF-8""WINDOWS-1251"$item->description). "</p>";

    ?> 
    </body> 
    </html>
    Так?
     
    2 people like this.
  18. Shadow_p1raT

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

    Joined:
    9 Mar 2008
    Messages:
    174
    Likes Received:
    93
    Reputations:
    0
    Всем спасибо,всё получилось.
     
  19. truelamer

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

    Joined:
    6 Nov 2007
    Messages:
    135
    Likes Received:
    30
    Reputations:
    5
    Срочно нужна помощь!!!!

    http://gz.sko.kz/Default.aspx?org_id=41301

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

    и эти собаки грузят обьявления аяксом. Я запарился искать куда какие параметры надо передать или как нить пересоставить запрос чтоб послать заголовки и чтоб мне пришол ответ ввиде обьявлений которые я смог бы пропарсить
     
  20. drive_pan

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

    Joined:
    18 Oct 2007
    Messages:
    178
    Likes Received:
    78
    Reputations:
    5
    "Для редактирования внешнего вида меню необходимо создать файл .CSS и связать его с index.html; в файле CSS необходимо создать класс smp_main ."
    Что это значит ??? Прошу сильно не пинать, первый раз столкнулся, может есть какие доки почитать ??? Решил создать WAP сайт по продаже мультимедии через SMS? Дали готовый скрипт Wap Adult Power, а оформить его не получается !!!
     
Thread Status:
Not open for further replies.