За последние 24 часа нас посетил 34901 программист и 1752 робота. Сейчас ищут 889 программистов ...

Что я делаю не правильно:

Тема в разделе "PHP для новичков", создана пользователем Даниль1999, 6 окт 2017.

Метки:
  1. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    PHP:
    1.     $w='<script type="text/javascript">document.write(screen.width);</script>';
    2.     $h='<script "type="text/javascript">document.write(screen.height);</script>';
    3.     $e=0;
    4.     for ($i=1;$i<=strlen($w);$i++){
    5.         $e+=(ord(substr($w,$i-1,1))-ord('0'))*(pow(10,(strlen($w)-$i)));
    6.     }
    выводит float(1.2E+69), а должен 1280
     
    #1 Даниль1999, 6 окт 2017
    Последнее редактирование модератором: 7 окт 2017
  2. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Fell-x27 нравится это.
  3. Dimon2x

    Dimon2x Старожил

    С нами с:
    26 фев 2012
    Сообщения:
    2.211
    Симпатии:
    186
    Посмотри отдельно, что выводит переменные w и h
     
  4. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Ты не оформляешь код в сообщениях
     
    Fell-x27 нравится это.
  5. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Пишешь индусский код.
    Не даешь к нему пояснения и контекста.
    Надеешься на телепатию форумчан.
    Пытаешься кодить, не понимая что происходит и как работает то, чем ты пытаешься управлять.

    Если конкретно - клиентский код не выполнится на сервере, серверный на клиенте.
    Да, даже если клиентский код записать в строковую переменную, а серверный выплюнуть на страницу. Это так не работает.
    --- Добавлено ---
    Ты не поверишь...
    PHP:
    1.     $w='<script type="text/javascript">document.write(screen.width);</script>';
    2.     $h='<script "type="text/javascript">document.write(screen.height);</script>';
    --- Добавлено ---
    1280? Это ты чтоб циферку вывести запилил вот это?
    PHP:
    1.  for ($i=1;$i<=strlen($w);$i++){
    2.         $e+=(ord(substr($w,$i-1,1))-ord('0'))*(pow(10,(strlen($w)-$i)));
    3.     }
    А что тут вообще происходит, расскажи, плз. Слишком сложное наречие идиша, не могу разобрать. Если без шуток, то это реально индусская индусятина. Не надо сложно реализовывать простые вещи. Но мне все еще интересно, что там происходит такое.
     
  6. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Присоединяюсь! Число, однако, на выходе очень близко к 1280 ... если только взять первые четыре цифры и отнять 648:
    PHP:
    1. <?php
    2. echo number_format($e, 2, '.', ' ');
    3. // 1 928 240 715 994 234 518 785 763 554 256 735 810 989 393 359 056 201 965 921 371 689 058 304.00
    Пасьянс практически сошёлся, но вопрос: "Зачем?" - повис в воздухе.

    P.S. И на кой хрен я сюда заглянул? Теперь ночь спать не буду, разгадывая этот ребус.
    --- Добавлено ---
    P.P.S. 10 в 69 степени, даёт приблизительно такую же длину числа. Это число, по непроверенным источникам, называется "Дуовигинтиллион" (лат. duo et viginti (XXII))
     
    #6 Deonis, 7 окт 2017
    Последнее редактирование: 7 окт 2017
  7. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А я просто дождусь ответ автора.
     
  8. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Вы берётесь утверждать, что индусы плохие программисты, и вы лучше программируете, чем хорошие из них?

    Мне тоже надо спать, поэтому ответил не сразу.

    Ну и чем ваши возгласы могут мне помощь, потому что все предыдущие оказывается не работали???

    Напишите как надо, просто, удивите меня.

    Fell-x27, спасибо.
    --- Добавлено ---
    $w string(69) "1280" $h string(71) "800"
     
  9. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    Этого никто не утверждал. Понятие "индусский код" появилось от того, что когда-то, а может и сейчас, в Индии платили по принципу: "Чем больше кода, тем больше риса на обед". И это совсем не миф или сказка. Поэтому их програмеры, которые быстро смекнули что к чему, начали писать что-то вроде:
    PHP:
    1. <?php
    2. if(false) {
    3.     // тут тонны бредового кода, который никогда не выполниться
    4. } else {
    5.    echo 'Hello World!';
    6. }
    Работодатели же, которые мало чего понимали в этом, принимали весь код за чистую монету.
    Удивлять тут вряд ли кто-то будет, т.к. на форуме нет иллюзионистов. Объясните простым языком, что вы хотите сделать и тогда, может быть найдётся нормальное решение.
     
  10. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ты пытаешься мешать javascript и php. Я тебе дал ссылку почитать, почему. Ты не хочешь.
    Тебя не удивляет, что четырёхзначное число 1280 имеет длину 69 символов? Посмотри в исходном коде страницы, до того, как javaScript выполнился. Это то, что в твой бредоцикл поступает на вход. Вообще-то, строка в php преобразуется в число без сложных формул:
    PHP:
    1. $num = (int) $string;
    , и никаких степеней, десяток и прочее.
     
  11. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Короче, всё просто, только любители усложнять с сайтов для лузеров, мне объясняли, что это невозможно и поэтому я пошёл по не правильному пути. Тут я с вами соледарен, код действительно не важный.

    А мне всего то и надо записать в переменную php ширину и высоту окна браузера. Чтобы масштабировать выводимый на экран контент. Сам контент специфический это фото первых кадров роликов из ютуба. Я это уже сделал. Мне только и надо осталось получить в php эти переменные. Я не знаком со многими встроенными методами, и вообще ООП я хорошо знаю в теории, но плохо делалось до сих пор, потому что мануалы раньше были только на английском. У меня начальный английский.
     
  12. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Ну их нельзя в php получить, по крайней мере так. Можно послать AJAX-запросом. Но получить их до того, как первый скрипт отработал - не получится, вам правильно объясняли.
    --- Добавлено ---
    У меня тоже, но мануалы я читаю свободно на английском. Для чтения мануалов не нужен суперанглийский, нужно выучить небольшое количество слов предметной области (не считал, но не должно быть слишком много, типа variable, constant, process, thread, loop и т.п.)
     
  13. Deonis

    Deonis Старожил

    С нами с:
    15 фев 2013
    Сообщения:
    1.521
    Симпатии:
    504
    @Даниль1999,кое-что прояснилось. Однако, не хватает деталей.
    Если вам нужно масштабировать ролики с youtube, то это можно реализовать без всяких JS и PHP, а только средствами CSS. Вот пример в песочнице (изменяйте размер фрейма или браузера).
    Для масштабирования изображений - вообще всё предельно просто:
    Код (CSS):
    1. img {
    2.     max-width: 100%;
    3.     max-height: 100%; /* если нужно */
    4. }
    По поводу передачи данных с клиента на сервер, вам уже @mkramer рассказал (Ajax). Можно еще добавить, что масштабировать можно налету с помощью JS. Т.е. отслеживать изменение размера браузера (resize) и соответствующим образом изменять ширину/высоту определенных элементов
     
  14. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Для масштабирования придуманы media queries в css.
     
  15. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Короче вот. CSS я владею поэтому фоновая картинка отображается одинаково на всех мониторах. Вёрстку я знаю тоже. "Масштабирование", имеется ввиду, чтобы например 100 картинок выходили не один по верх другого, а в ячейках 200 на 200 одинаково на различных мониторах.
    Для этого надо расширить или сжать картинку видоса и найти его координаты, тогда он сам расширится или сузится, как ему указано. HTML я тоже знаю. Я могу это сделать если знаю ширину и высоту окна.

    Вот вывод фотографий на экран, он работает корректно, может быть я убрал несколько кавычек, но в кавычках я не запутаюсь, потому что тоже знаю для чего они нужны:
    Код (Text):
    1.     echo "<div style='position: absolute; left:$x; top:$y;'><a href=$site><img src=$s width=200 height=200></a></div>";
    Вот этот сайт, я его делаю. Это уже 4 из сайтов. Внизу есть ссылки на все 4. В ролике я, снимаю на аналог гоу про. Это бесплатная реклама.)) Ajax пока у меня не получается. 4 раза пробывал.

    https://w.tetradka33.ru
     
  16. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Эта задача решается грамотной адаптивной вёрсткой, php к ней не имеет отношения
     
    Fell-x27 нравится это.
  17. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Адаптивная вёрстка не бывает совершенной, или надо быть богом программирования, даже контакт иногда не работает.
     
  18. mkramer

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

    С нами с:
    20 июн 2012
    Сообщения:
    8.598
    Симпатии:
    1.764
    Что поделать. Ну или действительно часть контента отдавать по ajax-запросу, после того, как в JS узнали ширину экрана. Когда выполняется php, он работает не в браузере, и про браузер достоверно ничего не знает.
     
  19. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    @Даниль1999 если ты без всяких координат просто выведешь на экран 100 картинок, они не будут налазить друг на друга, а заполнят всё пространство
    --- Добавлено ---
    Чтобы было ровно, надо всего лишь чтобы они были одинакового размера. И сетка получится сама собой.
     
  20. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Я вас понял да. Я попробывал, думаю лучше оставить пока по сабмит. А знаете как я раньше пробывал(единст. глюк был, советы, которым я следовал, вызывали постоянную перезагрузку окна). Я пробывал передовать размеры через 2 скрытых поля. Нужно было только программноо вызывать сабмит и обработчик. У меня и сейчас эти скрытые поля есть.

    Может кто то здаесь знает как это делается, программное нажатие на сабмит.
     
  21. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    если ниже формы разместить код
    HTML:
    1. document.getElementById('theForm').submit();
    то она отправится автоматически. theForm - это id формы.
    Но такой метод масштабирования это дичь и так никто не делает.
    Пробовал.
     
  22. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    А через PHP ты для каждой картинки прописываешь width и height, или как?
     
  23. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Для всех одинаковый размер 200 на 200 с масштабом экран/ширина фона
    --- Добавлено ---
    Я делаю как никто другой не делает, так что можно.

    Обработчик каким будет?
     
  24. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    Вот это совсем не понятно, что ты имеешь ввиду, когда пишешь про масштаб.
    200 на 200 это просто 200 на 200, для чего тебе ширина экрана и что ты потом с ней делаешь?
     
  25. Даниль1999

    Даниль1999 Новичок

    С нами с:
    3 окт 2017
    Сообщения:
    66
    Симпатии:
    0
    Обработчик каким будет.
    Лучше один раз увидеть, чем сто раз услышать.

    Посмотри сайт, сам всё поймёшь.

    https://w.tetradka33.ru