Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > вопрос по wml


Автор: coloboc66 10.10.2007, 15:42
Вот простой код файла file1.php
Код

<?php
header("Content-type: text/vnd.wap.wml");
echo'<?xml version="1.0"?><!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">'; 
?>
<wml>
<head> 
<meta http-equiv="Cache-Control" content="no-cache" forua="true"/></head>
<card id="first" ontimer="#next"> 
<timer value="100"/>
<?php
include ("file2.php");
?> 
</card> 
<card id="next" ontimer="#first"> 
<timer value="100"/>
<?php
include ("file2.php");
?>  
</card>         
</wml>

А вот простой код file2.php :
Код

<?php
$time=time();
echo $time;
?>

Почему значения времени не меняются???

Автор: Shedar 10.10.2007, 16:06
Переключение идет между card-амиодной страницы, которые генерировались в очень близкие моменты времени.  Потому и не меняются.

Автор: coloboc66 11.10.2007, 07:47
10 секунд - это очень близкие моменты?! Непонятно...
Ну а как можно решить эту проблему?

Автор: Shedar 11.10.2007, 08:28
Какие  10 секунд? Генериуем страницу. Одну. В пределах этой одной страницы есть несколько card-ов. Время генерации одной простой страницы ну никак не 10 секунд. Грубо говоря 
Код

<?php
$time=time();
echo $time;
echo "ла-ла-ла";
$time=time();
echo $time;
?>

Не удивительно ведь будет что выведет одно и то же время?.

Автор: coloboc66 11.10.2007, 09:29
Но там ведь стоят два таймера по 10 секунд, таймеры переключают карты, а карты по-идее должны каждый раз вызывать НОВЫЙ рнр-файл...

Автор: Shedar 11.10.2007, 09:42
Цитата(coloboc66 @  11.10.2007,  09:29 Найти цитируемый пост)
а карты по-идее должны каждый раз вызывать НОВЫЙ рнр-файл


Почему новый? навигация ведь идет в пределах страницы.

Автор: coloboc66 11.10.2007, 12:50
Ну а как можно решить эту задачу? Нужно, чтобы на каждую карту из РНР-файла каждый раз приходили новые данные.

Автор: Shedar 11.10.2007, 12:59
Все карты загружаются одновременно. Чтобы были разные данные - нужно сделать разными страницами.

Автор: coloboc66 12.10.2007, 09:03
Я в wml новичок, не знаю, стоит ли начинать новую тему: почему не работает простой код из учебника?
Код

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/wml_1.1.xml">
<wml> 
        <card id="Login" title="Login">
<p> UserName:</p>
 <do type="accept" label="Password">  
                <go href="#Password"/> 
                </do> 
<select name="name" title="Name:"> 
                        <option value="John Doe">John Doe</option> 
                        <option value="Paul Smith">Paul Smith</option> 
                        <option value="Joe Dean">Joe Dean</option> 
                        <option value="Bill Todd">Bill Todd</option> 
                </select> 
        </card> 
        <card id="Password" title="Password:">
 <p> Password:</p>
                <do type="accept" label="Results">
               <go href="#Results"/>  
                </do>
<input type="text" name="password"/> 
             </card> 
        <card id="Results" title="Results:"> 
        <p> 
        You entered:<br/> 
        Name: $(name)<br/> 
Password: $(password)<br/> 
        </p> 
        </card> 
</wml> 

Автор: Shedar 12.10.2007, 10:24
Немного неправильно закрыты теги. правильнее вот так насколько помню:
Код

<?xml version="1.0"?>
<!DOCTYPE wml PUBLIC "-//WAPFORUM//DTD WML 1.1//EN" "http://www.wapforum.org/DTD/
<wml>
        <card id="Login" title="Login">
<p> UserName:
 <do type="accept" label="Password">
                <go href="#Password"/>
                </do>
<select name="name" title="Name:">
                        <option value="John Doe">John Doe</option>
                        <option value="Paul Smith">Paul Smith</option>
                        <option value="Joe Dean">Joe Dean</option>
                        <option value="Bill Todd">Bill Todd</option>
                </select>
</p>
        </card>
        <card id="Password" title="Password:">
 <p> Password:
                <do type="accept" label="Results">
               <go href="#Results"/>
                </do>
<input type="text" name="password"/>
</p>
             </card>
        <card id="Results" title="Results:">
        <p>
        You entered:<br/>
        Name: $(name)<br/>
Password: $(password)<br/>
        </p>
        </card>
</wml>

изменение в расстановке </p>

Автор: coloboc66 12.10.2007, 10:40
Не - всё-равно не работает.

Автор: Shedar 12.10.2007, 16:47
"Не работает" - понятие очень растяжимое. Как именно не работает?

Автор: coloboc66 12.10.2007, 19:42
Вот эта карта:
Код

<card id="Results" title="Results:">
        <p>
        You entered:<br/>
        Name: $(name)<br/>
        Password: $(password)<br/>
        </p>
</card>

не видит значений переменных $(name) и 
$(password), они получаются пустыми.

Автор: Shedar 12.10.2007, 19:49
http://cs.stu.cn.ua/~shedar/2.wml
Только что проверил со своего телефона - работает

Автор: coloboc66 17.10.2007, 10:24
Я для тестирования Оперой пользуюсь, может Опера кривовата?
Скажите пожалуйста: "Как тестировать wmlscript ?" Что для этого нужно? У меня стоит Денвер на локальном хосте. И Опера как броузер. Могу ли я с этими прогами тестировать wml-скрипты?

Автор: Shedar 17.10.2007, 17:41
Достоверное средство проверки - телефон. Разные производители выпускают эмуляторы своих телефонов, можно использовать их. 
Чтобы тестировать с телефона нужен правда не денвер на локальном хосте а сервер в интернете.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)