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

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

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

    MTV New Member

    Joined:
    16 Feb 2011
    Messages:
    180
    Likes Received:
    2
    Reputations:
    0
    Да заменил, только там: is_readable.спс.
     
  2. Siter

    Siter New Member

    Joined:
    25 Jul 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Всем привет.
    Как можно обращаться к яндексу с помощью Curl?

    Ответ от яндекса на запросы скрита:

    "Нам очень жаль, но запросы, поступившие с вашего IP-адреса, похожи на автоматические. По этой причине мы вынуждены временно заблокировать доступ к поиску."
     
  3. daniel777

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

    Joined:
    8 Jul 2010
    Messages:
    517
    Likes Received:
    90
    Reputations:
    37
    Наверное отсылать заголовки. В первую очередь USER_AGENT
     
  4. Siter

    Siter New Member

    Joined:
    25 Jul 2010
    Messages:
    0
    Likes Received:
    0
    Reputations:
    0
    Ествественно, что я это проверил
     
  5. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    есть идеи у кого, зачем разработчик одной браузерки применяет конструкцию вида -
    ServerUrl + "?" + _loc1 + "&xdac=" + Math.random();

    при том, что скрипт грузится и без math.random
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    justonline для исключения буфферизации запроса.
     
    _________________________
  7. Ro Man

    Ro Man Elder - Старейшина

    Joined:
    4 Jun 2007
    Messages:
    30
    Likes Received:
    16
    Reputations:
    0
    туповатый вопрос наверное)
    как сделать выравнивание по центру дело в том что если сверху хоть что то стоит (перед php) ругаеться при верном логине и пароле, пробывал дописать <div align="center" выдает ошибку(
    Warning: Cannot modify header information - headers already sent by (output started at
    Z:\home\localhost\www\cook\2.php:2) in
    Z:\home\localhost\www\cook\2.php on line 21
    PHP:
    <?
    $_GET['login'] = htmlspecialchars($_GET['login']);
    $_GET['passwd'] = htmlspecialchars($_GET['passwd']);
    if (!isset(
    $_GET['go'])){ 
    echo 
    "<form> 
    Login: <input type=text name=login>
    Password: <input type=password 
    name=passwd>
    <input type=submit name=go value=Go>
    </form>"
    ;
    }else { 
    if (
    $_GET['login']=="" || 
    $_GET['passwd']=="") { 
    echo 
    "не введенны данные"
    }
    else 
    {
    if (
    $_GET['login']=="pit" && 
    $_GET['passwd']=="123") { 
    Header("Location: s.html");
    }else echo 
    "Неверные данные, 
    попробуйте еще раз<br>"
    ;
    }
    }
    ?>
     
  8. Nikit

    Nikit New Member

    Joined:
    19 Jan 2012
    Messages:
    21
    Likes Received:
    3
    Reputations:
    0
    В css: text-align: center;

    P.S. И такая ошибка, чаще всего, в дэнвере. Поставь XAMPP
     
  9. Ro Man

    Ro Man Elder - Старейшина

    Joined:
    4 Jun 2007
    Messages:
    30
    Likes Received:
    16
    Reputations:
    0
    а разве это будет работать? я же смогу подключить css только после php кода
     
    #19949 Ro Man, 30 Jan 2012
    Last edited: 30 Jan 2012
  10. Nikit

    Nikit New Member

    Joined:
    19 Jan 2012
    Messages:
    21
    Likes Received:
    3
    Reputations:
    0
    Хах, точно:)
    Это выскакивает из-за того, что ты header-функцию делаешь после вывода каких-либо данных. По идее, всё должно работать и так, но дэнвер ругается (он же хер знает из чего состоит и как собран) и выскакивает эта ошибка, так как на нормальном серваке всё прекрасно работает (у самого когда-то дэнвер стоял, из-за которого я никак не мог написать свою первую «cms»). Только вот вот первые 2 строчки кода сделай такими:
    PHP:
    if (!empty($_GET['passwd'])) {
     
    $_GET['passwd'] = htmlspecialchars($_GET['passwd']); 
    }
    if (!empty(
    $_GET['login'])) {
     
    $_GET['login'] = htmlspecialchars($_GET['login']); 
    }
    Если ты не хочешь сносить дэнвер ради исправление этой ошибки, то всю проверку логина и пароля делай в файле, допустим, chkpwd.php. (в form, укажи параметр actшon на chkpwd.php, а method — get)
     
    #19950 Nikit, 30 Jan 2012
    Last edited: 30 Jan 2012
    1 person likes this.
  11. Compton

    Compton Member

    Joined:
    31 Jan 2010
    Messages:
    290
    Likes Received:
    25
    Reputations:
    0
    такое бывает из-за пропуска строки после знака открытия кода,или из-за пробела после него же.
     
  12. bad_boy

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

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    Nikit, конечно, типичная для денвера ошибка, которую php почему-то выводит :)
    Ro Man, некрасиво, но для примера сойдёт
    PHP:
    <?php
    //$_GET['login'] = htmlspecialchars($_GET['login']); 
    //$_GET['passwd'] = htmlspecialchars($_GET['passwd']);

    $login = isset($_GET['login']) ? htmlspecialchars($_GET['login']) : '';
    $passwd = isset($_GET['passwd']) ? htmlspecialchars($_GET['passwd']) : '';

    if (!isset(
    $_GET['go'])) {
        echo 
    "<div align=center><form>  
    Login: <input type=text name=login> 
    Password: <input type=password name=passwd> 
    <input type=submit name=go value=Go> 
    </form>"
    ;
    } else {
        if (
    $login != "pit" && $passwd != "123") {
        echo 
    "Неверные данные, попробуйте еще раз<br>"
        } else {
        
    Header("Location: s.html");
        exit;
        }
    }
    ?>
    </div>
     
  13. justonline

    justonline network ninja

    Joined:
    27 Jul 2011
    Messages:
    499
    Likes Received:
    60
    Reputations:
    53
    хм. вариант...спасибо :)
     
  14. 5w17ch3r

    5w17ch3r Member

    Joined:
    1 Dec 2008
    Messages:
    79
    Likes Received:
    11
    Reputations:
    0
    Ребят, выручайте. Начальник наезжает из-за календаря на сайте - функция, показывающая следующий месяц (пробовал
    PHP:
    date("c"strtotime("next month"))
    и
    PHP:
    date("c"mktime(000date("m")+1date("d"))),0,8)
    ) показывает март.

    Ясно что в феврале нету 30-х чисел. Но как все же вернуть его?

    В принципе, решил это условием:
    PHP:
    if (substr(date("c"mktime(000date("m")+1date("d"))),0,8) == substr(date("c"mktime(000date("m"), date("d")+7)),0,8))
    Но может есть более грамотный вариант?
     
    #19954 5w17ch3r, 31 Jan 2012
    Last edited: 31 Jan 2012
  15. bjong

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

    Joined:
    26 Jul 2003
    Messages:
    41
    Likes Received:
    12
    Reputations:
    18
    необходимо вывести информацию из БД (mysql) в две таблицы.
    в одну таблицу где group = 1, в другую где group = 2 не прибегая к WHERE group = $ (дабы не дергать дважды базу).
    направьте пожалуйста, в какую сторону смотреть?
     
  16. bad_boy

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

    Joined:
    30 Dec 2004
    Messages:
    187
    Likes Received:
    33
    Reputations:
    3
    bjong, не совсем понял наверное

    Code:
    select decode(group,1,col1,null) as col1
             ,decode(group,1,col2,null) as col2
             ,decode(group,1,col3,null) as col3
       from table
    --
    select decode(group,2,col1,null) as col1
             ,decode(group,2,col2,null) as col2
             ,decode(group,2,col3,null) as col3
       from table
    
    decode можно заменить на
    case when group = 1 then col1 else null end
     
  17. krypt3r

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

    Joined:
    27 Apr 2007
    Messages:
    1,507
    Likes Received:
    389
    Reputations:
    101
    Да проще можно
    PHP:
    // SELECT * FROM `table`
    $table1 $table2 '';
    while (
    $row mysql_fetch_array ($query)) {
      if ((int) 
    $row['group'] === 1) {
        
    // добавляем что-то в $table1
      
    } elseif ((int) $row['group'] === 2) {
            
    // добавляем что-то в $table2
      

    }
    // далее вывод обеих таблиц
     
  18. AnGeI

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

    Joined:
    8 Dec 2008
    Messages:
    395
    Likes Received:
    79
    Reputations:
    16
    Некоторые люди говорят, что конструкции по типу continue, break в коде это признак плохого стиля и код становится неоптимизированным, работает медленнее. На сколько это правда? Хочется писать "хороший код", не только в плане читаемости/понимания, но и в плане структуры. Хочется следовать каким-то жестким правилам стандартизации, посоветуйте, где об этом можно прочитать.
     
  19. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    AnGeI
    правда
    Почти что неправда, точнее это будет одно из последних мест, которые нужно будет оптимизировать
    А вот тут следует сказать, что "в среднем по больнице" continue/break ухудшают читаемость кода, однако костыли, которые придумывают вместо этого - работают еще хуже

    И запомните: преждевременная оптимизация - зло. А рефакторить - проще код, который можно легко понять.
     
    _________________________
  20. Киев

    Киев Banned

    Joined:
    9 Aug 2011
    Messages:
    19
    Likes Received:
    8
    Reputations:
    4
    Есть функция, возвращающая кол-во MySQL-запросов? Или только счетчиком считать?
     
Thread Status:
Not open for further replies.