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

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

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

    Houze New Member

    Joined:
    16 May 2009
    Messages:
    65
    Likes Received:
    4
    Reputations:
    0
    Вопрос к тем кто учился на програмистов или специальности близкой к програмированию. Может у кого остались конспекты, методички и задания к курсовым??? Я разбираюсь на данный момент по книгам и мануалам с интернета, что-то написать уже могу - но хотелось бы увидеть чему учат в универах.
    интересует php, C++, можно еще ассемблер.
     
  2. ntldr

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

    Joined:
    4 Dec 2007
    Messages:
    367
    Likes Received:
    140
    Reputations:
    23
    МНе кажется, или это под http-прокси? Через http я уже сделал, в соксах там надо какие-то бинарные пакеты отправлять вроде.
     
  3. Синий

    Синий New Member

    Joined:
    8 Jan 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Добрый день, форумчане. Нужна помощь.
    Выкладываю кусок кода из файловой фотогалереи:

    PHP:
    print "<td align=center valign=top>";
    print 
    "<TABLE WIDTH=198 BORDER=0 CELLPADDING=0 CELLSPACING=0>";
    print 
    "<TR><TD COLSPAN=3><IMG SRC=\"$place/slide_01.gif\" WIDTH=198 HEIGHT=47></TD></TR>";
    print 
    "<TR><TD><IMG SRC=\"$place/slide_02.gif\" WIDTH=33 HEIGHT=86></TD>";
    print 
    "<TD><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\"><img src=\"$thumbnail\" height=$height width=$width border=0 alt='$a_img[$x]' style=\"filter:alpha(opacity=100)\" onmouseout=\"gradualfade(this,100,30,4)\" onmouseover=\"gradualfade(this,40,50,100)\"></a></TD>";
    print 
    "<TD><IMG SRC=\"$place/slide_04.gif\" WIDTH=35 HEIGHT=86></TD></TR><TR>";
    print 
    "<TD COLSPAN=3><IMG SRC=\"$place/slide_05.gif\" WIDTH=198 HEIGHT=56><br><font size=\"1\"><a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$size[0]&h=$size[1]&t=$imgdir $imgnumber','$x','width=$size[0],height=$size[1],directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">$size[0] x $size[1]</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$halfw&h=$halfh&t=$imgdir $imgnumber','$x','width=$halfw,height=$halfh,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/2</a> | <a href='#' onclick=\"window.open('popup.php?img=$imgdir/$a_img[$x]&w=$quarterw&h=$quarterh&t=$imgdir $imgnumber','$x','width=$quarterw,height=$quarterh,directories=no,location=no,menubar=no,scrollbars=no,status=no,toolbar=no,resizable=no');return false\" target=\"_blank\">1/4 size</a></font>";
    caption($caption_name);
    print 
    "</TD></TR>";
    print 
    "</TABLE></center>";
    print 
    "</td>\n";
    тут по клику мышки в отдельном окне открывает изображение.

    есть галлерея на яве (http://studioad.ru/blog/iload_3_image_gallery/2010-02-11-105), хочу подключить режим открытия оттуда (сделано красивее, функциональней и быстрее).
    Вот как написано в мануале :
    PHP:
    Пример:
    <
    a href='ссылка на открываемое изображение' rel='iLoad'>Текст или изображение</a>

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

    С меня +++ :rolleyes:
     
  4. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    ntldr, если еще актуально, то вот
    PHP:
    <?php
      $check_url 
    'http://whatismyipaddress.com/';
      
    $check_port 80;
      
    $check_host str_replace (array ('http://''/'), ''$check_url);
      
    $check_hostent inet_pton (gethostbyname ($check_host));

      function 
    send_query ($sock$url) {
        global 
    $check_host;
        global 
    $check_url;
        
    $query "GET $url HTTP/1.1\r\n"
               
    "Host: $check_host\r\n"
               
    "Referer: $check_url\r\n"
               
    "Accept: *//**\r\n"
               
    "User-Agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.1) Gecko/20090716 Ubuntu/9.04 (jaunty) Shiretoko/3.5.1\r\n"
               
    "Connection: close\r\n\r\n";
        
    $sended fwrite ($sock$query);
        
    $resp '';
        while (
    $buf fread ($sock1024))
          
    $resp .= $buf;
        return 
    $resp;
      }

      function 
    socks4 ($proxy_host$proxy_port$timeout) {
        global 
    $check_port;
        global 
    $check_hostent;
        
    $sock fsockopen ($proxy_host$proxy_port$errno$errstr$timeout);
        if (!
    $sock
          return array (
    'code' => -1'message' => "Connection error: [$errno$errstr\n");

        
    $sk4_conn "\x04"                  // Socks version
                  
    "\x01"                  // Connect
                  
    pack ('n'$check_port// Port
                  
    $check_hostent          // Remote address
                  
    "\x00";
        
    fwrite ($sock$sk4_conn);
        
    $resp unpack ('C*'fread ($sock8));
        if (!isset (
    $resp))
          return array (
    'code' => -3'message' => 'Empty response');
        if (
    count ($resp) < 8
          return array (
    'code' => -3'message' => 'Too short response from proxy');
        if (
    $resp[1] != && $resp[1] != 4
          return array (
    'code' => -2'message' => 'Not Socks4 proxy');
        if (
    $resp[2] != 0x5a)
          return array (
    'code' => -3'message' => 'Request rejected');
        unset (
    $resp);
        
    $resp send_query ($sock'/');
        if (!isset (
    $resp))
          return array (
    'code' => -6'message' => 'No response for query');
        
    //my $ret = parse_content ($resp);
        
    fclose ($sock);
        return array (
    'code' => 0'message' => $resp);
      }
      
      function 
    socks5 ($proxy_host$proxy_port$timeout) {
        global 
    $check_port;
        global 
    $check_hostent;
        
    $sock fsockopen ($proxy_host$proxy_port$errno$errstr$timeout);
        if (!
    $sock)
          return array (
    'code' => -1'message' => "Connection error: [$errno$errstr\n");
      
        
    $sk5_conn0 "\x05"  // Socks version
                   
    "\x02"  // Count of client authentication methods
                   
    "\x00"  // Method[0] = 0 No authentication
                   
    "\x02"// Method[1] = 2 Username/password
        /*$sk5_conn0 = "\x05"  // Socks version
                   . "\x01"  // Count of client authentication methods
                   . "\x00"; // Method[0] = 0 No authentication*/
        
    $sk5_conn1 "\x05" // Socks version
                   
    "\x01" // Connect
                   
    "\x00" // Reserved, should = 0x00
                   
    "\x01" // Address type, 1 - IPv4
                   
    $check_hostent           // Remote address
                   
    pack ('n'$check_port); // Port
        
    fwrite ($sock$sk5_conn0);
        
    $resp  unpack ('C*'fread ($sock2));
        if (!isset (
    $resp))
          return array (
    'code' => '-2''message' => 'Empty response');
        if (
    count ($resp) < 2
          return array (
    'code' => -4'message' => 'Too short first response from server');
        if (
    $resp[1] != 5)
          return array (
    'code' => -2'message' => 'Not Socks5 proxy');
        
    fwrite ($sock$sk5_conn1);
        
    $resp unpack ('C*'fread ($sock10));
        if (!isset (
    $resp) or count ($resp) == 0)
          return array (
    'code' => -4'message' => 'Empty response');
        if (
    count ($resp) < 10)
          return array (
    'code' => -6'message' => 'Too short second response from proxy');
        if (
    $resp[2] != 0)
          return array (
    'code' => -5'message' => 'Connection rejected');
        if (
    $resp[5] == && $resp[6] == && $resp[7] == && $resp[8])
          return array (
    'code' => -6'message' => 'SOCKS5 error');
      
        unset (
    $resp);
        
    $resp send_query ($sock'/');
        if (!isset (
    $resp))
          return array (
    'code' => -8'message' => 'No response for query');
        
    //$ret = parse_content ($resp);
        
    fclose ($sock);
        return array (
    'code' => 0'message' => $resp);
      }


      
    //$proxy = '96.237.228.5:50549'; // socks4
      
    $proxy '202.102.72.38:1080';

      list (
    $host$port) = explode (':'$proxy);
      echo 
    $proxy"\n";
      
    $res socks5 ($host$port30);
      echo 
    "Result\n";
      
    print_r ($res);
    ?>
     
    1 person likes this.
  5. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Помогите( уже сил нет.

    у нас есть объявление:
    Известно,что оно добавлено в : 1266218056
    И должно исчезнуть в 15.2.2010 9:14:38
    как мне узнать сколько ему осталось висеть в формате (n дней t часов m минут s секунд)

    например (0 дней 5 часов 10 мин 25 секунд)

    уже мозг кипит(
     
  6. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    -=Zhenek=-
    думаю,что надо спарсить значение,а потом из большего вычесть меньшее
     
  7. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    Я это понял.
    Вот какой код у меня :

    PHP:
    $date date("d.m.Y g:i:s"$mget['13']);
    $ost =  strtotime($mget[15])-time();  
    if(
    $ost<=0) {$date2="Неактивно";
    }else{
    $mounth floor($ost/2592000); if($mounth == 0){$mounth="";$mmm=0;}else{$mmm=$mounth;$mounth.=mounth($mounth). ",";}
    $day floor(($ost/86400)-($mmm*30)); if($day == 0){$day="";}else{$day.=day($day);}
    if(
    $day == "") {
    $hours floor($ost/3600);
    $hhh$hours;
    $hours.=hour($hours);
    $min floor(($ost/60)-($hhh*60))."минут";
    }
    }
    Но он работает нестабильно,если речь идет о часах. Тоесть если сейчас 12 часов а объявление нужно убрать в 13 он скажет неактивно. Разница будет отрицательной...
     
  8. Синий

    Синий New Member

    Joined:
    8 Jan 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    народ, мне кто сможет помочь?.. думаю, дел там на 2 минуты всего...
     
  9. vvy

    vvy New Member

    Joined:
    29 Mar 2009
    Messages:
    33
    Likes Received:
    3
    Reputations:
    4
    -=Zhenek=-, переведи дату удаления в метку времени функцией mktime,а потом вычти из нее текущую метку времени
     
  10. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    в php это можно сделать циклами.
    Но лучше запости в разделе базы данных,там можно одним запросом удалить все дубликаты типа такого :

    PHP:
    DELETE tn FROM table_name tn JOIN (SELECT MAX(ID) AS ID FROM TABLE_NAME GROUP BY unique_key HAVING COUNT(*) > 1tn2 USING(ID)
    а мы тебе если надо лучше поможем, как в скипте при добавлении не допустить дубликаты =)
     
  11. vvy

    vvy New Member

    Joined:
    29 Mar 2009
    Messages:
    33
    Likes Received:
    3
    Reputations:
    4
    pali4, а почему мой способ не подходит?
     
  12. vvy

    vvy New Member

    Joined:
    29 Mar 2009
    Messages:
    33
    Likes Received:
    3
    Reputations:
    4
    pali4, все он удаляет, значит у тебя массив не так задан, как у меня и все, разбери пример, да перипиши для себя или сделай print_r и выложи сюда
     
  13. -=Zhenek=-

    -=Zhenek=- Elder - Старейшина

    Joined:
    31 Dec 2007
    Messages:
    271
    Likes Received:
    77
    Reputations:
    1
    названия таблиц изменил? или так и запустил? О_о
     
  14. b3

    b3 Banned

    Joined:
    5 Dec 2004
    Messages:
    2,170
    Likes Received:
    1,155
    Reputations:
    202
    Уже решено.
    Code:
    CREATE TABLE copy_users SELECT * FROM users;
    ALTER IGNORE TABLE copy_users ADD UNIQUE (name);
    DROP TABLE `users`;
    RENAME TABLE `users`.`copy_users` TO `users`.`users` ;
     
    1 person likes this.
  15. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    PHP:
    <?php
        $start_time 
    time(); // Время отсчёта: если time() то сколько осталось жить, если время старта то сколько всего проживёт
        
    $end_time mktime(914382162010); // время конца
        
    $timer $end_time $start_time;
        
        if(
    $timer 0) echo 'Должно было убраться ';
        else echo 
    'Уберётся через ';
        
        
    $timer abs($timer);
        
        
    $day floor($timer/(3600*24));
        
    $timer -= $day*3600*24;
        
    $hour floor($timer/3600);
        
    $timer -= $hour*3600;
        
    $min floor($timer/60);
        
    $timer -= $min*60;
        
    $sec $timer;
        
        echo 
    $day.'д '.$hour.'ч '.$min.'мин '.$sec.'сек';

    ?>
     
    1 person likes this.
  16. Синий

    Синий New Member

    Joined:
    8 Jan 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    Меня слышно?.. народ, помогите PLZ!!!
     
  17. t4Nk

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

    Joined:
    23 Sep 2007
    Messages:
    70
    Likes Received:
    33
    Reputations:
    0
    так что-ли? :D
    PHP:
    $str '15.2.2010 9:14:38';
    $time 1266218056;
    echo 
    date('z\d H\h i\m s\s'strtotime($str) - $time);
    // выведет 0d 02h 00m 22s
     
  18. Синий

    Синий New Member

    Joined:
    8 Jan 2010
    Messages:
    3
    Likes Received:
    0
    Reputations:
    0
    m0Hze, это кусок из php-файла...
     
  19. Doger

    Doger New Member

    Joined:
    8 May 2007
    Messages:
    5
    Likes Received:
    4
    Reputations:
    0
    Напишите пжалста форму ввода пароля... чтоб введя верный пароль юзера редиректило на нужную страницу, а при не верном писало "неверный пароль"

    Не против что в исходном коде страницы пароль будет палиться

    Спасибо! Жду с нетерпением =)
     
  20. WNZRS

    WNZRS Member

    Joined:
    3 Sep 2009
    Messages:
    294
    Likes Received:
    52
    Reputations:
    1
    PHP:
    <?php
    if(!isset($_POST['login'] || !isset($_POST['pass'])) 
    echo 
    '<form action="" method="POST"><input name="login" value="Login"><input type="password" name="pass"><input type="submit"></form>';
    else
    {
    if(
    strcmp($_POST['login'], 'admin') == && strcmp($_POST['pass'], '123456') == 0)
    {
    header('Location: userpanel.html');
    exit();
    }
    else exit(
    'Error: неверный пароль');
    }
    ?>
     
Thread Status:
Not open for further replies.