|
|
25.03.2007, 10:40
|
|
Гость
Гость
|
Здравствуйте.
Есть следующая ситуация - в макете дизайна есть форма входа для пользователя. После того, как пользователь вводит свои данные, эта форма меняется на личное обращение с подсчетом количества статей, принадлежащих этому юзеру. Условие изменения в макете:
Код:".opt_case(!$current_user,"
<form action=/netcat/modules/auth/ method=post>
<input type=hidden name=AuthPhase value=1>
........................................
</form>","<p>$current_user[Name] $current_user[FatherName]
.................
".listQuery("select count(*) as count from Message84 where Owner_ID=$current_user[User_ID]","$data[count]")."
...........
")."
И вроде все в порядке, кроме одного - если пользователь не вошел, то запрос listQuery все равно вызывается, естественно с ошибкой, что не может найти User_ID. При этом, условие !$current_user отрабатывается верно и выводится форма ввода логина и пароля. Кто сталкивался с подобным?
|
|
|
25.03.2007, 15:38
|
|
Гость
Гость
|
при генерации страницы listQuery выполняется раньше, и результат выводится уже в зависимости от opt()
В данном случае приходится делать так:
Код:
".opt_case(!$current_user,"
<form action=/netcat/modules/auth/ method=post>
<input type=hidden name=AuthPhase value=1>
........................................
</form>","<p>$current_user[Name] $current_user[FatherName]
.................
".opt($current_user && $count=listQuery("select count(*) as count from Message84 where Owner_ID=$current_user[User_ID]","$data[count]"),"$count")."
...........
")."
|
|
|
25.03.2007, 20:23
|
|
resident
Веб-группа «Дабл Ю»
Зарегистрирован: 2005-01-10
Сообщений: 336
|
в вашем примере в запросе нужно значение переменной взять в кавычки, тогда ошибки не будет
лично я использую opt и opt_case только для каких-нибудь вычислений чтоб не разрывать шаблон или макет
гораздо удобнее использовать тринарный оператор ".(expr?"true":"false")."
Код:
".(!$current_user?"
<form action=/netcat/modules/auth/ method=post>
<input type=hidden name=AuthPhase value=1>
........................................
</form>":"<p>$current_user[Name] $current_user[FatherName]
.................
".listQuery("select count(*) as count from Message84 where Owner_ID=$current_user[User_ID]","$data[count]")."
...........
")."
|
|
|
27.03.2007, 06:16
|
|
Гость
Гость
|
Спасибо.
|