Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Alguem sabe como posso fazer para alterar meu background do meu site, um sistema em php tipo troca de tema...
Agradeço
Você pode usar a ideia do nosso amigo btcv com banco de dados, ou fazer algo + simples. Criar uma tabela ou uma div com 100% de largura e altura e dentro dela você coloca o conteúdo da sua página. Seta o ID dessa div ou table com
<table width=".... id="teste">
Depois você cria os botões com os temas ou cores de fundo e utiliza:
onclick="document.getElementById('teste').bgColor='#F7ADAF'; this.style.color='#FFFFFF'"
Espero ter ajudado!
Explica melhor, voce quer que ele mude aleatoriamente, ou quer que a mudanca do background seja atrelado a algum evento ?
Quero criar 1 sistema tipo alteração de tema, onde eu tenho 3 CSS's diferentes ai posso faze 1 Menu com os 3 temas, ai o cara clica tipo no azul ai ele altera o css para o css_blue.css. Vlw galera
Esse artigo fala exatamente sobre isso: http://imasters.com....cher-com-jquery
Abraços !
Opa amigo você pode fazer o seguinte
cria um input do tipo hidden na sua tela de cadastro com o VALUE com a cor padrao que você quer e no mysql você cria um campo pra receber esse valor
exemplo
<input type="hidden" name="cor" value="#DFEAF8" id="colordefaltbg" />
<input type="hidden" name="avt" value="avt/sf.png" id="avt" />
<input type="hidden" name="corbarra" value="#95bbf4" id="colordefaltbar"
nesse meu exemplo eu aliquei uma cor defalt pro campo cor q vai ser o BG um indereço pra um avatar defalt que vai ser o SEM FOTO e uma cor padrao para as barras de titulo do site
no mysql criei 3 sampos na tabela usuarios
avt - campo do avatar
cor - campo do bg
corbarra - campo das barras de titulo
esse 3 campos vaum receber uma cor Defalt e seu avatar defalt
ai você vai no seu php aonde você quer que mostre essas informações e aplica
AVATAR -
<img src="<?php echo $avt; ?>" border="1" alt="" width="180" height="240" title="<?php echo $nome; ?>" />
COR de FUNDO (bg background) -
<body bgcolor="<?php echo $cor; ?>" alt="" width="180" height="240" />
Obs - Se você estiver trabalhando com o Dreamweaver o codigo php depoix do bgclor nao vai mudar de cor pra vermelho pq o dreamweaver nao aceita esse comando ele seta como um comando invalido mais ele funciona normalmente
COR DAS Barras -
<div id="titulo" style="background-color:<?php echo $cortitulos ?>">
no exemplo da cor das barras eu criei uma div pra cada barra e no style apliquei o codigo php
Espero que eu tenha Ajudado amigo qualquer coisa estamos ai.
aleatoriamente ? , o usuario alterar seu background ?
Excplica melhor ai ;)
Abraços
Andrey com esse codigo é só você fazer um listbox com as cores e os values das cores que você quer muita gente prefere usar javascripit ou Jquery pra fazer isso mais eu sou fã dos codigos inteiros do php sem nenhuma abreviação com plugins vo te dar um exemplo basico de como você pode fazer
pra você criar o list box você faz o seguinte
<div id="cores">
<form action="atualiza_cores.php" method="post" enctype="multipart/form-data">
<select class="color" name="cores" id="color">
<option></option>
<option value="#ffffff" style="background-color:#ffffff">Branco</option>
<option value="#000000" style="background-color:#000000">Preto</option>
<option value="#f3b3ff" style="background-color:#f3b3ff">Lilas</option>
<option value="#fbf200" style="background-color:#fbf200">Amarelo</option>
</select>
</form>
No seu atualiza_cores.php você poe um scripit simples de atualizar as cores no mysql
vo citar um exemplo
não esqueça de passar os dados do user pela $_SESSION
<?php
//Inicia a sessão
session_start();
//Verifica se há dados ativos na sessão
if(empty($_SESSION["id"]) || empty($_SESSION["email"]) || empty($_SESSION["nome"]))
{
//Caso não exista dados registrados, exige login
header("Location: index.php");
}
include 'config.php';
// recebe dados do formulario lembrando que você tem que criar o campo corbg na sua tabela
$corbg = $_POST['corbg'];
// da o select o mysql e retorna os valores
$consulta = mysql_query("SELECT * FROM usuarios where corbg='$corbg'");
$registro=mysql_num_rows($consulta);
if($registro>0)
{
echo 'Ops! Cor nao encontrada!</script>';
// atualiza a cor no banco de dados
$ad = mysql_query("update usuarios set corbg = '$corbg' where id = '".$_SESSION['id']."'");
// verifica se foi alterada a cor
if($ad) {
$msg = urlencode("Backgroun color alterado com sucesso!");
header("Location: usuario.php?msg=$msg");
exit; $erro = urlencode("Não foi possivel alterar seu Background!");
header ("Location: index.php?erro=$erro");
exit;
}
}
?>
Esse é um scripit simples que eu criei pra ajudar um amigo meu você pode fazer com temas tb criar um tema pronto com CSS e adicionar dinamicamente pelo mysql mais ai é só você dar uma estudada em modelagem mysql e CSS exitem varios tutoriais ensinando passar variaveis dinamicamente aqui no Forum.
espero ter ajudado amigo qualquer coisa da um berro
não presisa de tudo isso , você pode definir um background aleatorio com jquery , basta botar
um array , rand nele , depois usar a função .css do jquery .. :lol: com o background-color
Como o andrey disse melhor com jquery, pq ter que mexer com db so pra mudar a cor oO, acho que fica bem melhor com jquery, pois se a pessoa quizer fazer um site somente em Html, não vai presisar de php nem uma db
correto @Arran , desperdiçar tempo criando query so pra pegar um codigo de cor ??? heheh
http://plugins.jquery.com/project/RandomBackgroundImageChanger
demostração
http://charles-harvey.co.uk/plugins/randomBackgroundImageChanger/
realmente fika mais facil com jQuery mais se você perceber e leu meu post viu q eu disse que prefiro os codigos e scripits puros do php sem contar que chamar a cor por uma variavel fica mais leve e mais rapido mais realmente como Andrey disse vai que a pessoa vai criar um site em HTML puro né nao haveria pq criar tabelas.. mais o jquery é um ótimo plugin de muito bom uso e facil de usar..
Att- NeNeM_BsP
@NeNeM_BsP , tem varias formas de fazer , eu tambem falei ' não compensa criar um banco pra isto ' ^_^
o jQuery e uma das opçoes pra fazer isto , entre varias .. ;)
podes fazer uma tabela na bd com todos os tema e info , e na do cliente tens uma ligação a essa mesmo, sendo o cliente a escolher e a alterar sempre que queira..