<?
$widthScreen = '<script>document.write(screen.width);</script>'; // успешно определяет разрешение окна, но число является строкой!
$widthScreen = settype($widthScreen, "integer"); // почему конвертирует, но число(разрешение броузера) исчезает?
$symbol = $widthScreen / 5; // так как $widthScreen не число, оно не делиться
echo $symbol;
?>
вот надо разрешение экрана разделить на 5 и результат использовать дальше!
вот как быть??
Спустя 42 минуты, 34 секунды (25.03.2010 - 18:55) Игорь_Vasinsky написал(а):
да, у меня тод не получилось и intval() тоже не справился,
попробуй в JS определить переменную Width со значением screen.width
b используй в PHP
попробуй в JS определить переменную Width со значением screen.width
b используй в PHP
Спустя 44 секунды (25.03.2010 - 18:56) NewBePhp написал(а):
John.Deff
что касается пхп, то, в первой строчке, ты задал некий текст, который, как я понимаю, в дальнейшем должен быть выведен на хтмл странице и потом продолжится обработка данных на клиентской стороне...
вторая строчка у тя задает обработку $widthScreen... отсюда возникла ошибка при флаге инт! текст не явл.-ся целым числом... далее думаю смысл ясен...
2-ое, что хочу сказать - это <script>document.write(screen.width);</script> !!!
обработку данных или посылай адресно в ссылке и обрабатывай пхп скриптом или же оставляешь и создаеш обработку в JS:
$widthScreen = '<script>document.write(screen.width);</script>';
echo $widthScreen;
что касается пхп, то, в первой строчке, ты задал некий текст, который, как я понимаю, в дальнейшем должен быть выведен на хтмл странице и потом продолжится обработка данных на клиентской стороне...
вторая строчка у тя задает обработку $widthScreen... отсюда возникла ошибка при флаге инт! текст не явл.-ся целым числом... далее думаю смысл ясен...
2-ое, что хочу сказать - это <script>document.write(screen.width);</script> !!!
обработку данных или посылай адресно в ссылке и обрабатывай пхп скриптом или же оставляешь и создаеш обработку в JS:
$widthScreen = '<script>document.write(screen.width);</script>';
echo $widthScreen;
Спустя 11 минут, 43 секунды (25.03.2010 - 19:07) Игорь_Vasinsky написал(а):
да не..
в первой строчке он получил значение переменной $widthScreen - выводит у меня 1280 - но при попытке определить тип выдаёт string(),
поэтому арифметические действия невозможны, я и предлогаю ему получить переменную (а не вывести строку) в JS, а потом использовать в PHP и по списку.
в первой строчке он получил значение переменной $widthScreen - выводит у меня 1280 - но при попытке определить тип выдаёт string(),
поэтому арифметические действия невозможны, я и предлогаю ему получить переменную (а не вывести строку) в JS, а потом использовать в PHP и по списку.
Спустя 11 минут, 18 секунд (25.03.2010 - 19:19) NewBePhp написал(а):
Игорь_Vasinsky
из текста получить данные в виде инта тут никак...
1280 ты получишь в случае если выведеш в хтмл... но тут *конец истории*...
остальное написано выше
из текста получить данные в виде инта тут никак...
1280 ты получишь в случае если выведеш в хтмл... но тут *конец истории*...
остальное написано выше
Спустя 22 минуты, 40 секунд (25.03.2010 - 19:41) twin написал(а):
NewBePhp
Люди просто не понимают, что действия происходят по разные стороны забора...
Люди просто не понимают, что действия происходят по разные стороны забора...
Цитата |
<script>document.write(screen.width);</script> |
Это у пользователя на компьютере, а остальное на сервере.
Как же можно получить значение (расширение окна монитора пользователя), если скрипт работает еще на сервере и про пользователя ничего не знает?
Нужно сначала передать скртипту эти данные, потом уже делить.
Аяксом например.
Спустя 2 минуты, 52 секунды (25.03.2010 - 19:44) NewBePhp написал(а):
twin
пускай простыми способами пользуются (с этим согл) но аякс рановат в таком случае... но за всех не отвечаю... личный опыт!
пускай простыми способами пользуются (с этим согл) но аякс рановат в таком случае... но за всех не отвечаю... личный опыт!
Спустя 25 минут, 54 секунды (25.03.2010 - 20:10) John.Deff написал(а):
Блин!! но тут все работает!! и строку мы получаем правильную, надо просто её перевести со "string" в "integer" и будет счастье!
twin не могу понять причем здесь клиент - сервер, если все пашет?
Игорь_Vasinsky - я не силен в JS, хоть примерно как это должно выглядеть?
вот так вот все прекрасно работает
но мне надо значение "document.write(symbol);"
запихнуть в
вот как же все таки победить это??
twin не могу понять причем здесь клиент - сервер, если все пашет?
Игорь_Vasinsky - я не силен в JS, хоть примерно как это должно выглядеть?
вот так вот все прекрасно работает
<script type="text/javascript">
var widthScreen = screen.width;
symbol = widthScreen / 5;
document.write(symbol);
</script>
но мне надо значение "document.write(symbol);"
запихнуть в
<?
$symbol = document.write(symbol); // это грубо, такого не бывает
echo substr($row->p_desc,0,$symbol); ?>
вот как же все таки победить это??
Спустя 11 минут, 41 секунда (25.03.2010 - 20:22) NewBePhp написал(а):
John.Deff
ну ты даеш то пхп написал а ща js показываеш... само собой то не катит ...
то что написал твин - ВЕРНО... клиент - сервер пора знать... или передавай данный аяксом или ссылкой типа index.php?width=1024
обрабатывать соответственно...
ну ты даеш то пхп написал а ща js показываеш... само собой то не катит ...
то что написал твин - ВЕРНО... клиент - сервер пора знать... или передавай данный аяксом или ссылкой типа index.php?width=1024
обрабатывать соответственно...
Спустя 48 минут, 37 секунд (25.03.2010 - 21:10) John_761 написал(а):
$abc = (string)'1280';
$ab = (int)$abc;
var_dump($ab); // int(1280)
Спустя 2 часа, 2 минуты, 23 секунды (25.03.2010 - 23:13) ApuktaChehov написал(а):
Уважаемый John.Deff.
Вы не понимаете, что php - выполняется на сервере, а JavaScript у клиента.
Это не может работать, потому как: $symbol -у что то должно присвоится еще до того, как какая-либо информация попадет к клиенту(в браузер), еще до того, как браузер вообще узнает что ему что то придет от сервера.
А document.write(symbol) выполнится только у клиента(в браузере), уже после того как вся нужная информация пришла от сервера.
Таким образом, php никак не может присвоить $symbol - у значение document.write(symbol), потому что document.write(symbol) будет известен, только после того, как ВЕСЬ скрипт php будет исполнен,а результат его работы попадет к клиенту (в браузер).
P.S. Это жесткая правда, но с другой стороны, чисто теоретически, возможно у вас установлена какая то бня, которая на сервере исполняет JS, но опять же как узнать что там у клиента делается? По моему бред...
Вы не понимаете, что php - выполняется на сервере, а JavaScript у клиента.
$symbol = document.write(symbol); // это грубо, такого не бывает
Это не может работать, потому как: $symbol -у что то должно присвоится еще до того, как какая-либо информация попадет к клиенту(в браузер), еще до того, как браузер вообще узнает что ему что то придет от сервера.
А document.write(symbol) выполнится только у клиента(в браузере), уже после того как вся нужная информация пришла от сервера.
Таким образом, php никак не может присвоить $symbol - у значение document.write(symbol), потому что document.write(symbol) будет известен, только после того, как ВЕСЬ скрипт php будет исполнен,а результат его работы попадет к клиенту (в браузер).
P.S. Это жесткая правда, но с другой стороны, чисто теоретически, возможно у вас установлена какая то бня, которая на сервере исполняет JS, но опять же как узнать что там у клиента делается? По моему бред...
Спустя 3 часа, 3 минуты, 45 секунд (26.03.2010 - 02:17) John.Deff написал(а):
Цитата (ApuktaChehov @ 25.03.2010 - 20:13) |
Уважаемый John.Deff. Вы не понимаете, что php - выполняется на сервере, а JavaScript у клиента. $symbol = document.write(symbol); // это грубо, такого не бывает Это не может работать, потому как: $symbol -у что то должно присвоится еще до того, как какая-либо информация попадет к клиенту(в браузер), еще до того, как браузер вообще узнает что ему что то придет от сервера. А document.write(symbol) выполнится только у клиента(в браузере), уже после того как вся нужная информация пришла от сервера. Таким образом, php никак не может присвоить $symbol - у значение document.write(symbol), потому что document.write(symbol) будет известен, только после того, как ВЕСЬ скрипт php будет исполнен,а результат его работы попадет к клиенту (в браузер). P.S. Это жесткая правда, но с другой стороны, чисто теоретически, возможно у вас установлена какая то бня, которая на сервере исполняет JS, но опять же как узнать что там у клиента делается? По моему бред... |
я написал для примера, что мне надо, написал абстрактно!
но в целом мне не понятно, то, что в браузер выводится строка (разрешение экрана), её можно использовать, только как строку, и она работает.
как число не работает.... да и хрен сним!
Как можно решить эту задачу другими путями?
надо чтоб юзер загрузил страницу и без перезагрузки, без куков узнать его разрешение, загнать в переменную - такое реально?
Спустя 2 часа, 24 минуты, 41 секунда (26.03.2010 - 04:41) twin написал(а):
Вот смотри. Допустим ты ремонтируешь канализацию. Ты находишься в колодце, а напарник твой сверху - подает ключи.
По твоей логике он должен подать именно тот ключ, который подойдет к гайке, котрую ты собрался открутить.
Как сделать так, чтобыбез перезагрузки не вылезая тебе из колодца, без куков предварительной договоренности напарник узнал, что именно тебе надо и загнал в переменную подал именно тот ключ, какой нужно?
Способ только один. Крикнуть или позвонить по айфону - дай на 32! То есть должен быть канал взаимодействия - аякс.
Причем скрипт должен отработать два раза. Сначала посмотреть, какая там гайка (узнать разршение), потом получить ключ (это значение) и тогда уже начинать крутить (формировать конечную страницу).
Ты же делаешь что. Берешь айфон (строку со скриптом) и вместо того, что бы позвонить напарнику (отправить эту строку браузеру) пытаешься им крутить гайки. И удивляешься: как же так, почему не подходит...
По твоей логике он должен подать именно тот ключ, который подойдет к гайке, котрую ты собрался открутить.
Как сделать так, чтобы
Способ только один. Крикнуть или позвонить по айфону - дай на 32! То есть должен быть канал взаимодействия - аякс.
Причем скрипт должен отработать два раза. Сначала посмотреть, какая там гайка (узнать разршение), потом получить ключ (это значение) и тогда уже начинать крутить (формировать конечную страницу).
Ты же делаешь что. Берешь айфон (строку со скриптом) и вместо того, что бы позвонить напарнику (отправить эту строку браузеру) пытаешься им крутить гайки. И удивляешься: как же так, почему не подходит...
Спустя 3 часа, 37 минут, 12 секунд (26.03.2010 - 08:18) qpayct написал(а):
ну ты блин даёшь....
хочешь выполнить действие на серваке в соответствии с шириной экрана юзверя до того, как юзверь вернул тебе эту самую ширину своего экрана и ещё удивляешься
хочешь выполнить действие на серваке в соответствии с шириной экрана юзверя до того, как юзверь вернул тебе эту самую ширину своего экрана и ещё удивляешься
Спустя 5 часов, 11 минут, 10 секунд (26.03.2010 - 13:30) John.Deff написал(а):
Цитата (twin @ 26.03.2010 - 01:41) |
Вот смотри. Допустим ты ремонтируешь канализацию. Ты находишься в колодце, а напарник твой сверху - подает ключи. По твоей логике он должен подать именно тот ключ, который подойдет к гайке, котрую ты собрался открутить. Как сделать так, чтобы Способ только один. Крикнуть или позвонить по айфону - дай на 32! То есть должен быть канал взаимодействия - аякс. Причем скрипт должен отработать два раза. Сначала посмотреть, какая там гайка (узнать разршение), потом получить ключ (это значение) и тогда уже начинать крутить (формировать конечную страницу). Ты же делаешь что. Берешь айфон (строку со скриптом) и вместо того, что бы позвонить напарнику (отправить эту строку браузеру) пытаешься им крутить гайки. И удивляешься: как же так, почему не подходит... |
Блеск! теперь понимаю, мне нужно было это
но тут попутно возникает вопрос!
с помощью php
$_SERVER['HTTP_USER_AGENT']
можно определить браузер
но почему бы не отдавать также разрешение?!
Спустя 4 дня, 9 часов, 47 минут, 1 секунда (30.03.2010 - 22:17) John.Deff написал(а):
кто скажет или покажет ссылочку например, как реализовать задуманное?
Спустя 37 минут, 41 секунда (30.03.2010 - 22:54) twin написал(а):
А что задумано - покрыто мраком.
Большая часть подобного рода задач решается на стороне клинта посредством javascript. А если нужно передать разные данные - без повторного запроса не обойтись. Или опять же передать все, а выбрать уже на кленте.
Большая часть подобного рода задач решается на стороне клинта посредством javascript. А если нужно передать разные данные - без повторного запроса не обойтись. Или опять же передать все, а выбрать уже на кленте.
Спустя 17 минут, 35 секунд (30.03.2010 - 23:12) John.Deff написал(а):
Цитата (twin @ 30.03.2010 - 19:54) |
А что задумано - покрыто мраком. Большая часть подобного рода задач решается на стороне клинта посредством javascript. А если нужно передать разные данные - без повторного запроса не обойтись. Или опять же передать все, а выбрать уже на кленте. |
хм...
задумано следующее:
есть простой текст в базе скажем 3000 символов.
на главной странице выводим новость с кусочком текста скажем 100 символов, но у нас ячейка резиновая только в "width" и эти 100 символов при разрешении экрана в 800х600, будут рвать дизайн, а при разрешении 1600х1024 символов явно будет маловато и нужно бы заполнить всю ячейку текстом...
вот как сделать, чтоб пользователь зашел на сайт, "просто зашел" и получил выше описанное?
в нете много чего перекопал, результата нет
Спустя 4 минуты, 19 секунд (30.03.2010 - 23:16) twin написал(а):
Я в верстке не силен, но помнится, что такая задача решается на уровне CSS даже, не то что программно... но как не подскажу - лень рыться.
Спустя 5 минут, 17 секунд (30.03.2010 - 23:21) John.Deff написал(а):
Цитата (twin @ 30.03.2010 - 20:16) |
Я в верстке не силен, но помнится, что такая задача решается на уровне CSS даже, не то что программно... но как не подскажу - лень рыться. |
это как на уровне CSS, это стили, тут никак текст не уменьшить, тут народ правильно подсказал AJAX нужен