Autor Zpráva
Kodyn
Profil
Zdravíčko!

Měl bych dotaz, jestli někdo najdete chybu, co dělám špatně...
Pokud jsem potřeboval jen data dostat z php skriptu, funkce Event.COMPLETE fungovala správně a zavolala XMLSeNahralo.
Ovšem ve chvíli, kdy se snažím předat php skriptu ještě informace vstupní, tak to skript nedokončí (zřejmě), protože fce Event.COMPLETE není volána.

Ocením jakýkoli podnět, protože s tím laboruju už pár dní a nějak nevím, co je špatně :o(

Ve Flashi volám:

var pozadavekSudoku:URLRequest = new URLRequest("sudoku.php");
     var zavadecSudoku:URLLoader = new URLLoader();    
    var vstupySudoku:URLVariables = new URLVariables();
    
    zadaniZeServeru();
    
    function zadaniZeServeru() {
                
    pozadavekSudoku.method = URLRequestMethod.POST;
    vstupySudoku.submit = true; 
        vstupySudoku.username = username;  
        vstupySudoku.userid = userid;          
        pozadavekSudoku.data = vstupySudoku;         
        
    zavadecSudoku.addEventListener(IOErrorEvent.IO_ERROR, zpracujChybu);
        zavadecSudoku.addEventListener(Event.COMPLETE, XMLSeNahralo);
    zavadecSudoku.load(pozadavekSudoku);        
    }
    
    function zpracujChybu(e:IOErrorEvent):void {
        ExternalInterface.call("alert", "Server is unavailable" + event);
    }
         
    function XMLSeNahralo(e:Event):void {
                
        .
        .
            
    }

PHP skript sudoku.php:
<?php
  require_once('require.php');
  
  if(!empty($_POST["submit"]))  
  { 
    $username = $_POST['username']; 
    $userid = (int)($_POST['userid']);  
    
    $gameid = 1;
    
    $hralinfo = mysql_query("SELECT id, timeSC, timeFlash FROM sc_sudoku_start WHERE uid = ".$userid." AND name = '".$username."' AND gameid = ".$gameid.")");
    
    while ($info = mysql_fetch_array ($hralinfo)){
      $hracislo = $info[0];
      $starttimeSC = $info[1];
      $starttimeFlash = $info[2];
    }                            
          
    if ($starttimeSC == '')
    {
      $starttimeSC = 0;
    } 
    
    if ($starttimeFlash == '')
    {
      $starttimeFlash = 0;
    } 
    
    $sudoku = mysql_query("SELECT name, type, difficulty, methods, puzzle, solution FROM  `sudoku_zadani` WHERE id = ".$gameid);
    while ($z = mysql_fetch_array ($sudoku)){
      $sudokuzadani = $z[4];
      $sudokureseni = $z[5];
    }  

    header ("Content-Type: text/xml");
  
    echo "<?xml version=\"1.0\" encoding=\"ISO 8859-2\"?>\n";
    echo "<tabulky\n>"; 
    echo "<sudoku\n>";
    echo "<gameid>".$gameid."</gameid>\n";
    echo "<starttimeSC>".$starttimeSC."</starttimeSC>\n";
    echo "<starttimeFlash>".$starttimeFlash."</starttimeFlash>\n";
    echo "<zadani>".$sudokuzadani."</zadani>\n"; 
    echo "<reseni>".$sudokureseni."</reseni>\n";   
    echo "</sudoku\n>";  
    echo "</tabulky\n>";
    
    echo 1;  
    mysql_close($dbhandle);          
  } else {  
    echo 0;  
  }     
?>

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Dero
Profil
Ahoj Kodyne,

řekl bych, že ten PHP skript skončí MySQL chybou na řádku
$hralinfo = mysql_query("SELECT id, timeSC, timeFlash FROM sc_sudoku_start WHERE uid = ".$userid." AND name = '".$username."' AND gameid = ".$gameid.")");


Přebývá ti na konci ta závorka v uvozovkách.
Kodyn
Profil
Ano, závorka tam přebývala, žel problém to nevyřešilo...

Musím si vyrobit nějaký úplně základní příklad, na kterém to ozkouším... poslat něco krátkého php a dostat do zpátky do Flashe.
Protože mi to zatím jede jen získat z PHP do Flashe, ale když zkusím poslat něco do PHP, tak to prostě nejede :(

Kodyn

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0