Добавить запись в гостевую книгу







[ + ] помощь по форматирование текста

Идиот-тест

Если все обязательные поля (отмечены * ) заполнены необходимой информацией, то нажимаем кнопку Добавить запись.

Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-11-22
Kraft, я, честно говоря, разницы не вижу между двумя вариантами. Может дело было в браузере, на котором вы проверяли :-)

Что до кода вставки, то я, как правило, использую такой вариант:


<object type="application/x-shockwave-flash" data="myswf.swf" height="400" width="550"><param name="movie" value="myswf.swf"></object>


Вариант простой, но никто не жаловался :-)
Комментатор
Комментарий добавил(а): Kraft
Дата добавления: 2013-11-22
В принципе у меня уже получилось отыскать код :)
Чтобы флешка не масштабировалась нужен следующий код:
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>REZUME!!!</title>
</head>

<body bgcolor="#3C1E00" style="margin:0;padding:0">

<div align="center" id="flashcontent"><embed type="application/x-shockwave-flash" src="images/sketch6.swf" width="100%" height="100%" id="Rezume!!!" name="Rezume!!!" bgcolor="#3C1E00" quality="high" flashvars="url=&amp;MSIE=0&amp;WIN=1">
</embed>
</div>
</body></html>
Он отличается, от кода из Дримвевера.
Вот посмотрите страничка с не масштабируемой флешкой http://www.rezume-vladimir.narod.ru и страничка с масштабируемой http://www.rezume-vladimir.narod.ru/rezume.html
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-11-21
Честно говоря, плохо понимаю, о чём вы говорите. Можете показать скрин?
Комментатор
Комментарий добавил(а): Kraft
Дата добавления: 2013-11-21
Запрет на масштабирование флеш ролика в браузере в самом флеш можно сделать прописав код (AS 2.0)
Stage.scaleMode = "noScale";

Я делаю простенькую html страницу, с помощью Дримвевера и вставляю туда ролик. Дримвевер создает такой код для вставки флеш:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,28,0" width="640" height="400">
<param name="movie" value="sketch.swf" />
<param name="quality" value="high" />
<embed src="sketch.swf" quality="high" pluginspage="http://www.adobe.com/shockwave/download/download.cgi?P1_Prod_Version=ShockwaveFlash" type="application/x-shockwave-flash" width="640" height="400"></embed>
</object>

Когда я открываю полученную страничку в браузере, сама флешка не масштабируется, но, при изменении масштаба, границы ролика либо расширяются, либо сужаются (большая часть ролика не видна). Как сделать (с помощью html или java кода), чтобы при масштабировании границы вообще не менялись (на всех флеш-сайтах это как-то сделано)?? :(
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-11-18

dimchikpc, так как вы настойчиво не хотите уточнять деталей своей проблемы и даже языка, на котором реализуете таблицу, то тогда я выберу то, что мне удобнее. За основу я возьму урок http://edapskov.ru/pages.php?id=240 и изменю там только код.

Код PHP:

<?php if(isset($_POST['id']) && isset($_POST['q']) && isset($_POST['key'])){ $filename = "test3.txt"; $skey = "Natasha"; $user = trim($_POST['id']); $q = trim($_POST['q']); $h = trim($_POST['key']); $t = time(); if(md5(strtolower($user.$q.$skey))==$h && strlen($user) && strlen($q)){ $arr = array(); $fr = fopen($filename,"r"); $arr = unserialize(fread($fr,filesize($filename))); fclose($fr); if($q > $arr[$user][0]){ $arr[$user][0] = $q; $arr[$user][1] = $t; } $str = serialize($arr); $fw = fopen($filename,"w"); fwrite($fw,$str); fclose($fw); echo 'q='.$str; } }

Код AS 3.0:

/* Импортируем необходимые классы. */ import flash.display.Sprite; import flash.display.Stage; import flash.text.TextField; import flash.text.TextFormat; import flash.text.TextFormatAlign; import flash.net.*; import flash.events.*; import org.sepy.io.Serializer; import com.adobe.crypto.MD5; /* Объявляет необходимые переменные и присваиваем им значения. */ var arr:Array = new Array();// это массив, в котором будут хранится данные для таблицы рекордов var page:Number = 0;// текущая страница таблицы рекордов /* Путь к директории, в которой лежит php-скрипт. */ var strUrl:String = "http://edapskov.ru/applications/"; /* Секретный ключ. */ var skey:String = "Natasha"; /* Ограничения на символы, которые можно ввести через поля ввода. Вам, скорее всего, это не потребуется, так как данные не будут браться из полей ввода. Впрочем, фильтрация и проверка корректности данных - штука полезная :-) */ id.restrict = "0-9a-zA-Z"; score.restrict = "0-9"; /* Функция сортировки многомерного массива. */ function sortScore(a, b) { var aN:int = parseInt(a[1],10); var bN:int = parseInt(b[1],10); if (aN > bN) { return -1; } else if (aN < bN) { return 1; } else { return 0; } } /* Функция, которая генерирует окно с глобальной таблицей рекордов. */ function tabl() { /* Создаём необходимые переменные и присваиваем им значение. */ var sw:int = stage.stageWidth; var sh:int = stage.stageHeight; var pages:int = Math.floor(arr.length / 10) - 1; /* Форматирование текста. */ var format:TextFormat = new TextFormat(); format.size = 14; format.font = "Verdana"; format.color = 0x999999; format.bold = true; format.align = TextFormatAlign.CENTER; /* Создаём спрайт, который будет для таблицы рекордов контейнером. */ var cont:Sprite = new Sprite(); cont.name = "tableofrecords"; addChild(cont); /* Создаём спрайт, который будет для таблицы рекордов фоном и будет перехватывать мышиные события. */ var fon:Sprite = new Sprite(); fon.graphics.beginFill(0xffffff,1); fon.graphics.moveTo(0, 0); fon.graphics.lineTo(sw, 0); fon.graphics.lineTo(sw, sh); fon.graphics.lineTo(0, sw); fon.graphics.endFill(); cont.addChild(fon); fon.mouseEnabled = true; /* Создаём контейнер для таблицы рекордов. */ var tfCont:Sprite = new Sprite(); cont.addChild(tfCont); /* Генерируем таблицу рекордов. */ var max:int = (page + 1) * 10; var n:int = page * 10; for (var i:int = 0; n + i < arr.length && n + i < max; i++) { for (var j:int = 0; j < arr[n + i].length; j++) { /* Столбец с указанием места игрока. */ var num:TextField = new TextField(); tfCont.addChild(num); num.x = 0; num.y = i * 20; num.width = sw / 6; num.height = 20; num.border = true; num.borderColor = 0xcccccc; num.selectable = false; num.defaultTextFormat = format; num.text = " - " + (n + i + 1) + " - "; /* Столбец с указанием уникального идентификатора игрока. */ var user:TextField = new TextField(); tfCont.addChild(user); user.x = sw / 6; user.y = i * 20; user.width = sw / 6; user.height = 20; user.border = true; user.borderColor = 0xcccccc; user.selectable = false; user.defaultTextFormat = format; user.text = arr[n + i][0]; /* Столбец с результатами игрока. */ var score:TextField = new TextField(); tfCont.addChild(score); score.x = sw / 6 * 2; score.y = i * 20; score.width = sw / 6; score.height = 20; score.border = true; score.borderColor = 0xcccccc; score.selectable = false; score.defaultTextFormat = format; score.text = arr[n + i][1]; /* Столбец с результатами игрока. */ var date:TextField = new TextField(); tfCont.addChild(date); date.x = sw / 6 * 3; date.y = i * 20; date.width = sw / 6; date.height = 20; date.border = true; date.borderColor = 0xcccccc; date.selectable = false; date.defaultTextFormat = format; date.text = arr[n + i][2]; } } /* Навигация по страницам глобальной таблицы рекордов. */ var nav:TextField = new TextField(); tfCont.addChild(nav); nav.x = 0; nav.y = 10 * 20 + 20; nav.width = sw / 6 * 4; nav.height = 20; nav.selectable = false; nav.defaultTextFormat = format; nav.addEventListener(TextEvent.LINK, linkText); if (Math.ceil(arr.length / 10) > 1) { if (page == 0) { nav.htmlText = '<a href="event:exit">Exit</a> | <a href="event:next">Next >></a>'; } else if (page > 0 && page < pages) { nav.htmlText = '<a href="event:prev"><< Prev</a> | <a href="event:exit">Exit</a> | <a href="event:next">Next >></a>'; } else { nav.htmlText = '<a href="event:prev"><< Prev</a> | <a href="event:exit">Exit</a>'; } } else { nav.htmlText = '<a href="event:exit">| Exit |</a>'; } /* Позиционируем контейнер с глобальной таблицей рекордов. */ tfCont.x = sw / 6; tfCont.y = (sh - (12 * 20)) / 2 - 20; } /* Функция, которая отвечает за навигацию по многостраничной таблице рекордов и закрывает окно с таблицей рекордов. */ function linkText(event:TextEvent):void { var str:String = event.text; if (str == "prev") { page--; tabl(); } else if (str == "next") { page++; tabl(); } else { removeChild(getChildByName("tableofrecords")); } } /* Функция, которая запускается после успешного получения ответа от сервера. */ function onComplete(event:Event) { animLoad.visible = false; /* Очищаем поле вывода ошибок. */ mes.text = ""; /* Очищаем массив, в котором хранится таблица рекордов. */ arr.length = 0; /* По умолчанию показываем первую страницу глобальной таблицы рекордов. */ page = 0; /* Принимаем данные от php-скрипта и переводим их в формат, удобный для работы в ActionScript. */ var obj:Object = Serializer.unserialize(event.target.data.q); /* Можно, конечно, работать и с ассоциативным массивом, но лично мне привычнее иметь дело с индексированным массивом. Поэтому я ассоциативный массив превращаю в индексированный. */ for (var name in obj) { arr.push([name, obj[name][0], obj[name][1]]); } /* Сортирую массив по результатам игроков (я исхожу из того, что результат игрока является числовым значение). Если результат игрока представлен строкой, то данную сортировку пропускаем. */ arr.sort(sortScore); /* Запускаем функцию, генерирующую глобальную таблицу рекордов. */ tabl(); } /* Функции, которые будут вызваны в случае возникновения ошибок при работе с сервером. */ function onSecurityErrorHandler(event:SecurityErrorEvent):void { mes.text = "SecurityErrorEvent"; } function onIoErrorHandler(event:IOErrorEvent):void { mes.text = "IOErrorEvent"; } /* Отправляем данные и готовимся к получению ответа от сервера. */ btn.addEventListener(MouseEvent.CLICK, btnFunc); function btnFunc(event:MouseEvent):void { animLoad.visible = true; var url:URLRequest = new URLRequest(strUrl + "test3.php"); url.method = URLRequestMethod.POST; var variables:URLVariables = new URLVariables(); variables.id = id.text; variables.q = score.text; variables.key = MD5.hash(String(variables.id + variables.q + skey).toLowerCase()); url.data = variables; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, onComplete); loader.addEventListener(SecurityErrorEvent.SECURITY_ERROR, onSecurityErrorHandler); loader.addEventListener(IOErrorEvent.IO_ERROR, onIoErrorHandler); loader.load(url); } /* Делаем мувик-псевдопрелоадер невидимым. Этот мувик будет видимым только тогда, когда идёт обмен данными между сервером и флеш-приложением. */ animLoad.visible = false; animLoad.mouseEnabled = true;

Обратите внимание, что obj[name][1] - это количество миллисекунд, прошедших с 0:00:000 1 января 1970 года. Приведите это значение к типу данных Number и передайте в качестве параметра в Date(). Таким нехитрым образом можно конвертировать миллисекунды в любой удобный для вас формат вывода даты и времени.

Комментатор
Комментарий добавил(а): dimchikpc
Дата добавления: 2013-11-18
не получается сделать, помогите...
это я вас в последний раз беспокою
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-11-18
> Подскажите пожалуйста по какой книге лучше всего изучать Action Script 3.0 с нуля?

Оф. руководство вполне достойное, особенно для новичка (приложу к ответному письму).
Комментатор
Комментарий добавил(а): edapskov
Дата добавления: 2013-11-17
> нужно чтобы была четвертая колонка и в ней записывалась текущая дата

А в чём конкретно заключается ваша проблема?
Комментатор
Комментарий добавил(а): Kraft
Дата добавления: 2013-11-17
Подскажите пожалуйста по какой книге лучше всего изучать Action Script 3.0 с нуля?
Комментатор
Комментарий добавил(а): dimchikpc
Дата добавления: 2013-11-16
помогите пожалуйста
Страница 12 из 28: 1101112131428
Меню
Подписка
Рубрики
Метки
Последние комментарии
Рейтинг постов
Реклама
Друзья
География гостей
Статистика
Яндекс.Метрика