Не отображает переменную

То что касается флеша, но не касается ВКонтакте API. Например проблемы при создании прыгающего мячика.
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Не отображает переменную

Сообщение MrDead »

AS3

Код: Выделить всё

import flash.events.MouseEvent;import flash.net.URLRequest;import flash.net.navigateToURL; var login = 'login'; var loader:URLLoader = new URLLoader();var request:URLRequest=new URLRequest('http://localhost/index.php'); // адрес вашего скриптаrequest.method=URLRequestMethod.POST; var vars:URLVariables = new URLVariables();vars['login']=login; request.data=vars;loader.addEventListener(Event.COMPLETE, onComplete);loader.dataFormat = flash.net.URLLoaderDataFormat.VARIABLES;loader.load(request); function onComplete(event:Event):void {    var params:Object = event.target.data;    var login:String = String(params['login']);    trace("Логин:", login);    result_tf.text=loader.data;} 
PHP

Код: Выделить всё

<? include('connectdb.php');// подключение к серверу MySql и выбор БД$userinfo='';$state='0';if( (isset($_COOKIE['login'])) & (isset($_COOKIE['pass'])) ) {// если в куках лежит логин и зашифрованый пароля  if (!isset($_GET['exit'])) {// если кнопка выход не была нажата    $login=$_COOKIE['login'];    $pass=$_COOKIE['pass'];        // проверяем наличие пользователя в БД и достаём оттуда пароль    $sql="SELECT id, pass FROM users WHERE login='$login'";    $res=mysql_query($sql);    if(mysql_num_rows($res)>0){// если пользователь есть в БД      $userinfo = mysql_fetch_array($res);// в этой переменной лежит пароль из БД      if(strcmp($pass,md5($userinfo['pass'])) == 0) { //проверяем схожесть пароля из БД с паролем из куков        // достаём все данные из БД    $sql="SELECT * FROM users WHERE login='$login'";    $res=mysql_query($sql);    $userinfo=mysql_fetch_array($res); // в этой переменной будет лежать вся информация о пользователе из БД    $time=time();    // устанавливаем куки для запоминания статуса пользователя    setcookie("login",$login,$time+1800);    setcookie("pass",$pass,$time+1800);    $state = 1;// статус, если 1, тогда пользователь авторизован      }    }  } else {    //обнуляем куки, если была нажата кнопка выход    setcookie("login");    setcookie("pass");  }}if($state != 1) {// если после проверки куков, оказалось, что пользователь не авторизован, то идем дальше  if( (isset($_POST['login'])) & (isset($_POST['pass'])) ){ // если пользователь ввёл логин и пароль  $login = $_POST['login'];     // проверяем наличие пользователя в БД и достаём оттуда пароль  $sql = "SELECT id, pass FROM users WHERE login='$login'";  $res = mysql_query($sql);    if(mysql_num_rows($res)>0) {// если пользователь есть в БД      $userinfo = mysql_fetch_array($res);// в этой переменной лежит пароль из БД и номер пользователя      $pass = $_POST['pass'];      if(strcmp($pass,$userinfo['pass'])==0){        // достаём все данные из БД    $sql="SELECT * FROM users WHERE login='$login'";    $res=mysql_query($sql);    $userinfo=mysql_fetch_array($res);// в этой переменной будет лежать вся информация о пользователе из БД    $time=time();    // устанавливаем куки для запоминания статуса пользователя, пароль шифруем    setcookie("login", $login, $time+1800);    setcookie("pass", md5($pass), $time+1800);    $state = 1;// статус, если 1, тогда пользователь авторизован      }    }  }}if($state != 1) {?><form method="post" action="/index.php">Логин: <input type="text" size="30" name="login"><br />Пароль: <input type="password" name="pass" size="30"><br /><input type="submit" value="Войти"></form><br /><a href="/register.php">Регистрация</a><?} else {  echo 'Вы вошли на сайт!<br /> Ваш Логин: '.$userinfo["login"].'<br />Выш E-mail: '.$userinfo["email"].'<br /> <a href="/index.php?exit=y">Выход</a>';}$userinfo = $_POST['login'];     echo "login=$userinfo";     echo "someKey=loginVal=$userinfo"; ?><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="760" height="580" id="admin" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="test.swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="lt" /><param name="bgcolor" value="#272727" /><embed src="test.swf" loop="false" menu="false" quality="high" scale="noscale" salign="lt" bgcolor="#272727" width="760" height="580" name="admin" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
В общем по идее должен выводить login в окошке, но при тесте копируется часть кода из PHP и суется в result_tf. Но логин авторизованного пользователя не отображается. В чем проблема?
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: Не отображает переменную

Сообщение sasha^ »

потому-что тут все тупо и скопипастено, даже рассказывать не охота... код полностью тупой, вообще жуть :)
ps. ну а ты смотрел что за ответ давал из php? и причем тут куки?=)
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Не отображает переменную

Сообщение MrDead »

код полностью тупой, вообще жуть
Если про php - то согласен, свою авторизацию/регистрацию я пока не стал делать.
Возьмем даже вот такой

Код: Выделить всё

<?php     $userinfo = $_POST['login'];     echo "login=$userinfo";?><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="760" height="580" id="admin" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="test.swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="lt" /><param name="bgcolor" value="#272727" /><embed src="test.swf" loop="false" menu="false" quality="high" scale="noscale" salign="lt" bgcolor="#272727" width="760" height="580" name="admin" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
Вот что мне выводит

Код: Выделить всё

login=login%3Cobject%20classid%3D%22clsid%3Ad27cdb6e%2Dae6d%2D11cf%2D96b8%2D444553540000%22%20codebase%3D%22http%3A%2F%2Ffpdownload%2Emacromedia%2Ecom%2Fpub%2Fshockwave%2Fcabs%2Fflash%2Fswflash%2Ecab%23version%3D8%2C0%2C0%2C0%22%20width%3D%22760%22%20height%3D%22580%22%20id%3D%22admin%22%20align%3D%22middle%22%3E%0A%3Cparam%20name%3D%22allowScriptAccess%22%20value%3D%22sameDomain%22%20%2F%3E%0A%3Cparam%20name%3D%22movie%22%20value%3D%22test%2Eswf%22%20%2F%3E%3Cparam%20name%3D%22loop%22%20value%3D%22false%22%20%2F%3E%3Cparam%20name%3D%22menu%22%20value%3D%22false%22%20%2F%3E%3Cparam%20name%3D%22quality%22%20value%3D%22high%22%20%2F%3E%3Cparam%20name%3D%22scale%22%20value%3D%22noscale%22%20%2F%3E%3Cparam%20name%3D%22salign%22%20value%3D%22lt%22%20%2F%3E%3Cparam%20name%3D%22bgcolor%22%20value%3D%22%23272727%22%20%2F%3E%3Cembed%20src%3D%22test%2Eswf%22%20loop%3D%22false%22%20menu%3D%22false%22%20quality%3D%22high%22%20scale%3D%22noscale%22%20salign%3D%22lt%22%20bgcolor%3D%22%23272727%22%20width%3D%22760%22%20height%3D%22580%22%20name%3D%22admin%22%20align%3D%22middle%22%20allowScriptAccess%3D%22sameDomain%22%20type%3D%22application%2Fx%2Dshockwave%2Dflash%22%20pluginspage%3D%22http%3A%2F%2Fwww%2Emacromedia%2Ecom%2Fgo%2Fgetflashplayer%22%20%2F%3E%0A%3C%2Fobject%3E
Тобишь если я поменяю значение echo "login=$userinfo"; на "login=log";
То выведет

Код: Выделить всё

login=log%3Cobject%20classid%3D%22clsid%3Ad27cdb6e%2Dae6d%2D11cf%2D96b8%2D444553540000%22%20codebase%3D%22http%3A%2F%2Ffpdownload%2Emacromedia%2Ecom%2Fpub%2Fshockwave%2Fcabs%2Fflash%2Fswflash%2Ecab%23version%3D8%2C0%2C0%2C0%22%20width%3D%22760%22%20height%3D%22580%22%20id%3D%22admin%22%20align%3D%22middle%22%3E%0A%3Cparam%20name%3D%22allowScriptAccess%22%20value%3D%22sameDomain%22%20%2F%3E%0A%3Cparam%20name%3D%22movie%22%20value%3D%22test%2Eswf%22%20%2F%3E%3Cparam%20name%3D%22loop%22%20value%3D%22false%22%20%2F%3E%3Cparam%20name%3D%22menu%22%20value%3D%22false%22%20%2F%3E%3Cparam%20name%3D%22quality%22%20value%3D%22high%22%20%2F%3E%3Cparam%20name%3D%22scale%22%20value%3D%22noscale%22%20%2F%3E%3Cparam%20name%3D%22salign%22%20value%3D%22lt%22%20%2F%3E%3Cparam%20name%3D%22bgcolor%22%20value%3D%22%23272727%22%20%2F%3E%3Cembed%20src%3D%22test%2Eswf%22%20loop%3D%22false%22%20menu%3D%22false%22%20quality%3D%22high%22%20scale%3D%22noscale%22%20salign%3D%22lt%22%20bgcolor%3D%22%23272727%22%20width%3D%22760%22%20height%3D%22580%22%20name%3D%22admin%22%20align%3D%22middle%22%20allowScriptAccess%3D%22sameDomain%22%20type%3D%22application%2Fx%2Dshockwave%2Dflash%22%20pluginspage%3D%22http%3A%2F%2Fwww%2Emacromedia%2Ecom%2Fgo%2Fgetflashplayer%22%20%2F%3E%0A%3C%2Fobject%3E
Вроде всё нормально, как и должно быть. Но меня смущает код после login=log и почему то в первом варианте php скрипта, он не хочет ничего выводить, только код во флеше и всё
Почему php понимает о ком речь, в flash нет? Вместо логина, он просто login выводит.
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: Не отображает переменную

Сообщение sasha^ »

а зачем выводить всю эту доп. инфу? сделай отдельный php и выводи... не мучай себя и остальных :)
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Не отображает переменную

Сообщение MrDead »

Мне нужно во флеше...
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: Не отображает переменную

Сообщение sasha^ »

ну я о том же...

Код: Выделить всё

if($state != 1) {?><form method="post" action="/index.php">Логин: <input type="text" size="30" name="login"><br />Пароль: <input type="password" name="pass" size="30"><br /><input type="submit" value="Войти"></form><br /><a href="/register.php">Регистрация</a><?} else {  echo 'Вы вошли на сайт!<br /> Ваш Логин: '.$userinfo["login"].'<br />Выш E-mail: '.$userinfo["email"].'<br /> <a href="/index.php?exit=y">Выход</a>';}$userinfo = $_POST['login'];     echo "login=$userinfo";     echo "someKey=loginVal=$userinfo"; ?><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://fpdownload.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=8,0,0,0" width="760" height="580" id="admin" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="movie" value="test.swf" /><param name="loop" value="false" /><param name="menu" value="false" /><param name="quality" value="high" /><param name="scale" value="noscale" /><param name="salign" value="lt" /><param name="bgcolor" value="#272727" /><embed src="test.swf" loop="false" menu="false" quality="high" scale="noscale" salign="lt" bgcolor="#272727" width="760" height="580" name="admin" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /></object>
зачем здесь вывод html? сделай отдельный php и он пусть отдает нужный ответ..
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Не отображает переменную

Сообщение MrDead »

То есть из основного пхп отправить постом логин в другой php и оттуда выводить ответ во флеше?
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Не отображает переменную

Сообщение MrDead »

Создал я другой файл, на которой перекидывает после того, как чувак логинится

Код: Выделить всё

<pre><?php /** * @author  * @copyright 2013 */   $userinfo = $_POST['login'];echo "login=$userinfo<br>";echo "Привет $userinfo"; ?></pre>  <object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0"  width="500" height="500"><param name="movie" value="test.swf"><param name="quality" value="high"><param name="wmode" value="transparent"><embed src="test.swf" quality="high" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" width="500" height="500"></embed></object>
Вот что выводит пхп
login=Ergalon
Привет Ergalon

Вот что выводит флеш
%EF%BB%BFlogin=login%3Cform%20method%3D%22post%22%20action%3D%22%2Fgame%2Ephp%22%3E%0A%D0%9B%D0%BE%D0%B3%D0%B8%D0%BD%3A%20%3Cinput%20type%3D%22text%22%20size%3D%2230%22%20name%3D%22login%22%3E%3Cbr%20%2F%3E%0A%D0%9F%D0%B0%D1%80%D0%BE%D0%BB%D1%8C%3A%20%3Cinput%20type%3D%22password%22%20name%3D%22pass%22%20size%3D%2230%22%3E%3Cbr%20%2F%3E%0A%3Cinput%20type%3D%22submit%22%20value%3D%22%D0%92%D0%BE%D0%B9%D1%82%D0%B8%22%3E%0A%3C%2Fform%3E%0A%3Cbr%20%2F%3E%3Ca%20href%3D%22%2Fregister%2Ephp%22%3E%D0%A0%D0%B5%D0%B3%D0%B8%D1%81%D1%82%D1%80%D0%B0%D1%86%D0%B8%D1%8F%3C%2Fa%3E%0A%3Cobject%20classid%3D%22clsid%3Ad27cdb6e%2Dae6d%2D11cf%2D96b8%2D444553540000%22%20codebase%3D%22http%3A%2F%2Ffpdownload%2Emacromedia%2Ecom%2Fpub%2Fshockwave%2Fcabs%2Fflash%2Fswflash%2Ecab%23version%3D8%2C0%2C0%2C0%22%20width%3D%22760%22%20height%3D%22580%22%20id%3D%22admin%22%20align%3D%22middle%22%3E%0A%3Cparam%20name%3D%22allowScriptAccess%22%20value%3D%22sameDomain%22%20%2F%3E%0A%3Cparam%20name%3D%22movie%22%20value%3D%22test%2Eswf%22%20%2F%3E%3Cparam%20name%3D%22loop%22%20value%3D%22false%22%20%2F%3E%3Cparam%20name%3D%22menu%22%20value%3D%22false%22%20%2F%3E%3Cparam%20name%3D%22quality%22%20value%3D%22high%22%20%2F%3E%3Cparam%20name%3D%22scale%22%20value%3D%22noscale%22%20%2F%3E%3Cparam%20name%3D%22salign%22%20value%3D%22lt%22%20%2F%3E%3Cparam%20name%3D%22bgcolor%22%20value%3D%22%23272727%22%20%2F%3E%3Cembed%20src%3D%22test%2Eswf%22%20loop%3D%22false%22%20menu%3D%22false%22%20quality%3D%22high%22%20scale%3D%22noscale%22%20salign%3D%22lt%22%20bgcolor%3D%22%23272727%22%20width%3D%22760%22%20height%3D%22580%22%20name%3D%22admin%22%20align%3D%22middle%22%20allowScriptAccess%3D%22sameDomain%22%20type%3D%22application%2Fx%2Dshockwave%2Dflash%22%20pluginspage%3D%22http%3A%2F%2Fwww%2Emacromedia%2Ecom%2Fgo%2Fgetflashplayer%22%20%2F%3E%0A%3C%2Fobject%3E
sasha^
Сообщения: 711
Зарегистрирован: 10 сен 2012, 16:52

Re: Не отображает переменную

Сообщение sasha^ »

ты того или прикалуешся? не выводи все 1 файлом... зачем html вот тот после вывода?(ясно что apache выводить будет login=Ergalon Привет Ergalon и объект флеша, но из флеша когда запрос, он же не умеет выводить объект, вот и получается лишний текст)
и да, кодировка файла должна быть utf-8

вот так сделай:(1 файл, больше никакой фигни не добавляй)

Код: Выделить всё

<?php$userinfo = $_POST['login'];echo "login=$userinfo<br>";echo "Привет $userinfo";// и все будет работать...?>
MrDead
Сообщения: 103
Зарегистрирован: 13 сен 2012, 00:46

Re: Не отображает переменную

Сообщение MrDead »

зачем html вот тот после вывода?
А каким образом я еще выведу swf на страницу?)
вот так сделай:(1 файл, больше никакой фигни не добавляй)
login=
Привет
Вот что выводит один файл. Смысл мне от пустых строк? Мне надо чтобы логин показывался по флешке на странице, потому я добавляю html, но ничего не выходит, как было login=login так и остается, даже с этим одним файлом. Это разве работает?))
Ответить