Autor Zpráva
juraj
Profil
Zdravím

mám taký problém, že chcem pomocou formulára,zapísať hodnotu farby do style.css napr do background-color: a za dvojbodkou by sa zapísala hodnota z formulára. Dá sa to riešiť? Dakujem za rady.
<?php

$farbapozadia = ($_POST["farbapozadia"]);
file_put_contents("style.css", " ".$farbapozadia.""."\n".file_get_contents("style.css"));

?>
<form method="post" action="" > 
<table> 
<tr> 
<td>Hodnota farby:</td> 
<td><input type="text" name="farbapozadia" ></td> 
</tr> 

</table> 
<br> 
<input type="submit" value="Uložit "> 
</form>
johnl
Profil
Dá se to řešit tak, že v proměné budeš mít celý styl, a u hodnoty background dáš místo barvy tu proměnou kterou tam chceš dosadit..
Takže třeba:

<?php
$farbapozadia = $_POST["farbapozadia"];
$tohle_je_muj_styl = "body {background: #".$farbapozadia."}"; //Popřípadě můžeš mřížku doplňovat v inputu to pro případ že bys tam chtěl psát barvu slovem..";
file_put_contents("style.css", $tohle_je_muj_styl);
?>

Samozřejmě se dá vymyslet i lepší způsob, např. ukládat barvy do jiného soubru kde budou uložené jako proměné a css generovat pomocí php a proměné tam dosazovat..
xmark
Profil
Řešit se to dá, ale pokud jsme tady správně v sekci "Problémy v začátcích", jsem si skoro jist, že jde o špatný postup. Zkus naznačit, k čemu to potřebuješ, on ti to někdo rozmluví.

Jinak .. jako nejjednodušší řešení bych viděl, že by kromě style.css, který by se používal, existoval soubor style-predloha.css a v něm by bylo něco jako div#tentodiv { semtoprijde };
Po odeslání formu bys načetl předlohu, nějakým jednoduchým replace bys nahradil "semtoprijde" barvou a uložil jako style.css.

Druhé řešení je samozřejmě slušnější cesta, kdy se k danému místu v css nějak proparsuješ.
Nicméně začal bych tím, že naznačíš, k čemu to potřebuješ.
juraj
Profil
johnl:
dakujem johnovi uz mi to funguje
juraj
Profil
johnl:
Este mam jednu otazku, na johna.Ako sa da vyriesit, že keď ten subor otvorim, aby sa m v inpute
<input type="text" name="farbapozadia" >
zobrazila hodnota z tohto suboru
dakujem za radu
panther
Profil
juraj:
sice nejsem johnl, ale odpovím ti. Atribut value.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

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