Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rzorr

Favoritos Session

Recommended Posts

Bom Dia Pessoal, 

       Pessoal gostaria de entender a lógica do botão favoritos.  o que eu queria fazer é o seguinte colocar uma estrelinha no item que aparece no site, quando o visitante  clicar na estrela esse item vai ficar guardado em uma session, ai quando ele clicar no link favoritos aparece todos os itens que ele favoritou e quando ele fechar o navegador destrói tudo. bem simples né? mas confesso que não faço a mínima ideia de como fazer. ou até tenho mais ou menos a noção mas não sei como fazer. alguém pode me ajudar? 

Compartilhar este post


Link para o post
Compartilhar em outros sites

PHP: Session Handling

 

Crie/inicie a sessão:

<?php

session_start(); // inicia a sessão. Deve ser uma das primeiras coisa no seu código, logo após o <?php

Adicione os itens na sessão:

$_SESSION['favoritos'][] = 1;// adicione o ID

Para não repetir, você pode validar:

$id = 1;
if(!in_array($id , $_SESSION['favoritos']))
{
    $_SESSION['favoritos][] = $id;
}

Quando você quiser imprimir a sessão, basta usar um foreach:

foreach($_SESSION['favoritos'] as $favorito)
{
    printf('ID favoritado: %d' , $favorito);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa, Desculpa a demora então até consegui fazer um add aos favoritos, mas toda vez que adiciono, tem que dar um refresh na página, teria um jeito de fazer isso, sem dar o refresh, até vi uns tópicos aqui de 2009, 2010, 2015 e uns abandonados geral, mas não consegui entender bem. Na real nesse quase um mês fiz muitas alterações no layout o projeto é meu mesmo. então faço devagar. por isso também a demora em responder.

<div class="header">
<!-- barra top -->
<div class="top">
	<div class="container">
		<div class="row barra">
			<div class="col-sm-3">Creci:000000/[cliente_uf]</div>
			<div class="col-sm-3"><i class="fas fa-envelope"></i> [smtp_username]</div>
			<div class="col-sm-3"><i class="fas fa-phone-square"></i> [cliente_telefone1] | [cliente_telefone2]</div>
			<div class="col-sm-3"><div id="icon_favs_saves__" onclick="window.location.href ='[baseUri]/pagina/favoritos'">
        <i class="fas fa-star"></i>  
        <?php
        
        if (isset($_SESSION['fav_saves'])){
            $n1 = count($_SESSION['fav_saves']);
            echo $n1;
        }else{
            echo '';
        }

         ?> 
    </div></div>
			
		</div>
	</div>
</div><!-- end barra top -->
<!-- nav menu -->

<div class="">
    <div class="container">
        <div class="row">
        <div class="col-sm-12">
			<a href="#"><img src="../app/css_public/images/logo.png"/></a>
			
			
			<nav>
				<ul class="menu">
					<li class="home"><a href="[baseUri]/">Home</a></li>
					<li class="home"><a href="">Vendas</a></li>
					<li class="home"><a href="">Aluguel</a></li>
					<li class="home"><a href="[baseUri]/pagina/contato/">Contato</a></li>
					<!-- <li class="home"><a href="">Blog</a></li> -->
					<li class="home"><a href="[baseUri]/mapa/">Imóveis no Mapa</a></li>
				</ul>
			</nav>
			
		</div>
		</div>
	</div>
</div><!-- end menu-->
<hr>
<!--<div class="topinfo" style="color:#fff;"><h3 align="center">O seu novo Imóvel está aqui!!  Use os campos de Busca avançados</h3></div>-->
</div><!--fim header-->




<div role="main" class="miolo">
<!-- search -->
<section class="buscaAvancada" style="margin: 5px;">
<div class="container">
<div class="row">
<div class="form-group">
	<form id="search" class="form panel-busca hidden" action="[baseUri]/index/buscaavancada/" method="post">
	<div class="row">
		<div class="col-xs-6 col-sm-2">
			<select name="finalidade" id="finalidade" class="sel-custom form-control">
			<option value="0">Transação...</option>
			<option value="1">Venda</option>
			<option value="2">Locação</option>
			<option value="4">Temporada</option>
			</select>
		</div>
		<div class="col-xs-6 col-sm-2">
			<select name="tipo" id="tipo" class="sel-custom form-control">
			<option value="0">Tipo...</option>
			<!--{loop:tpb}-->
			<!--{ <option value="tpb.tipo_id" name="tpb.tipo_url">tpb.tipo_title</option>}-->
			<!--{end:tpb}-->    
			</select>
		</div>
		<div class="col-xs-6 col-sm-2">
			<select name="cidade" id="cidade" class="sel-custom form-control">
			<option value="0">Cidade...</option>
			<!--{loop:catb}-->
			<!--{ <option value="catb.categoria_id" name="catb.categoria_url">catb.categoria_title</option>}-->
			<!--{end:catb}-->    
			</select>
		</div>
		<div class="col-xs-6 col-sm-2">
			<select name="bairro" id="bairro" class="sel-custom form-control" disabled>
			<option value="0">Bairro...</option>
			</select>
		</div>
		<div class="col-xs-6 col-sm-2">
    <select name="valormax" id="valormax" class="sel-custom form-control valor_venda">
                               <option value="0">Preço...</option>
                                <option value="0">Indiferente</option>
                                <option value="40000">até 40.000</option>
                                <option value="50000">até 50.000</option>
                                <option value="60000">até 60.000</option>
                                <option value="70000">até 70.000</option>
                                <option value="80000">até 80.000</option>
                                <option value="90000">até 90.000</option>
                                <option value="100000">até 100.000</option>
                                <option value="150000">até 150.000</option>
                                <option value="200000">até 200.000</option>
                                <option value="300000">até 300.000</option>
                                <option value="400000">até 400.000</option>
                                <option value="500000">até 500.000</option>
                                <option value="1000000">até 1 milhão </option>
                                <option value="2000000">até 2 milhões</option>
                              <option value="5000000">até 5 milhões</option>
                            </select>
                            </div>
                            <div class="col-xs-6 col-sm-2">
	<select name="dorms" id="dorms" class="sel-custom form-control">
                                <option value="0">Dormitórios</option>
                                <option value="0">Indiferente</option>
                                <option value="1">1 Dorms</option>
                                <option value="2">2 Dorms</option>
                                <option value="3">3 Dorms</option>
                                <option value="4">4 Dorms</option>
                                <option value="5">5 ou mais</option>
                            </select>
   

	</div>
		
	</div>
	<br/>
	<div class="row">
	<div class="col-xs-6 col-sm-2">
	 <select name="suites" id="suites" class="sel-custom form-control">
                                <option value="0">Suites...</option>
                                <option value="0">Indiferente</option>
                                <option value="1">1 Suite</option>
                                <option value="2">2 Suite</option>
                                <option value="3">3 Suite</option>
                                <option value="4">4 Suite</option>
                                <option value="5">5 ou mais</option>
                            </select>
	</div>                        
		<div class="col-xs-6 col-sm-2">
			<div class="form-group">
	<button type="submit" class="btn btn-block btn-primary" id="btn-busca">Pesquisar</button>
	</div>
			
			
		</div>
	</div>
	</form>
	</div>
	
</div>
</div>

</section><!-- end search -->
<hr>
<section class="banner_top">
	
		
			<div class="owl-carousel owl-theme slide">
					  <!--{loop:sl}-->
					  <!--{<a href="[baseUri]/imovel/sl.categoria_url/sl.sub_url/sl.item_id/">}-->
					  <!--{<div class="info_b">}-->
					  <!--{<h4>R$ sl.item_preco</h4>}-->
				<!--{<p class="tag_price">sl.categoria_title  <span class="sp" >sl.tipo_title</span> </h4>}-->
					  <!--{</div>}-->
					  <!--{<div class="figure_item"><img src="[baseUri]/thumb/sl.foto_url/1600/450/crop/"  alt="" title="sl.tipo_title em sl.categoria_title"></div>}-->
					  <!--{</a>}-->
					  <!--{end:sl}-->
					  
			</div>
					
</section> 


<section class="meio">
    <div class="container-fluid" style="background-color: #000; color: #fff; padding: 10px;">  
		<div class="container ">  
		<div class="venda">
		<h4 align="left"><i class="fas fa-search-plus"></i> Imóveis Destaque Venda</h4>
		</div>
        </div>
	</div>

    
    <div class="container init_card">
    <div class="row">
    
<!--{loop:i}-->
<!--{<div class="col-xs-5 col-sm-3">}-->
<!--{<div class="item">}-->
	<!--{<div class="fin">i.categoria_title</div>}-->
	<!--{<div class="ribbon">i.item_promo</div>}-->
	<!--{<a href="[baseUri]/imovel/i.categoria_url/i.sub_url/i.item_id/">}-->
	<!--{<div class="thumb"><img src="[baseUri]/thumb/i.foto_url/255/150/crop/" title="i.tipo_title em i.sub_title - i.categoria_title por i.item_preco"/></div>}-->
	<!--{</a>}-->
	<!--{<span class="info">}-->
	<!--{<span class="val">R$ i.item_preco</span>}-->
	<!--{<span class="cidade">i.item_finalidade</span>}-->
	<!--{</span>}-->
	<!--{<div class="cat_item">}-->
	<!--{<ul>}-->
	<!--{<li class="li_item" title="Dormitórios"><i class="fas fa-bed"></i><span class="letter"> i.item_dorm</span></li>}-->
	<!--{<li class="li_item" title="Banheiros"><i class="fas fa-shower"></i><span class="letter"> i.item_wc</span></li>}-->
	<!--{<li class="li_item" title="vagas"><i class="fas fa-car"></i><span class="letter"> i.item_vaga</span></li>}-->
	<!--{<li class="li_item" title="Área"><span class="letter" >área i.item_area <sup>m²</sup></span></li>}-->
	<!--{</ul>}-->
	<!--{</div>}-->
	<!--{<hr>}-->
	<!--{<div class="">}-->
	<!--{<?php
                        echo "<form method='POST'>";
                        echo "<input type='hidden' name='item_id_fav' value='[i.item_id]'>";
                        echo "<input type='hidden' name='add_tofav' value='carrinho'>";
?>}-->
	<!--{<span></span><span>#i.item_ref <?php echo "<span><button  type='submit' title='favoritos' value='Adicionar aos Favoritos'  class='fav btn_addfav fas fa-heart' onclick='atualiza'></span>"; ?>}-->
					<!--{<?php
                        echo "</form>";
                    

                    

                     

                    
                    if (!isset($_SESSION['fav_saves'])) {
                        $_SESSION['fav_saves'] = array();
                    }

                    if (isset($_POST['item_id_fav'])) {
                        $iditem = $_POST['item_id_fav'];
                    }

                    if (isset($_POST['add_tofav']) && $_POST['add_tofav'] == 'carrinho') {
                        
                        if (!isset($_SESSION['fav_saves'][$iditem])) {
                            $_SESSION['fav_saves'][$iditem] = 1;
                        }

                    }


                    ?>}-->
	<!--{}-->
	<!--{</div>}-->
<!--{</div>}-->
<!--{</div>}-->
<!--{end:i}-->
  </div>
   </div>   
    <div class="container">
                <div class="col-lg-12 pagination text-center">
                    [pages]
                </div>			
            </div>
  
  <div class="container-fluid" style="background-color: #000; color: #fff; padding: 10px;">
  		<div class="container">  
		<div class="aluguel">
		<h4 align="left"><i class="fas fa-search-plus"></i> Imóveis Destaque Aluguel</h4>
		</div>
        </div>
    </div>
    
    <div class="container">
    <div class="row">
    <!--{loop:i}-->
<!--{<div class="col-xs-5 col-sm-3">}-->
<!--{<div class="item">}-->
	<!--{<div class="fin">i.tipo_title</div>}-->
	<!--{<a href="[baseUri]/imovel/i.categoria_url/i.sub_url/i.item_id/">}-->
	<!--{<div class="thumb"><img class="img-responsive" src="[baseUri]/thumb/i.foto_url/255/150/crop/" title="i.tipo_title em i.sub_title - i.categoria_title por i.item_preco"/></div>}-->
	<!--{</a>}-->
	<!--{<span class="info">}-->
	<!--{<span class="cidade">i.categoria_title</span>}-->
	<!--{<span class="val">R$ i.item_preco</span>}-->
	<!--{</span>}-->
	<!--{<div class="cat_item">}-->
	<!--{<ul>}-->
	<!--{<li class="li_item" title="Dormitórios"><i class="fas fa-bed"></i><span class="letter"> i.item_dorm</span></li>}-->
	<!--{<li class="li_item" title="vagas"><i class="fas fa-car"></i><span class="letter"> i.item_vaga</span></li>}-->
	<!--{<li class="li_item" title="Banheiros"><i class="fas fa-shower"></i><span class="letter"> i.item_wc</span></li>}-->
	<!--{<li class="li_item" title="Área"><span class="letter" >área i.item_area <sup>m²</sup></span></li>}-->
	<!--{</ul>}-->
	<!--{</div>}-->
	<!--{<hr>}-->
	<!--{<div class="">}-->
	<!--{<?php
                        echo "<form method='POST'>";
                        echo "<input type='hidden' name='item_id_fav' value='[i.item_id]'>";
                        echo "<input type='hidden' name='add_tofav' value='carrinho'>";
?>}-->
	<!--{<span></span><span>#i.item_ref <?php echo "<span><button type='submit' title='favoritos' value='Adicionar aos Favoritos'  class='btn_addfav fas fa-star' onclick='atualiza'></span>"; ?>}-->
					<!--{<?php
                        echo "</form>";
                    

                    

                     

                    
                    if (!isset($_SESSION['fav_saves'])) {
                        $_SESSION['fav_saves'] = array();
                    }

                    if (isset($_POST['item_id_fav'])) {
                        $iditem = $_POST['item_id_fav'];
                    }

                    if (isset($_POST['add_tofav']) && $_POST['add_tofav'] == 'carrinho') {
                        
                        if (!isset($_SESSION['fav_saves'][$iditem])) {
                            $_SESSION['fav_saves'][$iditem] = 1;
                        }

                    }


                    ?>}-->
	<!--{}-->
	<!--{</div>}-->
<!--{</div>}-->
<!--{</div>}-->
<!--{end:i}-->
    </div>
   </div>
   
</section>
</div><!-- end main -->
<div class="footer">
	<div class="container">
		<div class="row">
		
	<div class="col-sm-2 col-md-4">
                <h3>Sc Web Imóveis</h3>
                <hr/>
                <ul class="foo">
                    <li><a class="foo" href="http://localhost/com/pagina/sobre/">Sobre Nós</a></li>
                    <li><a href="http://localhost/com/pagina/links/">Links Úteis</a></li>
                    <li><a href="http://localhost/com/pagina/contato/">Fale Conosco</a></li>
                    <li><a href="#topo" class="go-top">Voltar ao Topo</a></li>
                </ul>
            </div>                        
            <div class="col-sm-2 col-md-4">
                <h3>Entre em Contato</h3>
                <hr/>
                <ul class="foo">
                    <li><i class="fas fa-phone-square"></i> [cliente_telefone1]</li>
                    <li><i class="fas fa-phone-square"></i> [cliente_telefone2]</li>
                    <li><i class="fas fa-phone-square"></i> [cliente_telefone3]</li>
                    <li> <i class="fas fa-envelope"></i> [smtp_username]</li>
                </ul>
            </div>                                        
            <div class="col-sm-2 col-md-4">
                <h3>Onde Estamos</h3>
                <hr/>
                <ul class="foo">
                   
                   <li><i class="fas fa-map-marker"></i> [cliente_rua], Nº [cliente_num], [cliente_bairro] - [cliente_cidade] / [cliente_uf] </li>
                   <li ><i class="fas fa-map"></i><a href="[baseUri]/pagina/contato/"> Exibir Mapa de nossa localização</a></li>
                   <li>Creci: 00000/SC </li>
                </ul>
            </div>   
	
	</div>
	<div >
		<p align="center">
		<a href="#"></a></p>
	</div>
		<div align="center" class="br7 Desenvolvimento"> Desenvolvido by <a href="#"> Br7 Web</a></div>
	</div>
	</div>
</div><!-- end footer -->


 
    
	
    <script src="js/jquery/jquery-1.8.3.min.js" type="text/javascript"></script>
    <script src="js/jquery/bootstrap/bootstrap.min.js"></script>
    <script src="js/public/main.js" type="text/javascript"></script>
    <script src="../app/css/public/OwlCarousel2-2.3.4/dist/owl.carousel.min.js"></script>
    
	
<!--[if gt IE 8]>
<script type="text/javascript" src="assets/js/ie.js"></script>
<![endif]-->

      <script>
    var owl = $('.owl-carousel');
	owl.owlCarousel({
    items:1,
    loop:true,
    margin:10,
    autoplay:true,
	nav: true,
	dots: true,	
    autoplayTimeout:4000,
    autoplayHoverPause:true
		
});
$('.play').on('click',function(){
    owl.trigger('play.owl.autoplay',[1000])
})
$('.stop').on('click',function(){
    owl.trigger('stop.owl.autoplay')
})
</script>
 <script>
	   function atualiza(){
    window.location.href = 'index.html';
}</script>
  </body>
</html>

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 horas atrás, Rzorr disse:

[...]teria um jeito de fazer isso, sem dar o refresh[...]

 

Sim, via AJAX: 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.