Autor Zpráva
FAKTOR2
Profil
Pozeral som aj iné témy ktoré sú tu ale nezmúdrel som z toho.
Uvažujem takto: V subore.js php kod nefunguje. Mal by som to teda premenovať na subor.php

<?php 

$test  = výstup z DB ;
?>
<script type="text/javascript">
function rn(min,max)
{
    return Math.floor(Math.random()*(max-min+1)+min);
}
player.Atk = function () { return rn(<? $test ?>,<? $tes2 ?>); };

Neviem či to takto bude fungovať ?
Ak chcem volať funkciu tlačítkom <input id="playerAttack" type="button" value="Attack" onclick="playerAttacks();" />
mám súbor.php includovať alebo <script src="functions.php"></script> ?
Str4wberry
Profil
Je to celkem jedno. Skript generovaný v PHP může být interní i externí.

Fungovat to bude v případě, že PHP vygeneruje funkční JavaScript.

Pokud v PHP souboru se skriptem bude JS obalen do <script></script>, můžete celý soubor vložit přes PHP include. Jestli ne, tak potom připojit značkou <script src=""></script>.
juriad
Profil
player.Atk = function () { return rn(<?php echo $test; ?>,<?php echo $tes2; ?>); };
Alphard
Profil
Také tady je možnost na nějaký soubor scripts.js nešahat, nechat v něm čistý javascript. Potřebnými hodnotami si naplnit js proměnné v nějakém generovaném souboru a pak je javascriptovými metodami předat dál. Podle mě nejhezčí řešení.
FAKTOR2
Profil
Nejak to nefunguje.

<?php
require_once "../../maincore.php";
require_once "../../config.php";
$id = $userdata["user_id"];
$nick = dbarray(mysql_query("SELECT * FROM fusion_users WHERE user_id='$id'"));
$meno = "".$nick["user_name"]."";
$player = dbarray(mysql_query("SELECT * FROM player WHERE nick='$meno'"));
$sila = "".$player["sila"]."";
$obrana = "".$player["obrana"]."";
$life = "".$player["life"]."";
$mana = "".$player["mana"]."";
$armor = "".$player["armor"]."";
$helma = "".$player["helma"]."";
$stit = "".$player["stit"]."";
$amulet = "".$player["amulet"]."";
$zbran = "".$player["zbran"]."";
$level = "".$player["level"]."";
$exp = "".$player["exp"]."";
$kredit = "".$player["kredit"]."";
$spe1 = "".$player["spell1"]."";
$spe2 = "".$player["spell2"]."";
$spe3 = "".$player["spell3"]."";
$power = floor($sila/5);?>

<script type="text/javascript">
var playerName = <?php echo($meno); ?>;

var entityPrototype = {
  name:'Unknown',
  HP:30,
  Atk:0,
  Def:0,
  Lck:0,
  Mana:16,
};

function Entity () {
}

function rn(min,max)
{
    return Math.floor(Math.random()*(max-min+1)+min);
}

Entity.prototype = entityPrototype;

player = new Entity();
player.name = playerName;
player.Atk = function () { return rn(0,3); };
player.Def = function () { return rn(0,1); };
player.h = player.HP/10;
player.m = player.Mana/10;
player.z1 = 1;
player.ma1 = 2;
player.o1 = 0;
player.sila1 = function () { return rn(0,4); };
player.z2 = 0;
player.ma2 = 2;
player.o2 = 0;
player.sila2 = function () { return rn(0,3); };
player.z3 = 0;
player.ma3 = 2;
player.o3 = 0;
player.sila3 = function () { return rn(0,3); };
</script>

a potom mám další súbor kam sa to snažím vložiť , stránka sa zobrazí ale funkcie sa nevložia.

<html>
    <head>
        <link rel="stylesheet" href="bootstrap.css">
        <link rel="stylesheet" href="style.css">
        <style type="text/css"></style>
    </head>
    <body style="color: #F89406; background-color: #000000">
<center><div class="maincontainer">
            <div class="panel">
                <div class="entity player"><img src="Waro.jpg" width="300" height="200" class="img" 

border="0"/></a></div>
                    <h2><span class="playerName">Player</span></h2> 
                    <div class="progress">
                        <div class="bar" id="playerHealthLevel"></div>
                    </div>
          
              <div class="progress">
                        <div class="mana" id="playerManaLevel"></div>
                    </div>
      
                    <input id="playerAttack" type="button" value="Attack" onclick="playerAttacks();" />
                    <input id="potion" type="button" value="Heal" onclick="potion();" />
          <input id="potion" type="button" value="Kuzlo" onclick="kuzlo();" />
          <input id="potion" type="button" value="Zvíš obranu" onclick="obrana1();" />
                </div><br><br><br><br><br><br>
                <div class="panel">
                    <div class="entity enemy"> </div>
                    <h2>Enemy</h2> 
                    <div class="progress">
                    <div class="bar" id="enemyHealthLevel"></div>
                </div></center>
                

            </div>          
            <script src="http://code.jquery.com/jquery-2.0.3.min.js"></script>
            <?php

include "functions.php"; ?> 
        </div>
    </body>
</html>



Alphard:
Keby som tak vedel ako nato.
Javascript je pre mňa španielska dedina.
juriad
Profil
1)
var playerName = "<?php echo($meno); ?>";
nebo lépe
var playerName = <?php echo(json_encode($meno)); ?>;
2)
$meno = "".$nick["user_name"]."";
stačí jen
$meno = $nick["user_name"];
Str4wberry
Profil
Reakce na Alpharda:
Potřebnými hodnotami si naplnit js proměnné v nějakém generovaném souboru a pak je javascriptovými metodami předat dál. Podle mě nejhezčí řešení.

Možná ještě hezčí by bylo mít nějakou JS funkci, které by se předal JSON s potřebnými daty, a ta by je použila. Jako je tomu například na této diskusi.

<script type="text/javascript">
init({"moderator":1,"autolink":true,"jazyk":"cs-CZ,cs;q=0.9,en;q=0.8","date":"2014-09-13 13:32:32","user":"2642"})
</script>
FAKTOR2
Profil
Díky , paráda funguje to.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Prosím používejte diakritiku a interpunkci.

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

0