Разработчику/Обучение/Урок3Экшены

Экшены в VQS


Инфо

Документация доступна на странице Как создать Action


Задачи для самостоятельного решения тут

Примеры

Экш, приветствующий авторизованных пользователей

<?
if ( $this->GetUser() ){
  
$name $this->AddSpaces($this->GetUserName());
  echo 
"Привет, $name";
} else {
  echo 
'Войдите в систему';
}

AJAX и виртуальные формы

Информация по AJAX и виртуальным формам доступна в документации.


Вводится текст. Найти и вывести самое длинное слово.
Вывести исходный текст, подчеркнув самое длинное слово.

<?
echo '<div id="longword">';
echo 
$this->StartVirtual();

echo 
$this->ajxFormOpen("edit","","longword");
echo 
$this->vfrmField("text","textarea","");
echo 
'<input type="submit" value="Send">';
echo 
$this->FormClose();

$text $_REQUEST['text'];
$words explode(' '$text);

/*
foreach ($words as $word){
  if ( strlen($word) >= $maxLen ){
    $maxWord = $word;
    $maxLen = strlen($word);
  }
}

echo 'Самое длинное слово: '.$maxWord.'<br />';
echo 'Его длина: '.$maxLen;
*/

for ($i 0$i count($words); $i++){
  if ( 
strlen($words[$i]) >= $maxLen ){
    
$maxWordIndex $i;
    
$maxLen strlen($words[$i]);
  }
}
$words[$maxWordIndex] = '<u>'.$words[$maxWordIndex].'</u>';
$text implode(' '$words);

echo 
$text;

echo 
$this->FinishVirtual('longword');
echo 
'</div>';
?>

Cookies

hello.php

<?
$olddate 
$this->GetCookie("lastvis");
if (
$olddate){
    
$lastvis $olddate;
}else{
    
$lastvis "впервые";
}
$date date("G:i j-m-Y");
$this->SetSessionCookie("lastvis"$date);

$user $this->AddSpaces($this->GetUserName());
$hello $this->Format($hello);
echo 
"<b>$hello, $user!</b><br />\n";
echo 
"Последний раз вы были у нас $lastvis<br />";
echo 
"Сейчас вы на странице ".$this->GetPageTag();
?>


 
Подразделы
Задачи


Комменты