Ir para conteúdo

POWERED BY:

Arquivado

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

gremio10

Problema ao deletar sessao

Recommended Posts

Galera , seguinte...

 

crio um array de sessões , que armazenam varios valores.

 

crio tbm uma listagem de todos esses valores.

 

Até ai - tudo OK - so que precio deletar e editar eles, deletar ele deleta o valor dele , decrementa uma linha e tbm deleta o conteudo proximo a ele .: ex: deleto a sessao 4 , ele deleta a sessao 5.

 

Gostaria de que vocês me ajudassem.

 

vou colocar todos os codigos que uso .

 

Obrigado...

 

<?php
class Produto{
	public $id;
	public $nome;
	public $cont;
	
	public function __construct($id,$nome,$cont){
		$this->nome  					= $nome;
		$this->id   					= $id;
		$this->cont						= $cont;
		$_SESSION["id".$this->cont] 	= $this->id;
		$_SESSION["nome".$this->cont] 	= $this->nome;
	}
	
	public function listar(){
		$codigo_linha	= $_GET["l"];
			echo '<table border="1">
						<tr>
							<td> ID </td><td> Nome </td><td> Deletar </td><td> Editar </td>
						</tr>';
		for($i = 1 ; $i <= $this->cont ; $i++){
			echo '<tr>
						<td>'.$_SESSION["id".$i].' id'.$i.'</td>
						<td>'.$_SESSION["nome".$i].' nome'.$i.'</td>
						<td><a href="deletar.php?i='.$i.'&l='.$codigo_linha.'">Deletar</a></td>
						<td><a href="index.php?acao=edt&e='.$i.'&l='.$codigo_linha.'">Editar</a></td>
				  </tr>';
		}
			echo '<table>';
	}
	
	public function deletarSessao($i){
		unset($_SESSION["id".$i]);	
		unset($_SESSION["nome".$i]);	
	}
	
	public function editar($i){
		$this->id	= $_SESSION["id".$i];
		$this->nome	= $_SESSION["nome".$i];	
	}
}
?>

index.php / editar.php

 

<?php 
session_start(); 
echo $_SESSION["cont"];
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
<?php
if(isset($_GET["acao"])){
	include("class.php");
	$id	= $_GET["i"];
	$linha = $_GET["l"];
	$edt = new Produto(0,0,0);
	$edt->editar($id);	
	echo $linha;
}else{
$linha	= $_GET["l"];
$linha++;
}
?>
</head>

<body>
<form action="mostra.php?l=<?php echo $linha; ?>" method="post">
ID : <input type="text" name="id" size="35" maxlength="45" value="<?php echo $edt->id; ?>" /><br />
Nome : <input type="text" name="nome" size="35" maxlength="45" value="<?php echo $edt->nome; ?>" /><br />
<input type="submit" name="botao" value="Enviar" />
</form>

</body>
</html>

deletar.php

 

<?php
session_start();
include("class.php");
$id = $_GET["id"];
$linha = $_GET["l"];
//$linha--;
$deleta = new Produto(0,0,0);
$deleta->deletarSessao($id);
//$deleta->limpar();
header("Location: mostra.php?i=$linha");
?>

mostra.php

 

<?php
session_start();

$id		= $_REQUEST["id"];
$nome	= $_REQUEST["nome"];
$cont	= $_GET["l"];

include("class.php");

$insere = new Produto($id,$nome,$cont);
$insere->listar();
//header("Location: index.php");
?>
<a href="index.php?l=<?php echo $insere->cont; ?>">Voltar</a>

Ao aguardo.

 

Obrigado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

$deleta = new Produto(0,0,0);
$deleta->deletarSessao($id);

Rapaz do céu... faz isso não...

Você tá com alguns conceitos errados de OO.

 

Recomento você ler um pouco sobre PADRÕES DE DESENVOLVIMENTO, principalmente o padrão Registry:

http://www.google.com/search?hl=pt-BR&q=registry+pattern+PHP&aq=f&aqi=&aql=&oq=&gs_rfai=

 

 

E não use session_destroy() pois vai apagar todos os dados da sessão...

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara, eu sei que to fazndo errado , até por que to começando a pouco a fazer OOP , então é compreensivel.

 

mas essa de sessão acho que vou mudar , vou tentar fazer com txt , que acho que ele nao apagará os valores abaixo do que mandei deletar.

 

mas alguem sabe como deletar algum valor em txt ?

 

Obrigado.

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.