Ir para conteúdo

Arquivado

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

James R Junior

Ajuda editar e salvar edição php

Recommended Posts

Olá preciso de ajuda para resolver isso, tentei usar exemplos mais são diferentes (só preciso editar dados do formulario php)

 

Segue Código abaixo:

 

 

index.php


<!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>Sistema de Cadastro</title>
<link rel="stylesheet" href="_css/estilo.css">
</head>
<body>

 

<div class="container">
     
    
        <nav>
            <ul class="menu">
            <a href="index.html"><li>Cadastro Cliente</li></a>
            <a href="consultas.php"><li>Consultas</li></a>
            <a href="index.html"><li>Voltar</li></a>
        </ul>
    </nav>    
       
    
    <section>
        <h1>Cadastro de Usúarios</h1>
        <hr><br><br>

        <form method="post" action="processa.php">
            <input type="submit" value="Salvar" class="btn">
            <input type="reset" value="Limpar" class="btn">
            <br><br>

            Nome<br>
            <input type="text" name="nome" class="campo" maxlength="40" required autofocus><br>
            Email<br>
            <input type="email" name="email" class="campo" maxlength="50" required><br>
            Profissão<br>
            <input type="text" name="profissao" class="campo" maxlength="40" required><br>
            
        </form>
    </section>
    </div>

</body>
</html>

 

conexao.php


<?php

$hostname ="localhost";
$user = "root";
$password = "";
$database = "cadastro";
$conexao = mysqli_connect($hostname,$user, $password, $database);

if (!$conexao){
    print "Falha na conexão com Banco de Dados";
    
    }

?>

 

 

 

consulta.php


<?php

include_once("conexao.php");
$filtro = isset($_GET['filtro'])?$_GET['filtro']:"";

$sql = "select * from usuarios where nome like '%$filtro%' order by nome";
$consulta = mysqli_query($conexao,$sql);
$registros = mysqli_num_rows($consulta);

?>

<!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>Sistema de Cadastro</title>
<link rel="stylesheet" href="_css/estilo.css">
</head>
<body>
    <div class="container">
        <nav>
            <ul class="menu">
            <a href="index.html"><li>Cadastro</li></a>
            <a href="consultas.php"><li>Consultas</li></a>
             <a href="index.html"><li>Voltar</li></a>
        </ul>
    </nav>    
    <section>
        <h1>Consultas</h1>
        <hr><br><br>
        
        <form method="get" action="">
        Busca por Nome: <input type="text" name="filtro" class="campo" required autofocus>
        <input type="submit" value="Pesquisar" class="btn">
        </form>
        
       <?php
       
print "Resultado da pesquisa com a palavra <strong>$filtro</strong>.<br><br>";
       
       print "$registros registros encontrado(s).";
       print "<br><br>"; 
       
       while($exibirRegistros = mysqli_fetch_array($consulta)){
           
           $codigo = $exibirRegistros[0];
           $nome = $exibirRegistros[1];
           $email = $exibirRegistros[2];
           $profissao = $exibirRegistros[3];
           

           print "<article>";                
           print "$nome<br><br><a href=alterar.php?nome=$nome>Editar</a><br>";
           print "$email<br>";
           print "$profissao<br>";
           
           print "</article>";
           
           }
           mysqli_close($conexao);
       
       ?>
    </section>
    </div>
</body>
</html>

 

 

processa.php



<?php

include_once("conexao.php");

$nome = $_POST['nome'];
$email = $_POST['email'];
$profissao = $_POST['profissao'];

$sql = "insert into usuarios (nome,email,profissao) values ('$nome','$email','$profissao')";
$salvar = mysqli_query($conexao,$sql);

$linhas = mysqli_affected_rows($conexao);

mysqli_close($conexao);


?>

<!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>Sistema de Cadastro</title>
<link rel="stylesheet" href="_css/estilo.css">
</head>
<body>
    <div class="container">
        <nav>
            <ul class="menu">
            <a href="index.php"><li>Cadastro</li></a>
            <a href="consultas.php"><li>Consultas</li></a>
            <a href="index.html"><li>Voltar</li></a>
        </ul>
    </nav>    
    <section>
        <h1>Confirmação de Cadastro</h1>
        <hr><br><br>
        
        <?php
        if($linhas ==1){
            print "Cadastro efetuado com sucesso!";
            
            }else{
                print "Cadastro NÂO efetuado.<br>Já existe um usuário com esta email";
                
                }
        
        ?>

        
    </section>
    </div>
</body>
</html>

 

conexao.php

consultas.php

index.html

processa.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como assim editar dados do formulário? Você quer editar um usuário existente em seu banco de dados pelos novos valores inseridos no formulário?

O que está acontecendo no código? Está dando erros?

Compartilhar este post


Link para o post
Compartilhar em outros sites
7 minutos atrás, zaias76 disse:

O código não tem erros, unica coisa que quero editar os usuarios cadastrados alterar nome, email e profissão só isso 

 

 

Você precisa receber o ID do usuário logado ou o que você deseja editar, seja por POST/GET/COOKIE/SESSION
Após você captar o ID

$id = $_COOKIE["dadosUser"]["id"];

 

Você recebe os dados que você quer alterar de acordo com o formulário

$nomeUsuario = (isset($_POST["nomeUsuario"]))?$_POST["nomeUsuario"] : 0;

Após receber os dados, basta executar uma query no banco de dados

$query = "UPDATE pessoas SET nomeusuario = :nomeusuario where id = :id";
$this->setPdo($this->con->prepare($query));
$this->getPdo()->bindValue(":nomeusuario", $nomeUsuario);
$this->getPdo()->bindValue(":id", $id);
$this->getPdo()->execute();

 

Aconselho você estudar sobre PDO/MYSQLI/MYSQL.

Compartilhar este post


Link para o post
Compartilhar em outros sites
11 minutos atrás, zaias76 disse:

Opá, valeu mesmo muito obrigado agora vai rsss!

Disponha, caso consiga ou não poste aqui.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Estou com os seguintes erros:

 


Notice: Undefined index: nome in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 6

Notice: Undefined index: email in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 7

Notice: Undefined index: profissao in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 8

Notice: Undefined index: nome in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 16

Fatal error: Uncaught Error: Using $this when not in object context in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php:20 Stack trace: #0 {main} thrown in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 20

 


 


<?php

include_once("conexao.php");

$nome = $_POST['nome'];
$email = $_POST['email'];
$profissao = $_POST['profissao'];

$sql = "insert into usuarios (nome,email,profissao) values ('$nome','$email','$profissao')";
$salvar = mysqli_query($conexao,$sql);

$linhas = mysqli_affected_rows($conexao);


$codigo = $_COOKIE["nome"]["codigo"];
$nome = (isset($_POST["nome"]))?$_POST["nome"] : 0;

$query = "UPDATE cadastro SET usuarios = :nome where codigo = :codigo";
$this->setPdo($this->con->prepare($query));
$this->getPdo()->bindValue(":nome", $nome);
$this->getPdo()->bindValue(":codigo", $codigo);
$this->getPdo()->execute();


mysqli_close($conexao);


?>

<!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>Sistema de Cadastro</title>
<link rel="stylesheet" href="_css/estilo.css">
</head>
<body>
    <div class="container">
        <nav>
            <ul class="menu">
            <a href="index.php"><li>Cadastro</li></a>
            <a href="consultas.php"><li>Consultas</li></a>
            <a href="index.html"><li>Voltar</li></a>
        </ul>
    </nav>    
    <section>
        <h1>Confirmação de Cadastro</h1>
        <hr><br><br>
        
        <?php
        if($linhas ==1){
            print "Cadastro efetuado com sucesso!";
            
            }else{
                print "Cadastro NÂO efetuado.<br>Já existe um usuário com esta email";
                
                }
        
        ?>

        
    </section>
    </div>
</body>
</html>

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 14/03/2017 at 16:40, jamesbond disse:

Disponha, caso consiga ou não poste aqui.

Estou com os seguintes erros:

 


Notice: Undefined index: nome in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 6

Notice: Undefined index: email in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 7

Notice: Undefined index: profissao in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 8

Notice: Undefined index: nome in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 16

Fatal error: Uncaught Error: Using $this when not in object context in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php:20 Stack trace: #0 {main} thrown in C:\xampp\htdocs\sistemaloja\FSN CURSOS online\processa.php on line 20

 

 

 


<?php

include_once("conexao.php");

$nome = $_POST['nome'];
$email = $_POST['email'];
$profissao = $_POST['profissao'];

$sql = "insert into usuarios (nome,email,profissao) values ('$nome','$email','$profissao')";
$salvar = mysqli_query($conexao,$sql);

$linhas = mysqli_affected_rows($conexao);


$codigo = $_COOKIE["nome"]["codigo"];
$nome = (isset($_POST["nome"]))?$_POST["nome"] : 0;

$query = "UPDATE cadastro SET usuarios = :nome where codigo = :codigo";
$this->setPdo($this->con->prepare($query));
$this->getPdo()->bindValue(":nome", $nome);
$this->getPdo()->bindValue(":codigo", $codigo);
$this->getPdo()->execute();


mysqli_close($conexao);


?>

<!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>Sistema de Cadastro</title>
<link rel="stylesheet" href="_css/estilo.css">
</head>
<body>
    <div class="container">
        <nav>
            <ul class="menu">
            <a href="index.php"><li>Cadastro</li></a>
            <a href="consultas.php"><li>Consultas</li></a>
            <a href="index.html"><li>Voltar</li></a>
        </ul>
    </nav>    
    <section>
        <h1>Confirmação de Cadastro</h1>
        <hr><br><br>
        
        <?php
        if($linhas ==1){
            print "Cadastro efetuado com sucesso!";
            
            }else{
                print "Cadastro NÂO efetuado.<br>Já existe um usuário com esta email";
                
                }
        
        ?>

        
    </section>
    </div>
</body>
</html>

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.