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

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

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

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
  2. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Nightmarе, собственно сложности нету и такое реализуемо :)

    PHP:
    <?php
        $host 
    'lol.com';
        
    $port 80;
        
    $post 'secretline=SECRET'//POST данные

        
    $http =
        
    "POST http://".$host."/index.php HTTP/1.1\r\n".
        
    "Host: ".$host."\r\n".
        
    "User-Agent: Isya\r\n".
        
    "Content-Type: application/x-www-form-urlencoded\r\n"//to form
        
    "Content-Length: ".strlen($post)."\r\n\r\n".$post."\r\n";

        
    $sock fsockopen($host$port$errno$errstr10);

        if (
    $sock)
        {
            
    fwrite($sock$http);
            
    $content '';
            while (!
    feof($sock))
            {
                if (!
    $content .= fread($sock128))
                {
                    
    $content "";
                }
            }
            
    fclose($sock);
        }
        echo 
    $content//Выводим что нам дал script2.php
    ?>
     
    1 person likes this.
  3. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    На втором сайте найти тэги где включен секретный текст..
    Например:
    <div id="text">supertext</div>

    И в скрипте в конце добавь:
    PHP:
    preg_match('#<div id="text">(.*?)</div>#'$content$tex);
    $text $tex[1];
    echo 
    $text;
     
    1 person likes this.
  4. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Стукни в асю
     
  5. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Подскажите, как сделать "Выход" корректно? При входе регестрируется сессия:
    PHP:
    session_register("valid_user");
    Нужно сделать выход ссылкой, чтобы после ее нажатия сессия убивалась. Спасибо!
     
    #3585 mff, 18 Jun 2008
    Last edited: 18 Jun 2008
  6. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    http://www.php.net/manual/en/function.session-unregister.php

    PHP:
    if($_GET['mode']=='logout'){
    session_unegister("valid_user");
    } else {}
    http://aaa.xxx/y.php?mode=logout


    или session_destroy();
     
    2 people like this.
  7. Zircool

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

    Joined:
    1 Mar 2006
    Messages:
    162
    Likes Received:
    37
    Reputations:
    5
    Такой вопросик, написал скрипт для статы сайта, всю инфу по посещениям он записывает в info.php, решил немножко подправить info.php добавить кнопочку очистить, но столкнулся с проблемой... Стата создает таблицы в info.php, вот и решил через регулярку очищать все таблицы вида, но че то не получается или регулярка неправильная или может кто нибудь другой метод предложит.
    PHP:
    ?php
    require_once('login.php');
     if(!
    is_logined(MODE)) {
            exit();
        }
    echo 
    '<form  method="post">';
    echo 
    '<input type="submit" name="sub"  value="&nbsp;&nbsp; &nbsp; &nbsp;  Clean &nbsp; &nbsp;  &nbsp;&nbsp;" />';
    echo 
    '<form>';

    if(isset(
    $_POST['sub']))
    {
    $list=file_get_contents("info.php");
    $fin=str_replace('#<table><tr><td>(\S+)</td><td>(\S+)</td><td>(\S+)</td><td>(\S+)</td></tr></table>#','',$list);

    $file_fin=fopen("info.php","w+");
    fwrite($file_fin,$fin);
    fclose($file_fin);
    }

    ?>

    <html>
    <style>
      body
    {
        background:#FFFFFF;
        font-family:tahoma, verdana, arial;
        font-size:14px;
        }
        table
        {

        border-collapse: collapse;

            }
            td
            {

                border:1px solid #FFFFFF;
                width:250px;
                text-align:center;
                }


      </style>

    <table bgcolor="#40a0c0" ><tr><td><b style="color: White"><center>Script</center></b></td><td><b style="color: White"><center>Date</center></b></td><td><b style="color: White"><center>Refferal</center></b></td><td><b style="color: White"><center>IP</center></b></td></tr></table>

    </html>
    <table><tr><td>index.php</td><td>15.06.2008 00:58</td><td>http://www.nsma.ru</td><td>217.74.245.231</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 01:01</td><td>none</td><td>217.74.245.231</td></tr></table>

    <table><tr><td>index.php</td><td>15.06.2008 01:06</td><td>none</td><td>217.74.245.231</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 01:07</td><td>none</td><td>213.180.206.41</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 01:11</td><td>none</td><td>217.74.245.231</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 01:11</td><td>none</td><td>194.67.1.13</td></tr></table>

    <table><tr><td>index.php</td><td>15.06.2008 01:17</td><td>none</td><td>194.67.1.13</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 01:25</td><td>none</td><td>217.74.245.231</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 02:01</td><td>http://www.sm.aport.ru</td><td>194.67.20.227</td></tr></table>
    <table><tr><td>index.php</td><td>15.06.2008 02:35</td><td>none</td><td>65.55.208.12</td></tr></table>


     
  8. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,193
    Reputations:
    252
    Если это выход, то лучше убивать все сессии функцией session_destroy()
     
  9. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Ок, так и сделаю, а вообще, передовать переменные имя=значение черех URL это нормальная практика?
     
  10. Chaak

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

    Joined:
    1 Jun 2008
    Messages:
    1,059
    Likes Received:
    1,067
    Reputations:
    80
    П почему бы и нет :)?
    Меньше видишь спишь спокойно??
    Все равно заголовок можно подменить.
     
    1 person likes this.
  11. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Zircool
    Замени str_replace на ereg_replace, или на preg_match

    Насколько я помню str_replace, не работает(не поддерживает) с регуляркой
     
    #3591 Naydav, 18 Jun 2008
    Last edited: 18 Jun 2008
  12. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    ChaaK, а вот например, если я таким образом передаю скрипту, скажем убить строчку в базе ?id=4&mode=del и пользователь нажмет обновить, то как сделать, чтобы действие не повторилось?
     
  13. Buffalon

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

    Joined:
    22 Mar 2008
    Messages:
    241
    Likes Received:
    34
    Reputations:
    8
    HEADER('LOCATION:$_SERVER[SCRPT_NAME]');
     
  14. Naydav

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

    Joined:
    30 Dec 2006
    Messages:
    439
    Likes Received:
    63
    Reputations:
    4
    Можно ничечо не делать, а можно и Обьекьт(новость, статья) с данным id не найдена
    И вообще после удпления можно(нужно) делать редирект, и пользователь уже никак не обновит страницу, а если вручную наберет то
     
  15. login999

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

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Добрые люди, помогите, нашел сие чудо, а оно не работает (( :

    <?php
    error_reporting(E_ALL);
    set_time_limit(0);
    $fr=fopen("lst.txt","r");
    $fw=fopen("result.txt","w");
    $cfg=file("servers.txt");
    $i=0;

    foreach($cfg as $lst)
    {
    $lst=strtolower($lst);
    $cfg[$i]=explode(':',$lst);
    $i++;
    }

    while (!feof ($fr))
    {
    $buffer = fgets($fr,255);
    $buffer = strtolower($buffer);
    $lp=explode(':',$buffer,2);
    $log=explode('@',$lp[0],2);
    $i=0;

    foreach($cfg as $lst)
    {

    if (trim($log[1])== trim($lst[2])) and (isset($lp[1])))
    {
    $serv=$lst[0];
    $prt=$lst[1];
    $i=1;
    break;
    }
    }
    if ($i==1)
    {
    $ock=fsockopen($serv,$prt);
    $html=fgets($ock);
    $usr="user ".$log[0]."\n";
    fputs($ock,$usr);
    $html=fgets($ock);
    $pwr="pass ".$lp[1]."\n";
    fputs($ock,$pwr);
    $html=fgets($ock);

    if (preg_match("/OK/",$html))
    {
    fputs($fw,$buffer);
    fclose($ock);
    }
    else
    {
    fclose($ock);
    }
    }
    }
    echo "OK!";
    fclose($fr);
    fclose($fw);
    ?>

    Что в нем не так?? пишет о ошибке на 27 строчке ((
     
  16. Jer1cho

    Jer1cho Member

    Joined:
    6 Jun 2008
    Messages:
    212
    Likes Received:
    65
    Reputations:
    10
    Замени на:

    PHP:
    if (trim($log[1])==trim($lst[2]) && (isset($lp[1]))) 
     
  17. login999

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

    Joined:
    12 Jun 2008
    Messages:
    491
    Likes Received:
    280
    Reputations:
    92
    Спс, работает!!!! Уже проверяет мыла )))
     
  18. svesve

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

    Joined:
    15 Jun 2007
    Messages:
    574
    Likes Received:
    86
    Reputations:
    11
    уважаемые знатоки,с вами играет новичок svesve
    внимание вопрос )))
    как получить исходник страницы к которой обращаюсь?
    юзать curl? или http_get ?
     
  19. VDShark

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

    Joined:
    1 Feb 2007
    Messages:
    260
    Likes Received:
    158
    Reputations:
    62
    svesve
    file_get_contents($filename);

    В качестве $filename может выступать его урл.
     
  20. oRb

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

    Joined:
    9 May 2008
    Messages:
    294
    Likes Received:
    582
    Reputations:
    256
    Все зависит от настройки твоего сервера и целей, которые ты преследуешь. курл посерьезней будет.
    Или ручная генерация заголовков с ручной работой с сокетами.
     
Thread Status:
Not open for further replies.