Ir para conteúdo

Arquivado

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

wneo

Ajuda na integração PHP+Pagseguro

Recommended Posts

Olá!

Alguém já integrou pagseguro com php de forma transparente?

Acho um pouco complicado...

Estou tentando com o arquivo sugerido no dev.pagseguro que pode ser baixado nesse link: exemplo-pagseguro

Nesse exemplo tem uma página de pagamento. Quero fazer algo com essa idéia.. porém diferente do que tem aí, que é adicionar os ítens ao carrinho com formulário.. Na realidade, quero que em uma tela anterior, clicar na foto do produto, depois escolher quantidade e mais detalhes, para daí então chegar nessa página de exemplo já com os valores prontos para serem pagos..

 

E o outro detalhe, é que não consigo gerar o pagamento nem em boleto... já coloquei e-mail e token do sandbox, mas fica somente com a mensagem de aguardando, e nada acontece.. =/

 

Então são 2problemas.... 1° é a idéia de uso que quero modificar, e o 2° é que não finaliza nenhum pagamento...

Para o 1°, preciso compartilhar um zip com os códigos para vcs entrarem na idéia...

Para o 2° pode ser visto direto no exemplo original...

 

Alguém ajuuuuuuuuuda...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Dessa forma, eu nunca usei, eu já usei o PagSeguro UOL, fazendo o login nele, para criar um botão dentro dele, para cobrar algo de alguém.  O email que eles atendem é o faleconosco@uol.com.br 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

No link abaixo há um pouco da informação.

 

A parte javascript deve ser feita a parte.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sem ter conhecimento intermediário de JS, é quase impossível trabalhar com checkout Transparente.

 

Vê se te ajuda como base, já que está praticamente pronto.

https://github.com/lubuzzo/checkout-transparente-PagSeguro

Compartilhar este post


Link para o post
Compartilhar em outros sites

Tudo é exemplo, quem tem que implementar o que quer, é você!

Ou acha que é como ir em uma alfaiataria, sob medida para você?

Compartilhar este post


Link para o post
Compartilhar em outros sites
26 minutos atrás, Williams Duarte disse:

Tudo é exemplo, quem tem que implementar o que quer, é você!

Ou acha que é como ir em uma alfaiataria, sob medida para você?

Não.. 

Por isso que estou conversando com quem já fez ou tem vontade de ver como funciona..

Quem tiver vontade e algo para agregar pode postar aqui.

Disponibilizei o código que já iniciei, para quem quiser ajudar poder visualizar a idéia.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Naquele dia, a página do desenvolvedor do PagSeguro UOL  estava desativada, hoje vi que voltou a funcionar.

 

https://dev.pagseguro.uol.com.br/documentacao/pagamentos

 

Guia de Integração = https://dev.pagseguro.uol.com.br/

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 06/05/2017 at 14:49, Ana Gauna disse:

Naquele dia, a página do desenvolvedor do PagSeguro UOL  estava desativada, hoje vi que voltou a funcionar.

 

https://dev.pagseguro.uol.com.br/documentacao/pagamentos

 

Guia de Integração = https://dev.pagseguro.uol.com.br/

 

 

Sim, esse é o guia de integração oficial...

Tem bastante coisa, mas como toda integração de API, tem seu nível de complexidade e muitas vezes demorado sendo a primeira utilização.. =/

Lendo esse guia e outros conteúdos, montei essa parte, que pode ser baixada aqui:

https://github.com/WPG2000/pagseguro-transparente-php

 

E sigo no desafio de fazer uma boa integração transparente, como mencionei no primeiro post...

 

Seguindo minha necessidade, preciso:

1 - Ter a foto dos produtos com sua descrição em uma pagina;

2 - Ao clicar no produto, abrir uma tela com mais detalhes, para o usuário escolher quantidade e demais itens conforme tipo de produto;

3 - Ao definir isso, ser direcionado a uma nova tela, onde carrega no carrinho o que o usuário quer comprar, e o formulário para dados do comprador. Podendo assim, escolher forma de pagamento e gerar o mesmo...(boleto ou cartões)...

 

* O 1 e 2 já estão acontecendo na idéia que montei...

* O 3 ainda está no desafio...

* Quem puder compartilhar alguma idéia, pode baixar o código...

Compartilhar este post


Link para o post
Compartilhar em outros sites
50 minutos atrás, Guilherme Luiz disse:

Cara, pagseguro, particularmente, achei complexa a integração...

Hoje utilizo a do Gerencianet em meu site para boletos e cartões... muito mais facil a integração e taxas melhores. 

 

vale a pena conferir.

Olá Guilherme!

Vou ver essa opção enquanto tento desvendar o pagseguro...

Quem tiver mais idéias pode compartilhar, ainda estou na busca da integração perfeita...

Compartilhar este post


Link para o post
Compartilhar em outros sites
2 minutos atrás, wneo disse:

[...]ainda estou na busca da integração perfeita...

 

Vai morrer esperando... Não existe isso. Todas terão seus prós e contras.

 

Se está tendo alguma dificuldade em implementar, traga sua dificuldade, mostre-nos aonde você parou. Evite usar links de códigos externos quando o fórum provê essa facilidade.

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 minutos atrás, Gabriel Heming disse:

Vai morrer esperando... Não existe isso. Todas terão seus prós e contras.

 

Se está tendo alguma dificuldade em implementar, traga sua dificuldade, mostre-nos aonde você parou. Evite usar links de códigos externos quando o fórum provê essa facilidade.

 

Nesse link tem o código que eu montei para ser baixado e acompanhar a idéia:

https://github.com/WPG2000/pagseguro-transparente-php

 

*Como existe uma estrutura de modelo que montei, acredito ser melhor ter o código em mãos para quem quiser ajudar ter mais facilidade de entender, daí então falamos sobre trechos específicos.

 

*Com relação a trazer minha dificuldade.. em post anterior apresentei:

 

Seguindo minha necessidade, preciso:

1 - Ter a foto dos produtos com sua descrição em uma pagina;

2 - Ao clicar no produto, abrir uma tela com mais detalhes, para o usuário escolher quantidade e demais itens conforme tipo de produto;

3 - Ao definir isso, ser direcionado a uma nova tela, onde carrega no carrinho o que o usuário quer comprar, e o formulário para dados do comprador. Podendo assim, escolher forma de pagamento e gerar o mesmo...(boleto ou cartões)...

 

* O 1 e 2 já estão acontecendo na idéia que montei...

* O 3 ainda está no desafio...

* Quem puder compartilhar alguma idéia, pode baixar o código...

 

- Com relação a prós e contras de integrações.. sim sabemos que existem inúmeras.

- Procurei o fórum para compartilhar a idéia e encontrar quem já fez ou tem vontade de fazer, colaborar com a solução contribuindo com sua própria evolução de conhecimento e dos demais assim como eu.

 

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Reforço, traga seu código para o post. Por N aspectos.

 

- Links externos, apesar de poderem ter informações importantes, podem se perder com o tempo, tornando inválida toda uma discussão;

- O fórum não perderá as informações que nele constar;

- Não é nada confiável baixar um arquivo compactado;

- A maioria dos usuários que poderiam te ajudar, vão te ignorar pelo simples fato de ter que baixar um arquivo.

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
22 minutos atrás, Gabriel Heming disse:

Vai morrer esperando... Não existe isso. Todas terão seus prós e contras.

Quando ele chegar na parte do Bug do PagSeguro para parcelamentos então. Morre, pois ja esta apanhando em implementação Básicas de carrinho de compras, que é o desafio que ele fala!

 

14 minutos atrás, wneo disse:

* Quem puder compartilhar alguma idéia, pode baixar o código...

Quem vai baixar código rapaz, se quer usar o GitHub, começa estudando como ele funciona para atrair contribuidores para seu projeto.

O que te falta é estudar sobre Requisitos, HTML+Javascript, pois checkout transparente nada mais é, do que uma pagina de finalizar pedido com eventos em Javascript.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na realidade tudo já está pronto:

https://comunidade.pagseguro.uol.com.br/hc/pt-br/community/posts/220126928-Exemplo-de-Checkout-Transparente

 

Além disso, tem a explicação com os exemplos (que até onde me lembro, estão funcionais) na outra página do manual:

https://dev.pagseguro.uol.com.br/documentacao/pagamentos/pagamento-transparente

Compartilhar este post


Link para o post
Compartilhar em outros sites

Certo pessoal...

Seguindo então com base nos últmos posts de Gabriel, Williams e ESerra.

- Coloquei os arquivos no github sem rar.

https://github.com/WPG2000/pagseguro-transparente-php

 

- O desafio de um modo geral, é ter a integração completa funcionando, de inicio o pagseguro me parecia um bom recurso, no entanto receber mais ideias me atrai muito, assim como a do Guilherme, que falou sobre o gerencianet. Considero ideal o contexto colaborativo de uma idéia, para evolução mútua de quem frequenta e procura o forum, mantendo os questionamentos e respostas em um nível didático, no entanto cada um tem sua liberdade de expressão, embora nem sempre agreguem com algo de valor a todos.

 

- Fazendo um resumo então da necessidade atual.. considerando os posts anteriores em que já a apresentei... e mencionando a orientação correta de Gabriel, e também do ESerra:

-  A idéia que montei, e para facilitar o entendimento, está dividida em 3 partes:

 

1 - Ter a foto dos produtos com sua descrição em uma pagina;

2 - Ao clicar no produto, abrir uma tela com mais detalhes, para o usuário escolher quantidade e demais itens conforme tipo de produto;

3 - Ao definir isso, ser direcionado a uma nova tela, onde carrega no carrinho o que o usuário quer comprar, e o formulário para dados do comprador. Podendo assim, escolher forma de pagamento e gerar o mesmo...(boleto ou cartões)...

 

* O 1 e 2 já estão acontecendo na idéia que montei...

* Originalmente nessa idéia com o material do pagseguro, o ítem 3, era uma pagina onde havia um recurso de adicionar os items, que seriam os produtos e ao lado dados do comprador e forma de pagamento.

* Quero modificar isso, fazendo de um modo onde chegando nessa página, o produto já esteja selecionado com suas especificações escolhidas pelo cliente, e então possa ser finalizada a compra.

* Persistir os dados até esse momento, já está acontecendo, pode ser visualizado no projeto para download... Gostaria então, de resgatar ele nesse contexto de código que vem do material do pagseguro, e finalizar a compra, pq atualmente fica apenas com a mensagem de aguardando na tela...não gera o boleto nem pgto via cartão:

// Setting the application NameSpace
var MyApplication = window.MyApplication || {};
MyApplication.CheckoutPage = new function() {
	
	var hasSessionId = false; // Inicia sem sessionId
	
	var updateSessionId = function(callback) {
		
		showLoading();
		
		$.ajax({
			url: "engine/pagseguro/sessionid.php",
			type:"GET",
			cache: false,
			success: function(response) {
				
				PagSeguroDirectPayment.setSessionId(response);
				
				hasSessionId = true;
				cardBrandEvents();
				callback();
				
			},
			error: function() {
				alert(" Não foi possível obter o Session ID do PagSeguro ");
			},
			complete: function() {
				hideMessages();
			}
		});
		
	};
	
	// Atualiza dados de parcelamento atráves da bandeira do cartão
	var updateInstallments = function(brand) {
		
		var amount = Number($("#totalValue").html());
		
		PagSeguroDirectPayment.getInstallments({
			amount: amount,
			brand:  brand,
			success: function(response) {
				
				// Para obter o array de parcelamento use a bandeira como "chave" da lista "installments"
				var installments = response.installments[brand];
				
				var options = '';
				for (var i in installments) {
					
					var optionItem     = installments[i];
					var optionQuantity = optionItem.quantity; // Obtendo a quantidade
					var optionAmount   = optionItem.installmentAmount; // Obtendo o valor
					var optionLabel    = (optionQuantity + "x " + formatMoney(optionAmount)); // montando o label do option
					var price          = Number(optionAmount).toMoney(2,'.',',');
					
					options += ('<option value="' + optionItem.quantity + '" dataPrice="'+price+'">'+ optionLabel +'</option>');
					
				};
				
				// Atualizando dados do select de parcelamento
				$("#installmentQuantity").html(options);
				
				// Exibindo select do parcelamento
				$("#installmentsWrapper").show();
				
				// Utilizando evento "change" como gatilho para atualizar o valor do parcelamento
				$("#installmentQuantity").trigger('change');
				
			},
			error: function(response) {
				
			},
			complete: function(response) {
				
			}
		});
		
	};
	
	
	var updateCardBrand = function(cardBin) {
		
		PagSeguroDirectPayment.getBrand({
			
			cardBin: cardBin,
			
			success: function(response) {
				
				var brand = response.brand.name;
				
				$("#cardBrand").attr('brand', brand);
				$("#creditCardBrand").val(brand);
				
				updateInstallments(brand);
				
			},
			
			error: function(response) {
				
			},
			
			complete: function(response) {
				
			}
			
		});
		
	};
	
	var changeMethod = function(method) {
		
		var loading = $("#paymentMethodLoading");
		
		loading.show();
		
		var showBox = function() {
			
			var allMethods = $(".paymentMethodGroup");
			var thisMethod = allMethods.filter("[dataMethod='"+method+"']");
			
			allMethods.hide();
			thisMethod.show();
			loading.hide();
			
		};
		
		if (hasSessionId) {
			showBox();
		} else {
			// obter sessioId se ainda não foi setado
			updateSessionId(showBox);
		}
		
	};
	
	
	var updateCardToken = function(callback) {
		
		PagSeguroDirectPayment.createCardToken({
			
			cardNumber: $("#cardNumber").val(),
			brand: $("#creditCardBrand").val(),
			cvv: $("#cardCvv").val(),
			expirationMonth: $("#cardExpirationMonth").val(),
			expirationYear: $("#cardExpirationYear").val(),
			
			success: function(response) {
				
				// Obtendo token para pagamento com cartão
				var token = response.card.token;
				
				// Executando o callback (pagamento) passando o token como parâmetro
				callback(token);
				
			},
			
			error: function(response) {
				
				showCardTokenErrors(response.errors);
				
			},
			
			complete: function(response) {
				
			}
			
		});
		
	};
	
	
	// Fazer pagamento de qualquer tipo
	var doPayment = function(params, callback) {
		
		// travando a tela (loading)
		showLoading();
		
		// Adicionando dados do comprador aos parâmentros de pagamento
		areaToParams("buyerData", params);
		
		// Adicionando dados dos items (carrinho) aos parâmetros de pagamento
		addCartData(params);
		
		// Atualizando hash do comprador
		params.senderHash = PagSeguroDirectPayment.getSenderHash();
		
		// Request para o PHP passando os dados do pagamento
		$.ajax({
			type:"POST",
			url: "payment.php",
			data: params,
			dataType: 'json',
			cache: false,
			success: function(response) {
				
				// Executa o callback passado como parâmentro
				callback(response.transaction);
				
			},
			error: function(jqxhr) {
				// Liberando a tela (esconde o loading)
				//hideMessages();
				
				// obtendo lista de erros
				var response = $.parseJSON(jqxhr.responseText);
				
				// Exibindo lista de erros
				showPaymentErrors(response.errors);
				
			}
			
		});
		
	};
	
	// Pagamento com cartão de crédito
	var creditCardPayment = function() {
		
		showLoading();
		
		//////////////////////////////////////
		// fazer validação nesse ponto;
		//////////////////////////////////////
		
		updateCardToken(function(cardToken) {
			
			// Atualizando field que deve conter o valor do token
			$("#creditCardToken").val(cardToken);
			
			var params = {
				paymentMethod: 'creditCard'
			};
			
			// Adicionando dados do cartão de crédito aos parâmentros de pagamento
			areaToParams("creditCardData", params);
			
			// Fazer pagamento via cartão de crédito passando um callback a ser executado no final
			doPayment(params, function(transaction){
				
				// Aqui você tem o código da transação no final do pagamento
				showTransactionCode(transaction.code);
				
			});
			
		});
		
	};
	
	// Alerando tipo de meio de pagamento (cartão, boleto ou tef)
	var changeMethodEvents = function() {
		var radioInputs = $("input[name='changePaymentMethod']");
		radioInputs.click(function(){
			
			var method = $(this).val();
			
			changeMethod(method);
			
		});
		radioInputs.filter(":checked").trigger("click");
	};
	
	
	// Pagamento via cartão de crédito no click do "botão pagar"
	var creditCardPaymentEvents = function() {
		$("#creditCardPaymentButton").click(function(){
			creditCardPayment();
		});
	};
	
	
	// Gerenciando bandeira do cartão
	var cardBrandEvents = function() {
		
		var verifyBrand = function() {
			
			// Obtendo apenas os 6 primeiros dígitos (bin)
			var cardBin = $("#cardNumber").val().substring(0, 6);
			
			// Atualizar Brand apenas se tiver 6 ou mais dígitos preenchidos
			if (String(cardBin).length >= 6) {
				
				// Atualizar Brand
				updateCardBrand(cardBin);
				
			} else {
				
				// Se não digitou o número do cartão, esconder parcelamento
				$("#installmentsWrapper").hide();
				
			}
			
		};
		
		// Verificar bandeira após qualquer mudança nos inputs de cartão de crédito
		$(".cardDatainput").change(function(){
			verifyBrand();
		});
		
		// Verificar bandeira logo no início
		verifyBrand();
		
	};
	
	// Atualizando o valor do parcelamento
	var installmentQuantityEvents = function() {
		$("#installmentQuantity").change(function() {
			var option = $(this).find("option:selected");
			if (option.length) {
				$("#installmentValue").val( option.attr("dataPrice") );
			}
		});
	};
	
	var holderEvents = function() {
		
		var holderData = $("#holderData");
		
		// Usar dados do comprador para preencher dados do dono do cartão
		$("#sameHolder").click(function(){
			
			$("#buyerData input[holderField]").each(function(){
				var fieldRef = $(this).attr('holderField');
				var value = $(this).val();
				holderData.find("input[holderField=\""+fieldRef+"\"]").val(value);
			});
			
			$("#creditCardHolderBirthDate").focus();
			holderData.show();
			
		});
		
		// limpar dados do dono do cartão para preecher novo
		$("#otherHolder").click(function(){
			holderData.find("input").val('');
			holderData.show();
			$("#creditCardHolderBirthDate").focus();
		});
		
		// Verificar no início
		$("input[name='holderType']:checked").trigger('click');
		
	};
	
	// Adicionar dados do carrinho aos parâmetros de pagamento
	var addCartData = function(params) {
		
		$("#cartTable tbody tr").each(function(index, element){
			$(element).find("td").each(function(){
				if($(this).attr("data-name")) {
					if (startsWith($(this).attr("data-name"),"itemAmount")) {
						params[$(this).attr("data-name") + (index+1)] = $(this).html().replace(",",".");
					} else {
						params[$(this).attr("data-name") + (index+1)] = $(this).html();
					}
				}
			});
		});
		
	};
	
	// Eventos do carrinho (adicioanr item)
	var cartEvents = function() {
		
		$("#addItem").click(function(){
			
			$.colorbox({
				html: $("#cartItemHidden").html(),
				fixed: true
			});
			
			$("#colorbox .addToCart").unbind('click').bind('click', function(){
				
				var parent     = $(this).parents(".cartItemFields");
				var itemid     = parent.find(".itemId").val();
				var descr      = parent.find(".itemDescription").val();
				var amount     = Number(parent.find(".itemAmount").val().replace(",", "."));
				var qty        = Number(parent.find(".itemQuantity").val());
				var itemValue  = (amount * qty);
				
				var html  = ("<tr>");
				html += ("<td data-name='itemId'>" + itemid + "</td>");
				html += ("<td data-name='itemDescription'>" + descr + "</td>");
				html += ("<td data-name='itemAmount'>" + amount.toMoney(2, ',', '.') + "</td>");
				html += ("<td data-name='itemQuantity'>" + '<?php echo $quantidade; ?>' + "</td>");
				html += ("<td>" + itemValue.toMoney(2, ',', '.') + "</td>");
				html += ("</tr>");
				
				$("#cartTable tbody").append(html);
				
				var total = Number($("#totalValue").html());
				total = total + itemValue;
				
				$("#totalValue").html(total.toMoney(2, '.', ','));
				
				if ($("#installmentQuantity").val() != "") {
					updateInstallments( $("#creditCardBrand").val() );
				}
				
				$.colorbox.close();
				
			});
			
		});
		
	};
	
	
	// Pagamento com TEF
	var eftEvents = function() {
		
		$(".bank-flag").click(function(){
			var bank = $(this).attr("dataBank");
			var params = {
				paymentMethod: 'eft',
				bankName: bank
			};
			doPayment(params, function(transaction){
				window.open(transaction.paymentLink);
				showWaitingPayment("Débito online");
			});
		});
		
	};
	
	
	// Pagamento com boleto
	var boletoEvents = function() {
		
		$("#boletoButton").click(function(){
			var params = {
				paymentMethod: 'boleto'
			};
			doPayment(params, function(transaction){
				window.open(transaction.paymentLink);
				showWaitingPayment("Pagamento com Boleto...");
			});
		});
		
	};
	
	
	// Aplicando eventos apenas quado o documento estiver pronto
	$(document).ready(function(){
		cartEvents();
		changeMethodEvents();
		holderEvents();
		creditCardPaymentEvents();
		installmentQuantityEvents();
		eftEvents();
		boletoEvents();
	});
	
};

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Já experimentou o do Paypal?  https://www.paypal-brasil.com.br/desenvolvedores/

 

 

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.