За последние 24 часа нас посетили 22150 программистов и 1153 робота. Сейчас ищут 382 программиста ...

Вывод данных

Тема в разделе "PHP для новичков", создана пользователем Kirillde1, 26 мар 2013.

  1. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    Вы так "понятно" объяснили
     
  2. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    что не ясно на данном этапе?
     
  3. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    чем ob_start() может помочь, я даже не могу представить как выглядеть будет код
     
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    об = оутпут буфер. старт = старт. запускаем буфер на выходном потоке. все данные относящиеся к потоку будут заруливать в буфер до тех пор пока мы с ним что-то не сделаем. суть в том что если код написан криво и нелогично то где-то в конце логики невозможно будет установить заголовок так как данные уже отправлены а заголовки отправляются перед данными. когда мы заворачивает данные в буфер то мы можем продолжать работать с заголовками - они не отправятся до тех пор пока мы не запишем что-либо в поток вне буфера (или не закроем буфер).
     
  5. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    обстарт в самом начале, потом пишешь эхо сколько хочешь в любом месте, куки ставишь, сессии и прочая и прочая. в конце - echo ob_get_clean()
     
  6. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    Вопрос, делаю одну точку входа на сайт
    Код (Text):
    1.  
    2.  
    3. switch ($_GET['c'])
    4. {
    5. case 'edit':
    6.     $controller = new Edit();
    7.     break;
    8. default:
    9.     $controller = new Articles();
    10. }
    11.  
    12. $controller->Request();
    Если я не передаю в гет переменную С, то пишет Undefined index: c in C:\VertrigoServ\www\art\index.php on line 9, вопрос почему? Вроде же по логике так, если нет переменной, то грузим default .Причём контроллер Articles работает, и всё отображается, просто поверх всего выскакивает данная ошибка.
     
  7. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    да все нормально. ячейка такая не определена но используется. отсюда выпадает предупреждение. а поскольку оно не определено то вполне удовлетворяет ветке default вашего свича. можно сделать костыль типа $c = isset( $_GET['c'] ) ? $_GET['c'] : null; switch( $c ). в таком случае если не будет такого индекса то переменная ц получит "дефолтное" значение (налл) и так же удачно будет вызывать дефолтную ветку свича но без ностиса на тему использования несуществующей переменной
     
  8. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    Спасибо, всё работает)
    Просто в уроках, по которым я учусь там работает и без такой записи. +)
     
  9. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    это потому что в этих уроках предлагается выключить мозг и вывод предупреждений. никто не спорит что на продакшене не должно быть вывода ошибок в явном виде - нужно писать свои обработчики. но подавлять появление ошибок нельзя. вот ваша книга подавляет ошибки хотя на самом деле переменная не определена и на 99% хостингов это будет порождать запись в журнале ошибок. нахер это надо?
     
  10. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    "нахер это надо?"

    Добавлено спустя 6 минут 3 секунды:
    + ещё общий вопрос. Как думаете, лучше переходить на msqli или остаться на mysql ?
     
  11. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    на импрувд надо было еще лет пять назад переходить. так что тут даже не обсуждается. тем более не за горами момент когда устаревшее расширение просто будет удалено и все сценарии его использующие следовательно перестанут работать.
     
  12. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    Ну перехожу на mysqli, встал вот такой вопрос. В каких случаях лучше использовать подготавлеваемый запрос? И при передаче значений, он сам вроде проверяет на sql-инъекции ?
     
  13. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    во всех, если можешь =)
     
  14. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Лучше на PDO сразу перейти.Это более свежая библ. и не сложнее mysqli,я её сразу перескочил ,после mysql.
    Плюс PDO работает быстрее и надежнее защищена от инъекций.
    Код (Text):
    1.  $stmt = $db ->prepare( "INSERT INTO users (firstname, lastname, email) value (:firstname, :lastname, :email)" );
    2. $stmt ->bindParam( ':firstname' , $firstname );
    3. $stmt ->bindParam( ':lastname' , $lastname );
    4. $stmt ->bindParam( ':email' , $email );
    5. $firstname = "John" ;
    6. $lastname = "Smith" ;
    7. $email = "john@test.com" ;
    8. $stmt ->execute();
     
  15. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    со вторым не поспорю. плюсом добавлю и бОльшее кол-во СУБД. а вот по первому - перфоманс-тест с обоснованием будет?
     
  16. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    Что именно?Перейти или перескочил.
     
  17. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    один хрен запросы переписывать
     
  18. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    не думал что в такой чудесный день кому-то придется расшифровывать его же мысли.

    второе выделено зеленым и к нему я не придираюсь. даже более того, я добавляю что еще одним плюсом ПДО - поддержка большого кол-ва СУБД.
    а вот по первому - выделено красным - возникает желание получить доказательства данного утверждения. какие тесты проводились перед тем как бросаться 100% заявлениями что пдо быстрее импрувда? результаты этих тестов и ожидаются в качестве обоснования утверждения.

    заранее спасибо))
     
  19. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    я как дурачек тебе в личку строчу и можно заставлять меня ждать по три дня как девочку, хотя на форуме ты бываешь =) ага
     
  20. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    igordata да стукался я те в скайпик))) и в личку)))
     
  21. nixx

    nixx Активный пользователь

    С нами с:
    20 фев 2013
    Сообщения:
    132
    Симпатии:
    0
    После того как переписал запросы на PDO, даже визуально скорость увеличилась заметно на WAMPе .
     
  22. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.902
    Симпатии:
    969
    а я когда машину в белый перекрасил расход топлива визуально уменьшился. короче понятно, обоснования не будет.
     
  23. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    прям писька даже лучше стала стоять!
     
  24. Kirillde1

    Kirillde1 Активный пользователь

    С нами с:
    16 мар 2013
    Сообщения:
    77
    Симпатии:
    0
    Не не, PDO конечно хорош, есть свои + и весьма весомые. Но есть и минусы, на счёт скорости не знаю, но PDO подразумевает определённую абстракцию при работе с базой. В конечном счёте, если ваш проект разрастается, вы все-равно перейдёте на mysqli.
     
  25. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.410
    Симпатии:
    1.768
    Тысячи леммингов не могут ошибаться! Как ты можешь говорить такое?