Autor Zpráva
juraj
Profil
Zdravím
mám jednoduchú farebnú paletku,potreboval by som hodnotu farby preniest do php premennej. O Javascripte som začiatočník,tento kód som našiel na nete.Ďakujem za rady

<script type="text/javascript">
function getColor(block)
{
var s_url=block.href;
var pColor=s_url.substr(s_url.indexOf("#"));
document.getElementById("colorPalDemo").style.backgroundColor=pColor;
document.getElementById("colorPalDemo").innerHTML=pColor;
alert("<?php echo $pColor;?>");
 
}
</script>
 
 
<img  src="http://www.digimantra.com/blog/wp-content/uploads/2009/06/palette.gif" usemap="#color_pallete" />
<map name="color_pallete" id="color_pallete">
    <area shape="rect" coords="7,7,31,30" href="#003300" onclick="getColor(this);" />
    <area shape="rect" coords="35,7,59,30" href="#003366" onclick="getColor(this);" />
    <area shape="rect" coords="63,7,87,31" href="#000080"  onclick="getColor(this);" />
    <area shape="rect" coords="92,7,115,31" href="#333399" onclick="getColor(this);" />
    <area shape="rect" coords="7,33,30,58" href="#008000"  onclick="getColor(this);"/>
    <area shape="rect" coords="36,34,59,57" href="#008080" onclick="getColor(this);" />
    <area shape="rect" coords="63,34,86,58" href="#0000ff" onclick="getColor(this);" />
    <area shape="rect" coords="92,35,115,57" href="#666699" onclick="getColor(this);" />
    <area shape="rect" coords="8,61,31,85" href="#339966"  onclick="getColor(this);" />
    <area shape="rect" coords="35,62,59,85" href="#33cccc" onclick="getColor(this);" />
    <area shape="rect" coords="64,61,86,85" href="#3366ff" onclick="getColor(this);" />
    <area shape="rect" coords="92,61,115,85" href="#800080"  onclick="getColor(this);" />
    <area shape="rect" coords="91,88,115,111" href="#993366" onclick="getColor(this);" />
    <area shape="rect" coords="64,88,87,111" href="#00ccff" onclick="getColor(this);" />
    <area shape="rect" coords="36,88,59,112" href="#00ffff" onclick="getColor(this);" />
    <area shape="rect" coords="8,88,30,111" href="#00ff00" onclick="getColor(this);" />
  </map>
<span id="colorPalDemo" name="" class="" style="height:50px;width:50px;display:block;color:#ffffff;"></span>
Joker
Profil
juraj:
Přenést hodnotu z JS do PHP jde:
1. Vytvořením pole ve formuláři a odesláním formuláře.
2. Zhruba totéž jako předchozí, ale obejít to odeslání formuláře například obrázkem (vytvořím obrázek se src="skript.php?neco=neco" a skript si to pak převezme přes GET).
3. Opět zhruba totéž jako předchozí, ale přes AJAX.
4. Uložit cookie.
jenikkozak
Profil
Ještě doplním odkaz na místní FAQ: Nejčastější potíže s PHP (FAQ) » Jak přenést proměnnou z javascriptu do PHP
juraj
Profil
premenná pColor je v javascripte a tuto chcem, aby mi zobrazovalo v php,cez get mi to nefungovalo
Keeehi
Profil
juraj:
Zdá se mi, že máš problém si uvědomit, kde se vykonává JS a kde PHP.

PHP je jazyk pro tvorbu tzv. skriptů na straně serveru. Termín "skript na straně serveru" může znít tajemně, ale zas taková věda to není. Skript je druh programu; skripty popisují chování stránky, umožňují přizpůsobit obsah stránky situaci a reagovat na chování návštěvníka.
Jeden skriptovací jazyk už možná znáte: JavaScript. V něm se programují skripty na straně klienta, zatímco v PHP skripty na straně serveru.
Druhá část termínu je "na straně serveru". Také už víme, že protějšek je "na straně klienta". Ani to není tak složité: Klient je návštěvníkův prohlížeč, kde se stránka zobrazuje, naopak server je místo,
kam stránky nahráváte a odkud je návštěvník načítá. V PHP tedy nebudeme řešit události po načtení stránky v prohlížeči: Kde se zrovna nachází kurzor myši, jakou klávesu na klávesnici návštěvník stiskl a podobně.
Naopak se budeme zabývat tím, co se děje ještě před načtením stránky návštěvníkem: Zjištění, kdo návštěvník je a jaký obsah se mu má zobrazit, uložení dat odeslaných z předchozí stránky a podobně.

citováno z připravovaného textu pro PHP učebnici. Autor: Joker, https://www.dropbox.com/s/mv2noa21b9e2izp/php1_jak_funguje.txt

Z toho textu je snad vidět, že PHP se vykonává ještě před zobrazením stránky uživateli. Pak už do toho nemá co mluvit. K čemu potřebuješ dostat ty data z JS do PHP? Jestli chceš to pak jen "alertovat" tak to přece PHP k ničemu nepotřebuje.
juraj
Profil
Keeehi:
Potrebujem to k tomu , aby sa mi tá hodntoa farby ulozila do mysql db
Alphard
Profil
[#6] juraj
Do FAQ jsem vypsal všechny možnosti přenosu, které jsou možné. Navíc jsem tam jasně vysvětlil, proč [#1] nemůže fungovat.
Keeehi
Profil
A co tedy nějak takhle?
<script type="text/javascript">
function setColor(barva) {
    document.getElementById("barva").value = barva;
    return false;
}
</script>
 
 
<img  src="http://www.digimantra.com/blog/wp-content/uploads/2009/06/palette.gif" usemap="#color_pallete" />
<map name="color_pallete" id="color_pallete">
    <area shape="rect" coords="7,7,31,30" href="#" onclick="setColor('003300');" />
    <area shape="rect" coords="35,7,59,30" href="#" onclick="setColor('003366');" />
    <area shape="rect" coords="63,7,87,31" href="#"  onclick="setColor('000080');" />
    <area shape="rect" coords="92,7,115,31" href="#" onclick="setColor('333399');" />
    <area shape="rect" coords="7,33,30,58" href="#"  onclick="setColor('008000');"/>
    <area shape="rect" coords="36,34,59,57" href="#" onclick="setColor('008080');" />
    <area shape="rect" coords="63,34,86,58" href="#" onclick="setColor('0000ff');" />
    <area shape="rect" coords="92,35,115,57" href="#" onclick="setColor('666699');" />
    <area shape="rect" coords="8,61,31,85" href="#"  onclick="setColor('339966');" />
    <area shape="rect" coords="35,62,59,85" href="#" onclick="setColor('33cccc');" />
    <area shape="rect" coords="64,61,86,85" href="#" onclick="setColor('3366ff');" />
    <area shape="rect" coords="92,61,115,85" href="#"  onclick="setColor('800080');" />
    <area shape="rect" coords="91,88,115,111" href="#" onclick="setColor('993366');" />
    <area shape="rect" coords="64,88,87,111" href="#" onclick="setColor('00ccff');" />
    <area shape="rect" coords="36,88,59,112" href="#" onclick="setColor('00ffff');" />
    <area shape="rect" coords="8,88,30,111" href="#" onclick="setColor('00ff00');" />
</map>
<span id="colorPalDemo" name="" class="" style="height:50px;width:50px;display:block;color:#ffffff;"></span>

<form action="uloz.php">
    <input type="hidden" name="barva" id="barva">
    <input type="submit" value="Uložit">
</form>

uloz.php
$barva = $_GET["barva"];

// mysql_query( ....

echo "Barva #".htmlspecialchars($barva)." byla uložena do databáze";

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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

0