Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
Fala ae galera do imaster. Tudo bom ?
Estou com uma dúvida chata demais... ja bati a cabeça e não tenho mais idéias, então resolvi apelar pra vocês.
Creio que estou perto do resultado.. haha
La vai.
Estou passando por session um nome. ex:
Página que envia SESSION
session_start();
$_SESSION["nome_tamanho"] = $nome_tamanho; // Variável $nome_tamanho está vindo de um post
Pagina que recebe Session,
nesta página estou querendo verificar, se a SESSION ainda nao foi gravada, ele grava ela em um array, se ja estiver sido gravada ela adiciona um valor no array
Estava tentando fazer dessa forma, mais não ta dando resultado nenhum.
é como se fosse um carrinho de compra, preciso que ele vai adicionando os valores dentro desse array.
<?php
session_start();
$teste = $_SESSION['nome_tamanho'];
if(!isset($teste)){
$nome_tamanho = array($teste);
}else{
array_push($nome_tamanho, $teste);
}
?>
Se alguem puder me ajudar, agradeço MUITO... valew galera.. abraços
Boa tarde, orbrigado pela resposta
mas desta forma.. deu o seguinte erro..
Fatal error: [] operator not supported for strings in E:\Servidor\wamp\www\sistema\templates_c\%%E0^E06^E065127C%%carrinho_compra.tpl.php on line 17
Gente, estou tentando aqui, não estou chegando a nenhum resultado...
Vou continuar tentando, se alguem tiver uma ideia, posta ai, por favor..
<?php
session_start();
$_SESSION['nome_produto'][] = 'um teste somente';
echo '<pre>';
print_r($_SESSION['nome_produto']);
echo '</pre>';
?>
Depois de algumas atualizadas no navegador:
Array
(
[0] => um teste somente
[1] => um teste somente
[2] => um teste somente
[3] => um teste somente
[4] => um teste somente
)
:seta: http://forum.imasters.com.br/topic/427288-resolvido-armazenando-varias-strings-em-uma-session/
[]'s
Posta o código até a linha 17
Linha 17:
$_SESSION["nome_tamanho"][] = $nome_tamanho;
É pra você postar o código até a linha 17.
Mas antes, declare no início da página $_SESSION["nome_tamanho"] = array();
O erro Fatal error: [] operator not supported for strings in E:\Servidor\wamp\www\sistema\templates_c\%%E0^E06^E065127C%%carrinho_compra.tpl.php on line 17
provavelmente $_SESSION["nome_tamanho"] está recebendo um valor do tipo string antes. da linha 17, se isso estiver acontecendo o erro vai persistir
o codigo todo esta aii...
session_start();
$_SESSION["nome_tamanho"] = array();
if(empty($_SESSION["nome_tamanho"])){
$_SESSION["nome_tamanho"] = array();
}else{
$_SESSION["nome_tamanho"][] = $nome_tamanho;}
print_r($nome_tamanho);
agora ele parou de dar o erro.. mais nao consgio exibir nada na tela...
alguma diica ?
valew
Amigo, não ignore o post #4. Sua solução está ali.
você deveria prestar mais atenção no seu código, como disse o Matheus Tavares a solução está no post #4.
Opa Matheus, desculpa cara...
eu tentei da sua forma, e ele está criando a session em uma página;
$_SESSION["nome_tamanho"] = $nome_tamanho;
e estou pegando ele em outra página
$_SESSION['nome_produto'][] = $_SESSION['nome_tamanho'];
echo '<pre>';
print_r($_SESSION['nome_produto']);
echo '</pre>';
realmente ele está mostrando todos os valores a cada vez que eu entro na página. mais gostaria que ele adicionasse mais um item no array se o botão submit da primeira página for apertado e pressionado.
Pq se não toda vez que o usuário clicar em ver meu carrinho, ele vai adicionar o ultimo produto guardado na session...
Tem alguma ideia ?
Muito obrigado
Existe outra forma de fazer isso, você armazena em uma matriz:
$_SESSION[$id]['nome_tamanho'] = $nome_tamanho;
$_SESSION[$id]['nome_produto'] = $nome_produto;
$_SESSION[$id]['cod_produto'] = $cod_produto;
O $id é a chave primária do produto na tabela do banco de dados.
Desculpe, mais não entendi dessa maneira... :(
Estou tentando de todas as formas, mais nada... se tivesse algum jeito de fazer ele adicionar o valor no array só se for dado o submit, meu problema estaria resolvido...
Alguém tem alguma nova idéia ?
Pessoal, estou tentando de outra forma.
se conseguir sucesso eu posto aqui, se vocês tiverem uma nova idéia, por favor, postem :)
Valew
Voce pode gravar direto no array veja o exemplo abaixo:
else $_SESSION["nome_tamanho"][] = $nome_tamanho;