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

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

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

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

    Joined:
    8 Apr 2008
    Messages:
    223
    Likes Received:
    69
    Reputations:
    10
    попробуй так, создать .htaccess в той папке куда доступ закрыть хочешь извне, файловые операции чтения/записи пройдут.
    Code:
    Order Deny,Allow
    Deny from all
     
  2. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Дан скрипт авторизации.
    Пользователь вводит логин и пароль.
    Происходит сверение данных.
    Все отлично.
    Затем хочу добавить скрипт записи логина, IP, даты посещения.
    В отдельной таблице. users_ip например.
    Но запись не происходит.
    Если бы указал неправильно переменные - вывелась ошибка.
    А тут ХЗ в чем проблема.

    Поля
    Code:
    `user_login`,  `user_ip`, `user_data`
    Сам скрипт. Его части.
    PHP:
    $username $_POST['username'];
    $ip=$_SERVER["REMOTE_ADDR"];
    $date=("Y-m-d");
    ....
    $result = mysql_query("INSERT INTO `users_ip` ('user_login' , 'user_ip' , 'user_data') VALUES('$username', '$ip', '$data'");
     
  3. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    У тебя ошибка. Ты получаешь переменную $date, а в запросе используешь $data :)

    Если хочешь получить текущую дату, тогда лучше использовать функцию MySQL NOW();
    PHP:
    $result mysql_query('INSERT INTO users_ip SET user_login="' $username '" , user_ip="' $ip '" , user_data=NOW()');
     
    #10283 FireFenix, 5 Jun 2009
    Last edited: 5 Jun 2009
  4. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    Вру. Получилось :)
    Только.....хм, поле user_ip - 0. и в поле даты отображется год.
    А не часы и минуты авторизации.
    Ну да фигня, отшлифую по ходу сам.
    Спасибо ;)
     
    #10284 Ershik, 5 Jun 2009
    Last edited: 5 Jun 2009
  5. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    я про то, что у тя используются $datE и $datA - это разные переменные.
    Используй запрос, что я написал

    NOW() - возвращает дату в формате YYYY-MM-DD HH:MM:SS
    А что у тебя будет в ячейке после запроса, зависит от типа ячейки
     
    #10285 FireFenix, 5 Jun 2009
    Last edited: 5 Jun 2009
  6. Ershik

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

    Joined:
    7 Nov 2007
    Messages:
    301
    Likes Received:
    46
    Reputations:
    6
    То есть данный тип не подходит?
    Как тогда правильно задать параметры, чтобы записывались IP и время регистрации?
     
  7. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    Сделай нормальный ID, дату лучше типа DateTime
     
    1 person likes this.
  8. FireFenix

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

    Joined:
    3 Jun 2009
    Messages:
    390
    Likes Received:
    115
    Reputations:
    23
    Было бы правильнее
    Code:
    CREATE TABLE `users_ip` (
      `id` int(11) NOT NULL AUTO_INCREMENT,
      `login` text NOT NULL,
      `ip` text NOT NULL,
      `date` datetime NOT NULL,
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
    и тогда запросом
    PHP:
    $ip '127.0.0.1';
    $login 'Вася';
    $result mysql_query('INSERT INTO users_ip SET login="' $login '" , ip="' $ip '" , date=NOW()');
    Добавиться запись с датой и временем
     
    #10288 FireFenix, 5 Jun 2009
    Last edited: 5 Jun 2009
  9. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Допустим я курлом зашёл на google.ru
    Как можно посмотреть что я действительно на google.ru ?

    Тоесть иными словами, как можно посотреть урл страницы ?
     
  10. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    geforse,несильно понял смысла етого делать,развешто там будет редикт на другую страницу,и тебе переправит,и нужно узнать,тебя перенаправило или нет,так?
     
  11. D Mak

    D Mak Elder - Старейшина

    Joined:
    23 Jun 2007
    Messages:
    136
    Likes Received:
    27
    Reputations:
    0
    geforse если FOLLOWLOCATION 1 то включи _HEADER и смотри пересылки
     
  12. Joker-jar

    Joker-jar Elder - Старейшина

    Joined:
    11 Mar 2007
    Messages:
    581
    Likes Received:
    205
    Reputations:
    37
    geforse, попробуй $url = curl_getinfo($ch, CURLINFO_EFFECTIVE_URL);
     
  13. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Подскажите, как отправить 2 сообщения $message1 и $message2 , чтот я протупил крепко:

    PHP:
    $icq = new ICQclient($uin$password);
    $icq->connect();
    if (
    $icq->connected)
    {
        
    $icq->login();
        if (
    $icq->logged)
        {
            
    $status $icq->getstatus($uin_sendto);
            
    $icq->send_message($uin_sendto$message1);
            echo 
    "ok";
        }
    }
    используется class icq.lib.php :confused:
     
  14. Pashkela

    Pashkela Динозавр

    Joined:
    10 Jan 2008
    Messages:
    2,750
    Likes Received:
    1,044
    Reputations:
    339
    $status = $icq->getstatus($uin_sendto);
    $icq->send_message($uin_sendto, $message1);
    $icq->send_message($uin_sendto, $message2);
    echo "ok";
     
  15. SashaIV

    SashaIV Member

    Joined:
    6 Nov 2008
    Messages:
    18
    Likes Received:
    17
    Reputations:
    -5
    php голову сломал (((

    Мне нужно на сайте переделать код видео
    воспользовался скриптом
    вот часть скрипта
    Code:
    		$html = preg_replace( "#<embed.*?src='(\S+?)'.*?>#is",                          "[video]\\1[/video]",  $html );
    		$html = preg_replace( "#<embed.*?src=\"(\S+?)\".*?>#is",                        "[video]\\1[/video]",  $html );
    но он вместо ссылки на видео типа http://сайт.ru/video.flv
    берет ссылку плеера т.е http://сайт.ru/плеер.swf

    [video]http://http://сайт.ru/плеер.swf[/video]

    как заставить брать ссылку дабы получилось
    [video]http://сайт.ru/video.flv[/video] :confused:
    я уж голову сломал :(
    помогите ;)
    З.Ы
    От граббера кусок стянул :D
    вот тэг видео
    Code:
    <embed src="http://сайт.ru/плеер.swf" allowfullscreen="true" allowscriptaccess="always" flashvars="&amp;backcolor=0x000000&amp;lightcolor=0x557722&amp;frontcolor=0xCCCCCC&amp;file=http://сайт.ru/video.flv&amp;height=360&amp;width=480" height="360" width="480">
    жду помощи)
     
    #10295 SashaIV, 6 Jun 2009
    Last edited: 6 Jun 2009
  16. mff

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

    Joined:
    12 Mar 2008
    Messages:
    2,074
    Likes Received:
    701
    Reputations:
    227
    Я так пробывал, почемуто не работает :confused:

    Забыл добавить, что нужно одно сообщение на одну аську отправлять, а второе на другую :confused:

    то есть я пробывал
    Code:
    $status = $icq->getstatus($uin_sendto); 
            $icq->send_message($uin_sendto1, $message1); 
            $icq->send_message($uin_sendto2, $message2); 
            echo "ok";
    и это не работало :confused:
     
    #10296 mff, 6 Jun 2009
    Last edited: 6 Jun 2009
  17. 5triker

    5triker Elder - Старейшина

    Joined:
    5 Apr 2007
    Messages:
    62
    Likes Received:
    41
    Reputations:
    1
    Code:
    $html = preg_replace( "#<embed(.*)file=([^&]*)&(.*)#is","[video]\\2[/video]",$html );
    
     
    #10297 5triker, 6 Jun 2009
    Last edited: 6 Jun 2009
    1 person likes this.
  18. Mixon

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

    Joined:
    12 Mar 2008
    Messages:
    394
    Likes Received:
    119
    Reputations:
    12
    Как отослать заголовки в курле,есле они в таком виде у меня:
    Code:
    POST /gr.php?to=123&pid=0 HTTP/1.1
    User-Agent: Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1
    Host: v.ru
    Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1
    Accept-Language: ru-RU,ru;q=0.9,en;q=0.8
    Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1
    Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0
    Referer: http://v.ru
    Cookie: rem=0
    Cookie2: $Version=1
    Connection: Keep-Alive, TE
    TE: deflate, gzip, chunked, identity, trailers
    Content-Length: 5613
    
     
  19. mailbrush

    mailbrush Well-Known Member

    Joined:
    24 Jun 2008
    Messages:
    1,997
    Likes Received:
    996
    Reputations:
    155
    php.net/curl_setopt

    ЗЫ: Тебе не надо всех заголовков этих слать...
     
    1 person likes this.
  20. Player#1

    Player#1 Member

    Joined:
    11 Nov 2008
    Messages:
    95
    Likes Received:
    35
    Reputations:
    10
    Вроде так...
    PHP:
    <?php
    $ch 
    curl_init();
        
    $head  = array(
            
    "Host: v.ru",
        
    "Accept: text/html, application/xml;q=0.9, application/xhtml+xml, image/png, image/jpeg, image/gif, 

    image/x-xbitmap, */*;q=0.1"
    ,
            
    "Accept-Language: ru-RU,ru;q=0.9,en;q=0.8",
            
    "Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1",
        
    "Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0",
            
    "Cookie2: $Version=1",
            
    "Connection: Keep-Alive, TE",
        
    "TE: deflate, gzip, chunked, identity, trailers"
        
    );
        
    curl_setopt($chCURLOPT_HTTPHEADER$head);
        
    curl_setopt($chCURLOPT_URL"gr.php");
        
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
        
    curl_setopt($chCURLOPT_POSTFIELDS"to=123&pid=0");
        
    curl_setopt($chCURLOPT_POST1);
        
    curl_setopt($chCURLOPT_COOKIE"rem=0");
        
    curl_setopt($chCURLOPT_REFERER"http://v.ru");
            
    curl_setopt($chCURLOPT_USERAGENT"Opera/9.64 (Windows NT 5.1; U; ru) Presto/2.1.1");
        
    $result curl_exec($ch);
        
    curl_close($ch);
    ?>
     
Thread Status:
Not open for further replies.