Ir para conteúdo

POWERED BY:

Arquivado

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

gremio10

banco de dados com 'session'

Recommended Posts

Galera , assim , preciso armazenar qualquer valor em session , até ai tudo bem , so que ele tem que salvar e depois colocar mais valores , e dpois de tudo , tem que criar uma lista de todos que foram criados uma session...

 

Não sei se fui claro ...

Obrigado pela ajuda

 

Felipe

Compartilhar este post


Link para o post
Compartilhar em outros sites

tipo , eu tenho um desafio , e em uma das obrigações é o seguinte:

 

Não utilizar nenhum banco de dados para armazenar os objetos da sua lista, o foco

é implementar uma lista de objetos instanciados durante uma sessão de uso (não precisa de login)

pensei em fazer com txt , mas ai ficaria fora do que foi pedido.

 

Aguardo reposta.

 

Obrigado

Compartilhar este post


Link para o post
Compartilhar em outros sites

Receba os valores pelo formulário depois de um

 

session_start();

$_SESSION['nome'] = $_POST['txtNome'];
....
Desde que você não utilize um session_destroy(); os valores vão ficar armazenados até a hora que você fechar o navegador, e caso você queira criar mais dados usando session, faz o mesmo procedimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Consegui fazer com que ele criasse a lista , mas tive que criar um "array" de sessions , mas agora to com dificuldade de deletar , eu ate consigo deletar direitnho , so que ele me devolve o valor em branco , nao deleta completamente a linha que ele apresenta estar.

 

class.php

<?php
class Familia{
	public $mae;
	public $pai;
	public $cont;
	public $nome;
	public $sobrenome;
	public $pessoa;
	
	public function setNome($nome){
		$this->nome 	 = $nome;	
	}
	
	public function setSobrenome($sobrenome){
		$this->sobrenome = $sobrenome;
	}
	
	public function getNome(){
		$this->pessoa = $this->nome. " " . $this->sobrenome . "\n";
	}

	
	public function getFamilia($cont){		
		
		$this->cont = $cont;
		$_SESSION["contador"] = $this->cont;
		$_SESSION["nome_pessoa".$this->cont] = $this->pessoa;
		$_SESSION["pai".$this->cont] = $this->pai;
		$_SESSION["mae".$this->cont] = $this->mae;
		
		echo '<table width="50%" border="1">
				<tr>
					<th> Pessoa </th><th> Mãe </th><th> Pai </th><th> Deletar </th><th> Editar </th>
				</tr>
		';
		//echo $this->cont;
		for($i = 1 ; $i <= $this->cont ; $i++){
		//echo $i;
		echo'<tr>
					<td>'.$_SESSION["nome_pessoa".$i].'</td><td>'.$_SESSION["mae".$i].'</td><td>'.$_SESSION["pai".$i].'</td><td> <a href="deletar.php?id='.$i.'">Deletar</a> </td><td> <a href="editar.php?id='.$i.'">Editar</a> </td>
				</tr>';
		
		}
		echo ' </table>';
		
		
		echo '<a href="javascript:history.back(-1)">Voltar</a>';
	}
	
	public function limpar(){
	
		//for($i = 1 ; $i <= $this->cont ; $i++){
			//unset($_SESSION["nome_pessoa".$i],$_SESSION["mae".$i],$_SESSION["pai".$i]);	
			
		//}
		session_destroy();
//			exit;
		
	}
	
	public function deletar($id){
			unset($_SESSION["nome_pessoa".$id],$_SESSION["mae".$id],$_SESSION["pai".$id]);
			$cont = $_SESSION["contador"];
			$cont--;
			$_SESSION["contador"] = $cont;
	}
	
}

?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu tenho uma classe de logar vou colar aqui ve se você aproveita algo nas funções logoff

 

O que eu faço é logar o usuario e criar automaticamente as sessions através dos prefixos(campos do banco de dados)

 

function logaUsuario($usuario, $senha, $lembrar = false) {			
		// Verifica se é um usuário válido
		if ($this->validaUsuario($usuario, $senha)) {
			// Inicia a sessão?
			if ($this->iniciaSessao AND !isset($_SESSION)) {
				session_start();
			}
			// Filtra os dados?
			if ($this->filtraDados) {
				$usuario = mysql_real_escape_string($usuario);
				$senha = mysql_real_escape_string($senha);
			}
			// Traz dados da tabela?
			if ($this->dados != false) {
				// Adiciona o campo do usuário na lista de dados
				if (!in_array($this->campos['heCpf'], $this->dados)) {
					$this->dados[] = 'heCpf';
					$this->dados[] = 'heSenha';
				}
				// Monta o formato SQL da lista de campos
				$dados = '`' . join('`, `', array_unique($this->dados)) . '`';
				// Os dados são case-sensitive?
				$binary = ($this->caseSensitive) ? 'BINARY' : '';
				// Consulta os dados
				$sql = "SELECT {$dados} FROM `{$this->bancoDeDados}`.`{$this->tabela}` WHERE {$binary} `{$this->campos['heCpf']}` = '{$usuario}'";
				$query = mysql_query($sql);
				// Se a consulta falhou
				if (!$query) {
					// A consulta foi mal sucedida, retorna false
					$this->erro = 'A consulta dos dados é inválida';
					return false;
				} else {
					// Traz os dados encontrados para um array
					$dados = mysql_fetch_assoc($query);
					// Limpa a consulta da memória
					mysql_free_result($query);
					
					// Passa os dados para a sessão
					foreach ($dados as $chave=>$valor) {
						$_SESSION[$this->prefixoChaves.$chave] = $valor;
					}
				}
			}
			// Usuário logado com sucesso
			$_SESSION[$this->prefixoChaves . 'logado'] = true;
			// Define um cookie para maior segurança?
			if ($this->cookie) {
				// Monta uma cookie com informações gerais sobre o usuário: usuario, ip e navegador
				$valor = join('#', array($usuario, $_SERVER['REMOTE_ADDR'], $_SERVER['HTTP_USER_AGENT']));
				// Encripta o valor do cookie
				$valor = sha1($valor);
				// Cria o cookie
				setcookie($this->prefixoChaves . 'token', $valor, 0, $this->cookiePath);
			}
			// Salva os dados do usuário em cookies? ("Lembrar minha senha")
			if ($lembrar) $this->lembrarDados($usuario, $senha, $nivel);
			// Fim da verificação, retorna true
			return true;
		} else {
			$this->erro = 'Usuário inválido';
			return false;
		}
	}//function logaUsuario

unction logout($cookies = true) {
		// Inicia a sessão?
		if ($this->iniciaSessao AND !isset($_SESSION)) {
			session_start();
		}
		// Tamanho do prefixo
		$tamanho = strlen($this->prefixoChaves);
		// Destroi todos os valores da sessão relativos ao sistema de login
		foreach ($_SESSION AS $chave=>$valor) {
			// Remove apenas valores cujas chaves comecem com o prefixo correto
			if (substr($chave, 0, $tamanho) == $this->prefixoChaves) {
				unset($_SESSION[$chave]);
			}
		}
		// Destrói asessão se ela estiver vazia
		if (count($_SESSION) == 0) {
			session_destroy();
			// Remove o cookie da sessão se ele existir
			if (isset($_COOKIE['PHPSESSID'])) {
				setcookie('PHPSESSID', false, (time() - 3600));
				unset($_COOKIE['PHPSESSID']);
			}
		}

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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