Autor Zpráva
Alan
Profil *
ahoj,chci se zeptatat jak by se dala udělat funkce změna pozadí(obrazek) uživatelem,že tam bude prostě možnost
tapeta 1
tapeta 2
tapeta 3
a když klikne na tapeta 2,tak se mu změní na tu požadovanou tapetu...
panther
Profil
Alan:
třeba parametrem v URL.
Alan
Profil *
už není potřeba vyřešil jsem to.)
Alan
Profil *
tak ne,nejde mě to,jak si to myslel tím parametrem v url?...
Alan
Profil *
napadlo mě pomocí javascriptu select style...ale nevím jak se píše...:d
radas
Profil *
tak buď přes GET nebo přes select a ukladat do SESSION...přápadně pokud by to mělo byt nějak na trvalo tak do db a po přihlašeni by se zobrazovalo vybrane pozadi
Alan
Profil *
na trvalo ne,stačilo by pomoci cokies...
radas
Profil *
cookies nemusi mit uživatel vždy zapnute...
Alan
Profil *
ale nevím jak by se to mělo napsat..:d
jelikož mám web udělanej pomocí include,takže mám jen index,a pak jen ve složce page text kterej se mě tam má ukazovat...jestly mě rozumíš
Alan
Profil *
ja jsem našel toto,ale to na include nefunguje,napíše to chybu...
http://diskuse.jakpsatweb.cz/?action=vthread&topic=90736&forum=9&page=-1#4
Bubák
Profil
Přim použití cookies se uživatel nemusí přihlašovat, když nebude mít cookies zapnuté, tak nebude změna pozadí fungovat, snad to přežije.
Příklad stránky, kde je (mírně skryta) možnost nastavení písma, velikosti písma a šířky stránky pomocí javascriptu a cookie: www.webylon.info/B
radas
Profil *
no to je ono...přes cookies...a co to napsalo za chybu?
AM_
Profil
Alan:
jelikož mám web udělanej pomocí include
to je asi jako říct "počítač mám udělaný pomocí harddisku". otřesná věta, která zřejmě znamená, že na webu používáš PHP příkaz include (snad každý alespoň trochu rozumný web require nebo include alespoň někde použije).

řešil bych to třeba takto:

na začátek stránky:
session_start();
if (isset($_GET['pozadi']))
{
  $_SESSION['pozadi'] = (int)$_GET['pozadi'];
}
if (!isset($_SESSION['pozadi']))
{
  $_SESSION['pozadi'] = 0;
}


někde, kde definuješ styly:
.body { background-image:url('images/background<?php echo $_SESSION['pozadi']; ?>.jpg'); }

a to je celá věda, pak stačí odkázat na /index.php?pozadi=1 třeba (číslo změň dle gusta)

ja jsem našel toto,ale to na include nefunguje,napíše to chybu...
include je jen příkaz, jeden z mnoha v PHP. Není to žádná platforma, framework, knihovna ani nic podobného, aby se dalo říkat, že "na include něco nefunguje".
Alan
Profil *
mno,píše to nahoře stránky chybu,ne chybu ale spíš opíše text...
jestly to mám správně,tak na začátek stránky jsem dal toto.

session_start();
if (isset($_GET['pozadi']))
{
  $_SESSION['pozadi'] = (int)$_GET['pozadi'];
}
if (!isset($_SESSION['pozadi']))
{
  $_SESSION['pozadi'] = 0;
}
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<META name="author" content="Alan,Needy">
<meta name="robots" content="noindex, nofollow">
...

a body:
</head><br><br>
<body>
.body { background-image:url('images/background<?php echo $_SESSION['pozadi']; ?>.jpg'); }




	<div id="templatemo_header_panel">
    	<div id="templatemo_header_section">

se koukněte samy...
http://l2.k3s4.sk/
Alan
Profil *
a ted jsem zjistil že to nezobrazí ani celou stránku...
Alan
Profil *
to AM_:
hele,a nešlo by to nějak udělat na CSS?že by se změnilo jen to CSS?..bych měl třeba 2 soubory v CSS,a nějak odkazat,aby se to css spustilo?...
radas
Profil *
Alan:
tak jak to napsla AM_ akorat se nebude odkazovat na soubor jpg ale na css soubor v hlavičcce
Alan
Profil *
ale tak proč mě to píše to nazačátku??...

session_start(); if (isset($_GET['pozadi'])) { $_SESSION['pozadi'] = (int)$_GET['pozadi']; } if (!isset($_SESSION['pozadi'])) { $_SESSION['pozadi'] = 0; } 

.body { background-image:url('pozadi2.css'); } .body { background-image:url('templatemo_style.css'); }
Alan
Profil *
moment,ten
.body { background-image:url('pozadi2<?php echo $_SESSION['pozadi']; ?>.css'); }

se má dát do css? :D
Alan
Profil *
nejde:d
http://l2.k3s4.sk/index.php?pozadi=1

i v menu to píše tu chybu.
Alan
Profil *
//teda v home ne v menu
AM_
Profil
<?php
session_start(); if (isset($_GET['pozadi'])) { $_SESSION['pozadi'] = (int)$_GET['pozadi']; } if (!isset($_SESSION['pozadi'])) { $_SESSION['pozadi'] = 0; } 
?>
<html>
<head>
<style type="text/css">
.body { background-image:url('pozadi2.css'); } .body { background-image:url('templatemo_style.css'); }
</stype>
</head>
<body>
 Lorem Ipsum ...
</body>
</html>


Jinak doporučuji nějaké základy CSS i PHP, máš v tom podle mě trochu hokej...
Alan
Profil *
hm..nakonec jsem to vyřešil pomocí js....
    <div id="vzhled" title="vzhled2"><a href="javascript:selectStyle('style', '1');"><span>vzhled</span></a></div>
    <div id="vzhled2" title="vzhled2"><a href="javascript:selectStyle('style', '2');"><span>vzhled2</span></a></div>

a ten js mno,kdo by ho prostě chtěl,tak at napiše:D
AM_
Profil
nechci ti kazit iluze, ale kdo JS umí, zřejmě umí změnit jednu CSS vlastnost <body> :) je to vlastně jeden jediný příkaz přiřazení.
Mimochodem, tohle je sice hezké, ale když uživatel překlikne na jinou podstránku, má tam zpátky to, co tam měl... Nebo i toto jsi v JS vyřešil?
Alan
Profil *
ne,když klikne na třeba vzhled2,tak mu tam zůstane,v tom js je to sice nastaveny na cokies,ale tak stačí to:) prostě kdo si bude chtít změnit vzhled,tak si zapne cokies...
AM_
Profil
jo, to je docela rozumné, stejně pokud nemá zaplé cookies, musel bys pozadí pořád předávat v URL, což je docela nuda na programování, a na zaplé cookies se celkem spolehnout dá (to byl jen hit konce devadesátých let, kde si někdo vzpomněl, že vlastně v cookies je jakýsi bezpečnostní problém a všichni by si je měli vypínat).
Bubák
Profil
Alan:
a ten js mno,kdo by ho prostě chtěl,tak at napiše
Takže píšu, že bych prosil ten JS ;-)
Alan
Profil *
Bubák:
styleswitch.js
function makeCookie(Name,Value,Expiry,Path,Domain,Secure){
if (Expiry!= null) {
var datenow = new Date();
datenow.setTime(datenow.getTime() + Math.round(86400000*Expiry));
Expiry = datenow.toGMTString();
}

Expiry = (Expiry!= null)? '; expires='+Expiry : '';
Path = (Path!= null)?'; path='+Path:'';
Domain = (Domain!= null)? '; domain='+Domain : '';
Secure = (Secure!= null)? '; secure' : '';

document.cookie = Name + '=' + escape(Value) + Expiry + Path + Domain + Secure;
}

function readCookie(Name) {
var cookies = document.cookie;
if (cookies.indexOf(Name + '=') == -1) return null;
var start = cookies.indexOf(Name + '=') + (Name.length + 1);
var finish = cookies.substring(start,cookies.length);
finish = (finish.indexOf(';') == -1)? cookies.length : start + finish.indexOf(';');
return unescape(cookies.substring(start,finish));
}

function setActiveStyleSheet(pTitle) {
var vLoop, vLink;
for(vLoop=0; (vLink = document.getElementsByTagName("link")[vLoop]); vLoop++) {
if(vLink.getAttribute("rel").indexOf("style")!= -1 && vLink.getAttribute("title")) {
vLink.disabled = true;
if(vLink.getAttribute("title") == pTitle) vLink.disabled = false;
}
}
}

function selectStyle (vCookieName, vSelection) {
makeCookie(vCookieName, vSelection, 90, '/');
setActiveStyleSheet(vSelection)
}

if (document.cookie.indexOf('style')!=-1) {
css = readCookie('style');
setActiveStyleSheet(css)
}


a tady vytvořím protebe udělám stránku index.php.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1250" />
<title>Změna pozadí s JAVASCRIPTEM</title>
<link rel="alternate stylesheet" href="pozadi1.css" type="text/css" title="vychozicss" media="screen" /> // vyběr pozadi
<link rel="alternate stylesheet" href="pozadi2.css" type="text/css" title="darkvzhled" media="screen" /> // vyběr pozadi
<link rel="alternate stylesheet" href="pozadi3.css" type="text/css" title="bluevzhled" media="screen" /> // vyběr pozadi 

<link rel="stylesheet" href="style.css" type="text/css" title="default" media="screen" /> // defautní style.

<script type="text/javascript" src="styleswitch.js"></script>
</head>
<body>
    <div id="vzhled" title="vychozicss"><a href="javascript:selectStyle('style', 'vychozicss');"><span>Výchozí vzhled</span></a></div>
    <div id="vzhled2" title="darkvzhled"><a href="javascript:selectStyle('style', 'darkvzhled');"><span>Dark vzhled</span></a></div>
    <div id="vzhled3" title="bluevzhled"><a href="javascript:selectStyle('style', 'huovzhled');"><span>blue vzhled</span></a></div
</body>
</html>
Alan
Profil *
jo,u tebe bude lepší asi když si dáš kodování na UTF-8,já tam mám windows,jelikož mám databázi,prostě všechno nastavený na win 1250...
Alan
Profil *
heh,ted jsem si uvědomil že jsem tam napsal výběr pozadí,má tam být ale výběr CSS!...:)

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