gremio10 14 Denunciar post Postado Outubro 9, 2010 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
ell_cpu 0 Denunciar post Postado Outubro 9, 2010 use session_destroy(); Compartilhar este post Link para o post Compartilhar em outros sites
Henrique Barcelos 290 Denunciar post Postado Outubro 9, 2010 $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
gremio10 14 Denunciar post Postado Outubro 9, 2010 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