X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

2 страниц V   1 2 >
Открыть тему
Тема закрыта
> echo $id +1
ikeacatalogue
ikeacatalogue
Topic Starter сообщение 24.6.2013, 16:03; Ответить: ikeacatalogue
Сообщение #1


Алоха.
Нужно чтобы ссылка генерилась так:
[PHP]<a href="<? echo $id +1; ?>">Link</a>[/PHP]
Когда проверяю код в php online
[PHP]$id=2;
echo $id +1;[/PHP]
все ок.
Ставлю в html код, вместо нужной ссылки всегда 1.
При том, если +1 убрать, то $id легко определяется.
Что за магия? Синтаксис?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
fanatikus
fanatikus
сообщение 24.6.2013, 22:45; Ответить: fanatikus
Сообщение #2


а так
<?php $id=2;
?>
<html>
<body><a href="<?=$id+1?>">Link</a></body>
</html>
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 25.6.2013, 0:11; Ответить: Den1xxx
Сообщение #3


[PHP]<a href="<? echo $id +1; ?>">Link</a>[/PHP]
[PHP]<a href="<? echo ($id +1); ?>">Link</a>[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 25.6.2013, 0:54; Ответить: alexdrob
Сообщение #4


Den1xxx, между теми двумя кодами есть разница?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Witu
Witu
сообщение 25.6.2013, 7:50; Ответить: Witu
Сообщение #5


alexdrob, у него сессии работают без идентификатора так что есть и огромная %)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 25.6.2013, 9:34; Ответить: Den1xxx
Сообщение #6


(alexdrob @ 25.6.2013, 03:54) *
Den1xxx, между теми двумя кодами есть разница?

echo выводит строку, а не число. $id + 1 это не строка а число.

1 вариант:
[PHP]<a href="<? echo $id +1; ?>">Link</a>[/PHP]
вывести строку $id и к ней прибавить 1.

2 вариант:
[PHP]<a href="<? echo ($id +1); ?>">Link</a>[/PHP]
сложить $id и 1 и вывести результат.

Видите разницу?
Допускаю даже, что поведение echo может зависеть от настроек PHP или от версии.
Можно кстати и так:
[PHP]echo $id++;[/PHP]
Поэтому нужно заключить в скобки, чтобы сначала вычислился результат, а потом он вывелся как строка.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
alexdrob
alexdrob
сообщение 25.6.2013, 12:27; Ответить: alexdrob
Сообщение #7


(Den1xxx @ 25.6.2013, 12:34) *
вывести строку $id и к ней прибавить 1.

Вы понимаете что конкатенация строк значком + в пхп не прокатит?

[PHP]<?php
$id = '1';

var_dump($id +1);
var_dump(($id +1));
echo $id +1;
echo ($id +1);
[/PHP]
Результат
int(2)
int(2)
22

от скобок разницы не будет
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Den1xxx
Den1xxx
сообщение 25.6.2013, 13:14; Ответить: Den1xxx
Сообщение #8


(alexdrob @ 25.6.2013, 15:27) *
от скобок разницы не будет

Я с Вами согласен, но не уверен, влияет ли настройка PHP на это.
Когда не уверен, лучше подстраховаться.

У меня кстати недавно был случай.
Движок прекрасно работал на 20 сайтах.
Недавно ставил на новый хостинг.
А там Винда+PHP 5.4
Винда на хостинге вообще редкость.
И какие-то настройки PHP, что ошибки уровня warning не пропускают работу скрипта дальше.
Достаточно случайно не объявить переменную и... жесть одно слово.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Apay
Apay
сообщение 25.6.2013, 14:41; Ответить: Apay
Сообщение #9


попробуйте
[PHP]<a href="<? echo 1+$id; ?>">Link</a>[/PHP]

и неплохо было бы проверить, инициализированна ли $id
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Licoric
Licoric
сообщение 26.6.2013, 14:10; Ответить: Licoric
Сообщение #10


[PHP]$b = $id+1;
<a href="<? echo $b; ?>">Link</a>[/PHP]
Не?
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
2 страниц V   1 2 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Echo php вывод
6 macbeth9 14375 30.10.2010, 21:46
автор: -Refandler-


 



RSS Текстовая версия Сейчас: 28.3.2024, 23:43
Дизайн