Я надеялся, что кто-то может дать некоторое представление о проблеме, с которой мне сложно решить, как ее решить.
У меня довольно простое приложение для флэш-приложений, которое может быстро вводить имя пользователя при подключении, а имя пользователя создается внутри флеш-swf.
Теперь у меня есть задание cron, которое удаляет неактивные имена пользователей каждые десять минут (в моей базе данных mysql, где все эти имена хранятся и доступны другим пользователям в Интернете), что хорошо. Но он все еще может быть загроможден, если кучка людей сразу же подпишет, все же это 10-минутное окно перед тем, как задание cron очистит их.
У пользователей есть возможность щелкнуть выход в флеш-приложении, что отлично и отлично работает. Но, конечно, многие предпочитают не выходить из системы, просто нажимают на браузер x.
Я посмотрел на onbeforeunload и jQuery .unload, но мне все еще нужен способ получить переменную имени пользователя IN IN flash в HTML, а затем использовать скрипт php для запуска запроса пользователя mysql delete username.
Есть ли более легкое решение?
Если нет, то проясните, как я могу передать переменную имени пользователя в html, чтобы удерживать ее после того, как пользователь делает свое имя пользователя, чтобы оно могло быть связано с функцией .unload, запускающей php-скрипт?
EDIT ::::: Может быть, есть способ создать UNIQUE строку чисел с php, а затем передать, что var для flash, чтобы включить в строку mysql, тогда, поскольку у меня уже есть этот var, поскольку он был создан на стороне html, как раз с выгрузкой, удалите ли строку, которая имеет этот уникальный идентификатор?
Если бы кто-нибудь, эта идея была бы лучшим подходом, и если бы я использовал что-то вроде md5 (uniqid (microtime ()). $ _SERVER ['REMOTE_ADDR']. $ _SERVER ['HTTP_USER_AGENT']), чтобы сделать случайный iD, продолжайте хранить результат в var, который я могу разместить в параметре flash vars, а затем снова в jquery unload или javascript onbeforeunload, если это будет лучше. im, более знакомый с jquery
Вы действительно можете вызвать команду ExternalInterface для заполнения скрытого поля в своем HTML, исходящего из вашего SWF-компонента.
if (ExternalInterface.available) { var js:String = "yourJavaScriptFunction"; var valToPass:String; ExternalInterface.call(js(valToPass)); }
И на вашей странице HTML вы пишете функцию javascript:
<script language="javascript" type="text/javascript"> function yourJavaScriptFunction(valToPass) { document.getElementById('yourHiddenField').value = valToPass; }
А из события разгрузки, запущенного вашей страницей, вы можете получить доступ к значению, которое было передано из вашего SWF.
Обратите внимание, что вы можете вызывать функцию javascript из вашего SWF, как только вы получите учетные данные пользователя.
Надеюсь это поможет.
Для этого вы хотите использовать комбинацию URLRequest , URLVariables и URLLoader . См. Ниже.
var myData:URLRequest = new URLRequest("some.php"); myData.method = URLRequestMethod.POST; var variables:URLVariables = new URLVariables(); variables.username = 'CREATED USERNAME'; myData.data = variables; var loader:URLLoader = new URLLoader(); loader.dataFormat = URLLoaderDataFormat.VARIABLES; loader.addEventListener(Event.COMPLETE, dataOnLoad); loader.load(myData); function dataOnLoad(evt:Event){ trace('Completed'); }
Затем это вызовет файл some.php с вашим именем пользователя, хранящимся в '$ _POST [' username ']'. Затем ваш php-скрипт может произвести впечатление на db, связывающий это имя пользователя с этим сеансом (однако вы хотите это сделать).