форум вебмастероff на AlfaSpace.NET

Ubuntu и Linux |реактивный бесплатный хостинг | Киноклуб. ВСЁ БЕСПЛАТНО!
база знаний хостинга | правила форума

  Начало ° Ответить ° Статистика ° Опрос ° Регистрация ° Поиск ° FAQ °
Форум вебмастеров на AlfaSpace.NET / The Matrix Has You / ошибки с видом переменных
Автор Сообщение
acsid
Alfa Guru

2388
# Дата: 25 Дек 2005 07:18 ° Поправил: acsid


Пишу свой скрипт по примеру других ,известных скриптов.И наконец
дело дошло до языковых фаилов.По примеру форума Exbb я начал обозначать фразы и целые предложения(в языковом фаиле и в самом коде) переменными такого вида : $MD['login_or_session_error']
И при первом же просмотре столкнулся с ошибками :

Parse error: parse error, unexpected T_ENCAPSED_AND_WHITESPACE, expecting T_STRING or T_VARIABLE or T_NUM_STRING

почему идут такие ошибки?
внизу пример кода с этими переменными,который выдаёт выше указанную ошибку:

echo"<center><font color=red>$MD['login_or_session_error']</font><br><a href=index.php>$MD['back']</a></center>";

многие скрипты написаны по такому принцепу ..разьясните

smallcms
Участник

2754
# Дата: 25 Дек 2005 07:39 ° Поправил: smallcms


$MD['login_or_session_error'] = "Йопана ащипка!";
$MD['back'] = "Фсио ф зат!!!!Ё";

echo"<center><font color=red>$MD[login_or_session_error]</font><br><a href=index.php>$MD[back]</a></center>";

$MD[login_or_session_error] и $MD[back] пробуй без '', если не то пешы, помогём.

Q:Почему так?
A:Побочные явления при программировании под пивком языка PHP.

np: Under17 - Magi-Cu !!

acsid
Alfa Guru

2388
# Дата: 25 Дек 2005 07:57


smallcms
ок пасиба вечерком попробую отпишу что вышло

DM53
Участник

232
# Дата: 25 Дек 2005 08:06


<?php
$MD['login_or_session_error'] = "asshole";
echo $MD['login_or_session_error'];
?>

все работает

smallcms
Участник

2754
# Дата: 25 Дек 2005 08:21 ° Поправил: smallcms


DM53
1 $out = <<<DATA
2 <div>$MD['login_or_session_error']</div>
3 DATA;
4 echo $out;

не работает! пока в стр 2 не сделаешь так:

2 <div>$MD[login_or_session_error]</div>

kewl?

np: UNDER17 - Kotae

DM53
Участник

232
# Дата: 25 Дек 2005 08:25


чесно говоря не догнал, что ты написал. Код полностью, плиз.

smallcms
Участник

2754
# Дата: 25 Дек 2005 08:27 ° Поправил: smallcms


DM53
ок...
<?php
$MD['login_or_session_error'] = "asshole";
echo $MD['login_or_session_error'];
?>

все работает


<?php
$MD['login_or_session_error'] = "asshole";
echo "это ошибка: $MD['login_or_session_error'] - это была ошибка";
?>
всё неработает

<?php
$MD['login_or_session_error'] = "asshole";
echo "это ошибка: $MD[login_or_session_error] - это была ошибка";
?>
всё работает

np: UNDER17 - Icchae! Popotan (Off Vocal)

DM53
Участник

232
# Дата: 25 Дек 2005 08:39


Просто ты неправильно пишешь

<?php
$MD['login_or_session_error'] = "asshole";
echo "это ошибка: ".$MD['login_or_session_error']." - это была ошибка";
?>

smallcms
Участник

2754
# Дата: 25 Дек 2005 08:50


DM53
ЗДРАСЬТИ-ПРИЕХАЛИ!!! Это _Я_ неправильно пещу? правелно я!

просто acsid привёл пример:
echo"<center><font color=red>$MD['login_or_session_error']</font><br><a href=index.php>$MD['back']</a></center>";

я поправил:
echo"<center><font color=red>$MD[login_or_session_error]</font><br><a href=index.php>$MD[back]</a></center>";

а ты ВАЩЭ советуешь тыкацца точками кожны раз. А ЭСТЛЕ ЭТА ТИМПЛЕЙТ?

np: Madonna - Hung Up (The Album Version)

acsid
Alfa Guru

2388
# Дата: 25 Дек 2005 12:52


smallcms
я так понял так
echo".$MD['login_or_session_error']."
либо так
echo".$MD[login_or_session_error]."
либо так
echo"$MD[login_or_session_error]"




DM53
Участник

232
# Дата: 25 Дек 2005 13:06


acsid
2 вариант не верен абсолютно, вычеркивай.
3 вариант, имхо, существует только по случайному стечению обстоятельств и разработчиками пхп не предусматривался

smallcms
Участник

2754
# Дата: 25 Дек 2005 13:30


acsid
не слушай DM53
все бездарные прагромиссты прогают как я написал.

echo"$MD[login_or_session_error]"
именно так! если заносишь в двойные кавычки (""), то одинарные ('') убираются. Попрогай так с полгодика, а потом прочитай что тебе DM53 написал. плюс от себя: когда проект большой (типа mail.ru или phpmyadmin), то это не очень безопасно...

acsid
Alfa Guru

2388
# Дата: 25 Дек 2005 15:17


smallcms
DM53
лано я потестю ..

acsid
Alfa Guru

2388
# Дата: 25 Дек 2005 16:14


smallcms
ты прав
$MD['login_or_session_error']="ошибка";
в скрипте
echo "$MD[login_or_session_error]"

подругому никак

Anonymous


# Дата: 27 Дек 2005 10:51


посмотрите как в ReloadCMS сделано уж получше. У меня там некоторое подобие gettext

acsid
Alfa Guru

2388
# Дата: 27 Дек 2005 12:22


Anonymous
zabej mq sami s usami

Troopers
Участник

100
# Дата: 27 Дек 2005 12:23 ° Поправил: Troopers


acsid
в скрипте
echo "$MD[login_or_session_error]"

подругому никак


Для чего кавычки? Можно просто:
echo $MD['login_or_session_error'];
или
echo $MD['login_or_session_error'].' ещё какой-то текст';
или
echo 'какой-то текст '.$MD['login_or_session_error'].' ещё какой-то текст';

Андрей
Алексеевич

2125
# Дата: 27 Дек 2005 13:40 ° Поправил: Андрей


Кароче разъясняю:

$MD['login_or_session_error'] = 'asshole';
echo 'это ошибка: '.$MD['login_or_session_error'].'- это была ошибка';


Это верный и самый грамотный код. Не юзайте двойные кавычки где попало - из-за этого интерпретатор захлёбываеться.

DM53
Участник

232
# Дата: 27 Дек 2005 14:45


Не юзайте двойные кавычки где попало - из-за этого интерпретатор захлёбываеться.
Врешь

acsid
Alfa Guru

2388
# Дата: 27 Дек 2005 16:59




Андрей
Алексеевич

2125
# Дата: 27 Дек 2005 17:09


Врешь
Когда php находит текст в двойных кавычках, он включает свой парсер на поиск переменных в этом тексте, что замедляет работу скрипта.
При прогонке мною скрипта с запросом к mysql в двойных кавычках (а потом в одинарных) 5000 раз подряд, результат был примерно 15% прироста скорости при использовании одинарных кавычек.

DM53
Участник

232
# Дата: 27 Дек 2005 17:13


Гы. Не знал, что в одинарных парсер переменные не ищет. Клево. Теперь буду только их использовать.

smallcms
Участник

2754
# Дата: 28 Дек 2005 01:04


бред какой-то...

http://www.freeweb.box3d.com/info/topic.php?forum=54&topic=27&v=l#1131 899468

Андрей
Алексеевич

2125
# Дата: 28 Дек 2005 05:32


Хм.. И в чём бред заключаеться?

Константин
TorrentMaster

3449
# Дата: 28 Дек 2005 11:30


Когда php находит текст в двойных кавычках, он включает свой парсер на поиск переменных в этом тексте, что замедляет работу скрипта.
Так и есть. Лучше уж использовать одинарные кавычки и конкатенацию переменных к строке через точки.

acsid
Alfa Guru

2388
# Дата: 30 Дек 2005 17:50 ° Поправил: acsid


http://www.freeweb.box3d.com/info/topic.php?forum=54&topic=27&v=l#1131 899468
да чувак не очень любит упрощать шаблоны...вообще я помню когда я только ночанал учить хтмл и поставил вуду чат.. пытался там поменять дизайн... я былбы щастлив если бы там были шаблоны для людей....[text] ili @text@ a ne
if ($fignja==1){$bla=$oerednaja_fignja:}
echo $bla;
вперемешку с хтмлом

жестоко поначалу=)

Андрей
Алексеевич

2125
# Дата: 30 Дек 2005 18:01


Я вот сейчас как раз думаю над алгоритмом шаблонов. Не в смысле разметки шаблона, а в плане хранения всех кусков-шаблонов. Хранить их отдельно друг от друга, или в одном файле...

acsid
Alfa Guru

2388
# Дата: 30 Дек 2005 18:06


white_pawn
смотря насколько большой скрипт ...
я в одном фаиле храню=)

Ваш ответ

Quote  Bold Style  Italic Style  Underlined Style  URL Link  Email Link  Script AutoTab  Preformatted Text  Отменить *Что это?
... Запретить смайлы


Перед отправкой "нелатинского" текста проверьте кодировку броузера!
 » Логин  » Пароль 
 
Powered by miniBB forum software © 2001-2008
Powered by miniBB-gzipper. Original size:44238, gzipped size:10980

Mp3 Download || Webs Studio™ || Song's Lyrics
eXTReMe Tracker Rambler's Top100 Рейтинг@Mail.ru Форум ТвойWeb [Valid RSS]