Salvar formulário PHP PDO Banco de Dados
Pessoal desde já agradeço a todos, e vamos lá. Primeiro esclareço que meu conhecimento em PHP é básico e em MYSQL praticamente nulo... Meu objetivo é: Salvar dados do formulário (3 páginas) no mesmo ID (mesma linha) do banco de dados. Tenho: <!-- PÁGINA INDEX.PHP -->
<?php session_start().?>
<html> <form method="POST" action="1.php"> <input type="text" name="namenome" placeholder="Nome"> <input type="text" name="namesobrenome" placeholder="Sobrenome"> <input type="radio" name="radio" value="Masculino"> <input type="radio" name="radio" value="Feminino"> <input type="submit" name="namebtn" value="Próximo Passo"> </form>
</html> E assim são as outras duas páginas, exemplificando, muito simples... No Index o **FORM **tem **action**="**1.php**" Na Pagina2 o **FORM** tem **action**="**2.php**" e assim sucessivamente. **1.php** funcionando perfeitamente: <?php
session_start(). include_once 'conexao.php'. //conexao.php somente faz a conexão com banco de dados, define as credenciais e atrubi a variável $conn
//$conn = new PDO('mysql:host='. HOST. '. dbname='. DBNAME. '. ', USER, PASS). $btn = filter_input(INPUT_POST, 'namebtn', FILTER_SANITIZE_STRING). if($btn){ //Recebe os dados do form $nom = filter_input(INPUT_POST, 'namenome', FILTER_SANITIZE_STRING). $sob = filter_input(INPUT_POST, 'namesobrenome', FILTER_SANITIZE_STRING). $rad = filter_input(INPUT_POST, 'radio', FILTER_SANITIZE_STRING). //Insere os dados no banco $get_data = "INSERT INTO info_tabela (nome, sobrenome, sexo) VALUES (:namenome,:namesobrenome,:radio)". $insert_data = $conn->prepare($get_data). $insert_data->bindParam(':namenome', $nom). $insert_data->bindParam(':namesobrenome', $sob). $insert_data->bindParam(':radio', $rad). if($insert_data->execute()){ header("Location:pagina2.php"). //Se enviar corretamente redireciona para segunda página }else{ $_SESSION['msg'] = "<p style='color:tomato. background:#fff. '>Não foi possível enviar suas informações, verifique e tente novamente.</p>". header("Location:index.php"). //Se não apresenta o erro }}else{
$_SESSION['msg'] = "<p style='color:tomato. '>Não foi possível enviar suas informações, verifique e tente novamente.</p>". header("Location:index.php"). } Até ai tudo bem, insere corretamente os dados nas respectivas colunas da tabela ID=1, NOME= 'nome', SOBRENOME= 'sobrenome', SEXO= 'sexo'. No Banco de Dados ainda temos as colunas a serem preenchidas no mesmo ID(mesma linha) --> CIDADE= ' ', ENDEREÇO= ' ', CEP= ' ', Que referem-se à **pagina2.php**: <!-- PÁGINA PAGINA2.PHP --><?php session_start().?>
<html> <form method="POST" action="2.php"> <!-- ACTION 2.PHP RESPECTIVAMENTE --> <input type="text" name="namecidade" placeholder="Cidade"> <input type="text" name="nameendereco" placeholder="Endereço"> <input type="tex" name="namecep" placeholder="Cep"> <input type="submit" name="namebtn" value="Próximo Passo"> </form>
</html> O problema, é que ao enviar o formulário com **action**="**2.php**" cujo arquivo possui o mesmo código que o "**1.php**" mudando somente os dados recebidos, No Banco de Dados é criado um novo ID(2) ou seja, uma nova linha, com os dados atuais nas colunas (cidade, endereço, cep) preenchidos, e as colunas anteriores (nome, sobrenome, sexo) vazias... Pessoal esta é a minha dúvida, como resolver, salvar todos os dados num mesmo id, mesma linha. O código do arquivo 2.php é o mesmo pois não faço ideia de como implementar isso, como em soluções anteriores tais dados costumava enviar com PhpMailer para e-mail então não entendo de MYSQL. Código simplificado e resumido ao máximo... Obrigado.Discussão (3)
Carregando comentários...