PI S1 DSW III DouglasARS: mudanças entre as edições

De IFSC
Ir para navegação Ir para pesquisar
imported>Douglas
imported>Douglas
 
(25 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 87: Linha 87:
Com isso você tem total controle das sessões no seu site e pode salvar, por exemplo, o nome de usuário depois que ele fez o login e salvar outra variável informando que o usuário está logado. Esta é uma prática muito comum em sistemas de autenticação de usuário.
Com isso você tem total controle das sessões no seu site e pode salvar, por exemplo, o nome de usuário depois que ele fez o login e salvar outra variável informando que o usuário está logado. Esta é uma prática muito comum em sistemas de autenticação de usuário.


==Teste a página==
==Teste de página==


http://douglasars.esy.es/teste1.php
;Endereço: http://douglasars.esy.es/teste1.php


;Código da página de teste:
;Código da página de teste:
Linha 128: Linha 128:




Mas, atenção! Os dados de sessão não ficam armazenados para consultas futuras. Quando o usuário deixa de interagir com a página
Mas, atenção! Os dados de sessão não ficam armazenados para consultas futuras. Quando o usuário deixa de interagir com a homepage
por um longo período, os dados que estavam armazenados na sessão serão perdidos. Por isso, devemos tomar cuidado com a utilização do
por um longo período, os dados que estavam armazenados na sessão serão perdidos. Por isso, devemos tomar cuidado com a utilização do
recurso de sessão.
recurso de sessão.


==Resumo==
O uso de sessões permite criar aplicações personalizadas a nível de usuário, pelo simples fato de podermos identificar cada usuário. Também é possível armazenar variáveis no servidor web de cada usuário que está acessando a página ou a aplicação. É importante lembrar que os dados armazenados durante uma sessão serão perdidos em caso da sessão expirar, ou a sessão ter sido propositalmente destruída ('''session_destroy()'''), ou ainda se o usuário abandonar o site. [1][2]
=Alteração de Dados=
Vou mostrar uma sequência de instruções do PHP que possibilita fazer alterações nos dados já cadastrados, ou seja, que já estão no banco de dados MySQL. Como foi visto na unidade anterior, criamos uma página para inserção de dados no banco, uma página para listar os dados inseridos no banco e uma página para excluir os registro. Vou mostrar como atualizar um registro em uma de nossas tabelas. A Figura 1 mostrar a página de '''Consulta Clientes''' com a ação de excluir.
[[Imagem:tela_filtrar.png|center]]
<center>
Figura 1 - Consulta clientes com filtro.
</center>
Para atualizarmos um registro, precisamos inicialmente listar os registros da tabela. Neste caso já temos isso pronto no nosso '''sistema exemplo'''. Lembram??? Tínhamos uma '''ação''' para excluir o registro. Vamos colocar agora uma ação para editar o registro. A Figura 2 mostra onde fica o botão que chama a página que vai '''Editar''' o registo. Em seguido eu coloco o código dessa página.
[[Imagem:tela_filtrar_editar.png|center]]
<center>
Figura 2 - Consulta clientes com botão editar.
</center>
O código fonte será disponibilizado na íntegra. Vamos atentar somente aos trechos de código que foram modificados para realizar a edição do registro.
Primeiramente, para colocar o botão '''Editar''' precisamos alterar o arquivo '''listaclientes.php'''.
<pre>
[...]
    echo '<td><input name="editar" type="button" onClick="window.open(\'editarclientes.php?id='.$exibe['id_cliente'].'\',\'_self\')" value="Editar"> ';
[...]
</pre>
Olhando só linha de código, percebemos que é chamada a página '''editarclientes.php''' e é passado o parâmetro '''id_cliente''' que corresponde o registro do cliente que se deseja alterar. A Figura 3 mostra a página de editar clientes.


[[Imagem:tela_editar_cliente.png|center]]
<center>
Figura 3 - Página editar clientes.
</center>


<h1>Informações</h1>
Como você podem perceber, a tela é a mesma do cadastro, só que traz as informações do cliente cuja identidade '''id''' é recuperada a partir do GET. Abaixo temos o código completo da página '''editarclientes.php'''.


<form name="teste1" method="get" action="teste1.php">
<pre>
    <p>Nome: <input type="text" name="nome" id="nome" size="20" autofocus />
<?php
<input type="submit" value="OK">
include("seguranca.php"); // Inclui o arquivo com o sistema de segurança
</form>
protegePagina(); // Chama a função que protege a página
$user=$_SESSION['usuarioNome'];
include("funcoes.php");
?>
<html>
<head>
<title>Sistema Exemplo</title>
<meta name="author" content="Douglas ARS">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="Portugues">
    <link rel="stylesheet" href="estilos/estilos.css" type="text/css" />
</head>
 
<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/jquery.maskedinput.js"></script>
 
 
</head>
<script type="text/javascript">
//Máscaras para os campos
$(document).ready(function(){
$("input.data").mask("99/99/9999");
        $("input.cpf").mask("999999999-99");
        $("input.cep").mask("99999-999");
        $("input.telefone").mask("(99)9999-9999");
        $("input.celular").mask("(99)9999-9999");
});
</script>
 
 
<body>
 
<div id="topo" style="position:relative; margin:0 0 30px 0;">
        <div id="topo-imagem" style="float: left;">
        Sistema Exemplo        </div>  
</div>
 
<?php
$id = $_GET['id'];
 
$sql = mysqli_query($_SG['link'],'SELECT * FROM clientes a, cidades b WHERE a.id_cidade = b.id_cidade AND id_cliente = "'.$id.'"')  or print (mysql_error());
 
while($res = mysqli_fetch_assoc($sql)){


<?
$_nm_cliente=$res['nm_cliente'];
$_endereco=$res['endereco'];
$_numero=$res['numero'];
$_complemento=$res['complemento'];
$_cep=$res['cep'];
$_id_cidade=$res['id_cidade'];
$_nm_cidade=$res['nm_cidade'].' - '.$res['uf'];
$_uf=$res['uf'];
$_email=$res['email'];
$_telefone=$res['telefone'];
$_celular=$res['celular'];
}


echo "<p>Olá visitante: ".$_SESSION['usuario']." você acessou a página: ".$_SESSION['acessos']." vezes(s)."
$sql2 = mysqli_query($_SG['link'],"SELECT * FROM cidades ORDER BY nm_cidade") or print (mysql_error());
?>
?>
<p>Tecle F5 para atualizar a página.</p>
 
<div class="box-modulo">
  <center>
<div class="box-modulo-interno">
                <div class="box-modulo-txt-float">Cadastro de Clientes</div>
<div class="box-modulo-txt-b">Editando o cadastro de clientes</div>
                <div class="box-modulo-interno-b">
<table>
                  <form name="cadclientes" id="cadclientes" method="post" onsubmit="validaForm(); return false;" action="editando.php" />
     
  <input name="formulario" type="hidden" value="1" />
                  <input name="id_cliente" type="hidden" value="<?php echo $id ?>" />
 
<tr><td>Nome:</td><td><input type="text" name="nm_cliente" id="nm_cliente" size="50" autofocus value="<?php echo $_nm_cliente ?>" /></td></tr>
<tr><td>Endereço:</td><td><input type="text" name="endereco" size="50" value="<?php echo $_endereco ?>" /></td></tr>
<tr><td>Número:</td><td><input type="text" name="numero" size="5" value="<?php echo $_numero ?>" />
        Complemento: <input type="text" name="complemento" size="25" value="<?php echo $_complemento ?>" /></td></tr>
<tr><td>CEP:</td><td><input type="text" class="cep" name="cep" size="9" value="<?php echo $_cep ?>" /></td></tr>
<tr><td>Cidade:</td></td><td>
 
<select name="id_cidade" style="width: 100%" value="<?php echo $id ?>">
<option><?php echo $_nm_cidade ?></option>
 
<?php while($exibe = mysqli_fetch_array($sql2)) { ?>
<option value="<?php echo $exibe['id_cidade'] ?>"><?php echo $exibe['nm_cidade'].' - '.$exibe['uf'] ?></option>
<?php } ?>
</select></td></tr>
 
<tr><td>E-mal:</td><td><input type="text" name="email" id="email" size="50" value="<?php echo $_email ?>" /></td></tr>
<tr><td>Telefone:</td><td><input type="text" class="telefone" name="telefone" id="telefone" size="18" value="<?php echo $_telefone ?>" />
        &nbsp;Celular: <input type="text" class="telefone" name="celular" size="18" value="<?php echo $_celular ?>" /></td></tr>
<tr><td colspan="2">
<input type="submit" value="Salvar" width="10" />
<input name="voltar" type="button" onClick="window.open('listaclientes.php','_self')" value="Voltar">
</form>
</td></tr>
</table>
              </div>
            </div>
        </center>
</div>


</body>
</body>
</html>
</html>
</pre>
</pre>


Basicamente, o código pega as informações da tabela '''clientes''' através da execução de uma consulta SQL e coloca as informações recuperadas, a partir do '''id_cliente''', em variáveis para serem utilizadas na propriedade '''value''' dos campos de formulário. Logo abaixo do formulário, o botão salvar agora chama a página '''editando.php''' ao invés de cadastrando.php utilizada para inserir novos registros. Vamos mostrar agora o código da página '''editando.php'''.
<pre>
<html>
<head>
<title>Editando...</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
Aguarde... <br>
<?php
include("seguranca.php");
$id_cliente=$_POST['id_cliente'];
$nm_cliente=$_POST['nm_cliente'];
$endereco=$_POST['endereco'];
$numero=$_POST['numero'];
$complemento=$_POST['complemento'];
$cep=$_POST['cep'];
$id_cidade=$_POST['id_cidade'];
$email=$_POST['email'];
$telefone=$_POST['telefone'];
$celular=$_POST['celular'];


$sql = mysqli_query($_SG['link'],"UPDATE clientes SET nm_cliente='$nm_cliente',endereco='$endereco',numero='$numero',
complemento='$complemento',cep='$cep',id_cidade=$id_cidade,
email='$email',telefone='$telefone',celular='$celular' WHERE id_cliente=$id_cliente");
echo "<br>Registro editado com sucesso!".'<br>';
echo '<p><a href="listaclientes.php">Voltar</a>';
?>
</body>
</html>
</pre>
Explicando o código. Basicamente, se recupera as informações do POST do formulário '''editarcliente.php''', e na sequência se faz um '''UPDATE''' do banco de dados, atualizando somente os dados do cliente selecionado.


Mas, atenção! Os dados de sessão não ficam armazenados para consultas futuras. Quando o usuário deixa de interagir com a homepage
==Testar o sistema exemplo==
por um longo período, os dados que estavam armazenados na sessão serão perdidos. Por isso, devemos tomar cuidado com a utilização do
recurso de sessão.


==Resumo==
;Endereço: http://douglasars.esy.es/


O uso de sessões permite criar aplicações personalizadas a nível de usuário, pelo simples fato de podermos identificar cada usuário. Também é possível armazenar variáveis no servidor web de cada usuário que está acessando a página ou a aplicação. É importante lembrar que os dados armazenados durante uma sessão serão perdidos em caso da sessão expirar, ou a sessão ter sido propositalmente destruída ('''session_destroy()'''), ou ainda se o usuário abandonar o site. [1][2]
;Usuário: <span style="color:red;">teste</span>


=Alteração de Dados=
;Senha: <span style="color:red;">1234</span>


==Código Fonte==


==Recursividade de Páginas==
;Download: http://douglasars.esy.es/down/exemplo.zip


=Organização da Semana 2=
=Organização da Semana 2=


Nesta primeira semana ...
Nesta primeira semana conversamos sobre como vão ser nossas atividades, apresentamos o Plano de Ensino e conversamos um pouco sobre as avaliações. Também falamos sobre a continuidade do desenvolvimento do sistema desenvolvido até aqui e fizemos também uma pequena avaliação sobre os trabalhos apresentados no final da DS2 e que agora continuaremos com o desenvolvimento do sistema proposto. Para terminar, mostramos como funciona o uso de sessões no PHP e também como alterar dados já cadastrados. Ao final da primeira interação, foi possível testar sessões e também a alteração do cadastro de clientes do nosso sistema exemplo agora na WEB. Na próxima semana vamos mostrar como criar um '''domínio''' gratuito na internet e falaremos também sobre novas funções de acesso ao banco de dados MySQL pelo PHP e mostraremos também como fazer uma chamada de uma caixa de diálogo para que o usuário tome um decisão sobre a continuidade ou não de uma determina ação, como excluir um registro, por exemplo.
 
Até lá!
Até lá!


Linha 201: Linha 371:
=Organização da Semana 2=
=Organização da Semana 2=


Nesta primeira semana ...
Nesta primeira semana apresentamos nosso plano de ensino e recomeçamos o desenvolvimento do sistema, explicando sobre como utilizar sessões, para controlar o acesso às páginas, também aprendemos sobre edição dos dados já inseridos. Na próxima semana, vamos dar uma passado sobre o uso de novas funções de conexão do PHP com o banco de dados MySQL. Veremos também como colocar sua aplicação em um domínio gratuito na internet.
Até lá!
 
Não percam!


Bons estudos!
Bons estudos!

Edição atual tal como às 18h29min de 15 de maio de 2016

Apresentação

Olá Estudante,

Nessa nossa primeira semana de estudos vamos discutir algumas atividades previstas para nossa unidade. A intenção é aproveitar o sistema que começou a ser desenvolvido pelas equipes, incorporando outras técnicas e complementando o desenvolvimento. Ainda nessa primeira semana, vou apresentar como trabalhar com sessões, de modo que se possa fazer um tratamento individual de cada usuário que acessa um site desenvolvido em PHP. Também vou mostrar como alterar dados do formulário e falar um pouco sobre recursividade de páginas.

Bons Estudos!

Fiquem atentos as postagens no Fórum e participem dos nossos encontros virtuais.

Prof. Douglas A.

Objetivos

  • Apresentar a unidade curricular.
  • Trabalhando com sessões.
  • Alterando dados com HTML/PHP/MySQL.


Trabalhando com sessões

Sessão é um recurso do PHP que permite que você salve variáveis com seus valores para serem usados ao longo da visita do usuário. Valores salvos na sessão podem ser usados em qualquer parte do script, mesmo em outras páginas do site. São variáveis que permanecem setadas até o visitante fechar o browser ou a sessão ser destruída.


Um visitante acessando a sua homepage ganha um identificador único, chamado id de sessão. Este id é salvo em um cookie do lado do usuário ou propagado via URL. Desta forma, é possível registrar um número arbitrário de variáveis que serão preservadas entre as requisições. Quando um visitante acessar o seu site, o PHP irá conferir quando um id de sessão específico for enviado com a requisição. Existem algumas formas de criar variáveis de sessão, a seguir é mostrado um exemplo simples de atribuição e recuperação dos dados.

O PHP usa uma variável global, denominada $_SESSION para armazenar os dados de sessão. Para atribuir um valor de uma variável de sessão podemos usar a seguinte sintaxe:

<?php
session_start();
$_SESSION['variavel']='Valor a armazenar';
?>

A função session_start() inicia o uso de sessão da página. Este comando é obrigatório para todas as páginas que forem utilizar sessões;

$_SESSION é o identificador global para sessões; variavel é o índice sob o qual será armazenado um valor e "Valor a armazenar" é o valor atribuído a variável de sessão. Este valor armazenado pode ser usado em qualquer página do seu website.
<?php
session_start();
echo $_SESSION['variavel'];
?>

Exemplo

Depois de iniciada a sessão você pode definir valores para ela da seguinte forma:

<?php
$_SESSION['usuario'] = 'Douglas';
$_SESSION['acessos'] +=1;
?>

Quando você precisar exibir o valor salvo na sessão, provavelmente em outras páginas, é só fazer assim:

<?php
echo $_SESSION['usuario']; // Resultado: Douglas
echo $_SESSION['acessos']; // Resultado: 1 (experimente dar <F5> na página)
?>

Você pode salvar quantos valores quiser, pode redefinir os valores e usa-los nos comandos echo, argumentos de funções ou da forma que preferir.

Para deletar uma variável específica da sessão você usa a função unset().

<?php
unset($_SESSION['acessos']); // Deleta uma variável da sessão
?>

Pode também destruir toda a sessão de uma só vez, eliminando todas as variáveis salvas nela.

<?php
session_destroy(); // Destrói toda sessão
?>

Com isso você tem total controle das sessões no seu site e pode salvar, por exemplo, o nome de usuário depois que ele fez o login e salvar outra variável informando que o usuário está logado. Esta é uma prática muito comum em sistemas de autenticação de usuário.

Teste de página

Endereço
http://douglasars.esy.es/teste1.php
Código da página de teste
<?php
//Iniciando a sessão
session_start();

//Verifica se a variável nome foi passada. Na primeira vez nunca é passada pelo GET.
if (!isset($_GET["nome"])){
	$_SESSION['usuario']='visistante';} // Cria a variável usuário é coloca a informação de visitante.
else{
	$_SESSION['usuario']=$_GET["nome"]; // Recupera o nome que foi passado com GET.
}
$_SESSION['acessos']+=1; // Conta cada vez que entrou na sessão.
?>
<html>
<head><title>Pagina de Teste 1</title></head>
<body>
<P><b>Informações</b>

<form name="teste1" method="get" action="teste1.php">
    <p>Nome: <input type="text" name="nome" id="nome" size="20" autofocus />
	<input type="submit" value="OK">
</form>

<?

echo "<p>Olá visitante: ".$_SESSION['usuario']." você acessou a página: ".$_SESSION['acessos']." vezes(s)."
?>
<p>Tecle F5 para atualizar a página.</p>

</body>
</html>


Mas, atenção! Os dados de sessão não ficam armazenados para consultas futuras. Quando o usuário deixa de interagir com a homepage por um longo período, os dados que estavam armazenados na sessão serão perdidos. Por isso, devemos tomar cuidado com a utilização do recurso de sessão.

Resumo

O uso de sessões permite criar aplicações personalizadas a nível de usuário, pelo simples fato de podermos identificar cada usuário. Também é possível armazenar variáveis no servidor web de cada usuário que está acessando a página ou a aplicação. É importante lembrar que os dados armazenados durante uma sessão serão perdidos em caso da sessão expirar, ou a sessão ter sido propositalmente destruída (session_destroy()), ou ainda se o usuário abandonar o site. [1][2]

Alteração de Dados

Vou mostrar uma sequência de instruções do PHP que possibilita fazer alterações nos dados já cadastrados, ou seja, que já estão no banco de dados MySQL. Como foi visto na unidade anterior, criamos uma página para inserção de dados no banco, uma página para listar os dados inseridos no banco e uma página para excluir os registro. Vou mostrar como atualizar um registro em uma de nossas tabelas. A Figura 1 mostrar a página de Consulta Clientes com a ação de excluir.

Tela filtrar.png

Figura 1 - Consulta clientes com filtro.


Para atualizarmos um registro, precisamos inicialmente listar os registros da tabela. Neste caso já temos isso pronto no nosso sistema exemplo. Lembram??? Tínhamos uma ação para excluir o registro. Vamos colocar agora uma ação para editar o registro. A Figura 2 mostra onde fica o botão que chama a página que vai Editar o registo. Em seguido eu coloco o código dessa página.

Tela filtrar editar.png

Figura 2 - Consulta clientes com botão editar.

O código fonte será disponibilizado na íntegra. Vamos atentar somente aos trechos de código que foram modificados para realizar a edição do registro.

Primeiramente, para colocar o botão Editar precisamos alterar o arquivo listaclientes.php.


[...]
    echo '<td><input name="editar" type="button" onClick="window.open(\'editarclientes.php?id='.$exibe['id_cliente'].'\',\'_self\')" value="Editar"> ';
[...]


Olhando só linha de código, percebemos que é chamada a página editarclientes.php e é passado o parâmetro id_cliente que corresponde o registro do cliente que se deseja alterar. A Figura 3 mostra a página de editar clientes.

Tela editar cliente.png

Figura 3 - Página editar clientes.

Como você podem perceber, a tela é a mesma do cadastro, só que traz as informações do cliente cuja identidade id é recuperada a partir do GET. Abaixo temos o código completo da página editarclientes.php.

<?php
include("seguranca.php"); // Inclui o arquivo com o sistema de segurança
protegePagina(); // Chama a função que protege a página
$user=$_SESSION['usuarioNome'];
include("funcoes.php");
?>
<html>
<head>
<title>Sistema Exemplo</title>
<meta name="author" content="Douglas ARS">
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<meta http-equiv="content-language" content="Portugues">
    <link rel="stylesheet" href="estilos/estilos.css" type="text/css" />
</head>

<script type="text/javascript" src="scripts/jquery.js"></script>
<script type="text/javascript" src="scripts/jquery.maskedinput.js"></script>


</head>
<script type="text/javascript">
//Máscaras para os campos
$(document).ready(function(){
	$("input.data").mask("99/99/9999");
        $("input.cpf").mask("999999999-99");
        $("input.cep").mask("99999-999");
        $("input.telefone").mask("(99)9999-9999");
        $("input.celular").mask("(99)9999-9999");
});
</script>


<body>

<div id="topo" style="position:relative; margin:0 0 30px 0;"> 
        <div id="topo-imagem" style="float: left;"> 
        Sistema Exemplo        </div> 
</div>

<?php
$id = $_GET['id'];

$sql = mysqli_query($_SG['link'],'SELECT * FROM clientes a, cidades b WHERE a.id_cidade = b.id_cidade AND id_cliente = "'.$id.'"')  or print (mysql_error());

while($res = mysqli_fetch_assoc($sql)){

	$_nm_cliente=$res['nm_cliente'];
	$_endereco=$res['endereco'];
	$_numero=$res['numero'];
	$_complemento=$res['complemento'];
	$_cep=$res['cep'];
	$_id_cidade=$res['id_cidade'];
	$_nm_cidade=$res['nm_cidade'].' - '.$res['uf'];
	$_uf=$res['uf'];
	$_email=$res['email'];
	$_telefone=$res['telefone'];
	$_celular=$res['celular'];
}

$sql2 = mysqli_query($_SG['link'],"SELECT * FROM cidades ORDER BY nm_cidade") or print (mysql_error());
?>

<div class="box-modulo">
   	<center>
	<div class="box-modulo-interno">
                <div class="box-modulo-txt-float">Cadastro de Clientes</div>
		<div class="box-modulo-txt-b">Editando o cadastro de clientes</div>
                <div class="box-modulo-interno-b">
		<table>
                  <form name="cadclientes" id="cadclientes" method="post" onsubmit="validaForm(); return false;" action="editando.php" />
       
				  <input name="formulario" type="hidden" value="1" />
                  <input name="id_cliente" type="hidden" value="<?php echo $id ?>" />

			<tr><td>Nome:</td><td><input type="text" name="nm_cliente" id="nm_cliente" size="50" autofocus value="<?php echo $_nm_cliente ?>" /></td></tr>
			<tr><td>Endereço:</td><td><input type="text" name="endereco" size="50" value="<?php echo $_endereco ?>" /></td></tr>
			<tr><td>Número:</td><td><input type="text" name="numero" size="5" value="<?php echo $_numero ?>" />
			        Complemento: <input type="text" name="complemento" size="25" value="<?php echo $_complemento ?>" /></td></tr>
			<tr><td>CEP:</td><td><input type="text" class="cep" name="cep" size="9" value="<?php echo $_cep ?>" /></td></tr>
			<tr><td>Cidade:</td></td><td>

			<select name="id_cidade" style="width: 100%" value="<?php echo $id ?>">
 			 <option><?php echo $_nm_cidade ?></option>

			 <?php while($exibe = mysqli_fetch_array($sql2)) { ?>
			 <option value="<?php echo $exibe['id_cidade'] ?>"><?php echo $exibe['nm_cidade'].' - '.$exibe['uf'] ?></option>
			 <?php } ?>
			 
			 </select></td></tr>

			<tr><td>E-mal:</td><td><input type="text" name="email" id="email" size="50" value="<?php echo $_email ?>" /></td></tr>
			<tr><td>Telefone:</td><td><input type="text" class="telefone" name="telefone" id="telefone" size="18" value="<?php echo $_telefone ?>" />
			         Celular: <input type="text" class="telefone" name="celular" size="18" value="<?php echo $_celular ?>" /></td></tr>
			<tr><td colspan="2">
			<input type="submit" value="Salvar" width="10" />
			<input name="voltar" type="button" onClick="window.open('listaclientes.php','_self')" value="Voltar">
	
		</form>
			</td></tr>
		</table>
		
               </div>
            </div>
        </center>
</div>

</body>
</html>

Basicamente, o código pega as informações da tabela clientes através da execução de uma consulta SQL e coloca as informações recuperadas, a partir do id_cliente, em variáveis para serem utilizadas na propriedade value dos campos de formulário. Logo abaixo do formulário, o botão salvar agora chama a página editando.php ao invés de cadastrando.php utilizada para inserir novos registros. Vamos mostrar agora o código da página editando.php.

<html>
<head>
<title>Editando...</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
</head>
<body>
Aguarde... <br>
<?php
include("seguranca.php");

$id_cliente=$_POST['id_cliente'];
$nm_cliente=$_POST['nm_cliente'];
$endereco=$_POST['endereco'];
$numero=$_POST['numero'];
$complemento=$_POST['complemento'];
$cep=$_POST['cep'];
$id_cidade=$_POST['id_cidade'];
$email=$_POST['email'];
$telefone=$_POST['telefone'];
$celular=$_POST['celular'];

$sql = mysqli_query($_SG['link'],"UPDATE clientes SET nm_cliente='$nm_cliente',endereco='$endereco',numero='$numero',
					complemento='$complemento',cep='$cep',id_cidade=$id_cidade,
					email='$email',telefone='$telefone',celular='$celular' WHERE id_cliente=$id_cliente");
								
echo "<br>Registro editado com sucesso!".'<br>';
echo '<p><a href="listaclientes.php">Voltar</a>';
?>
</body>
</html>

Explicando o código. Basicamente, se recupera as informações do POST do formulário editarcliente.php, e na sequência se faz um UPDATE do banco de dados, atualizando somente os dados do cliente selecionado.

Testar o sistema exemplo

Endereço
http://douglasars.esy.es/
Usuário
teste
Senha
1234

Código Fonte

Download
http://douglasars.esy.es/down/exemplo.zip

Organização da Semana 2

Nesta primeira semana conversamos sobre como vão ser nossas atividades, apresentamos o Plano de Ensino e conversamos um pouco sobre as avaliações. Também falamos sobre a continuidade do desenvolvimento do sistema desenvolvido até aqui e fizemos também uma pequena avaliação sobre os trabalhos apresentados no final da DS2 e que agora continuaremos com o desenvolvimento do sistema proposto. Para terminar, mostramos como funciona o uso de sessões no PHP e também como alterar dados já cadastrados. Ao final da primeira interação, foi possível testar sessões e também a alteração do cadastro de clientes do nosso sistema exemplo agora na WEB. Na próxima semana vamos mostrar como criar um domínio gratuito na internet e falaremos também sobre novas funções de acesso ao banco de dados MySQL pelo PHP e mostraremos também como fazer uma chamada de uma caixa de diálogo para que o usuário tome um decisão sobre a continuidade ou não de uma determina ação, como excluir um registro, por exemplo.

Até lá!

Bons estudos!

Prof. Douglas A.

Referências

[1] http://blog.thiagobelem.net/aprendendo-a-usar-sessoes-no-php

[2] Mendonça, Igor Thiago Marques. Programação para WEB. Florianópolis : Publicações do IFSC, 2010.




<< <> >>

Seções

Alteração de Dados

Recursividade de Páginas

Organização da Semana 2

Nesta primeira semana apresentamos nosso plano de ensino e recomeçamos o desenvolvimento do sistema, explicando sobre como utilizar sessões, para controlar o acesso às páginas, também aprendemos sobre edição dos dados já inseridos. Na próxima semana, vamos dar uma passado sobre o uso de novas funções de conexão do PHP com o banco de dados MySQL. Veremos também como colocar sua aplicação em um domínio gratuito na internet.

Não percam!

Bons estudos!

Prof. Douglas A.

Referências

[1]




<< <> >>