PHP não salva txt do formulário

1 resposta
php7php
S

Pessoas, esse script em PHP que é um formulário querendo agora gerar um arquivo em TXT pegando o dado de cada input não entendi como fazer isso direito

o usuário preenche os dados deveria ser aberto uma nova página com esses dados inscritos não consegui, coloquei um novo modelo abaixo com os dados preenchidos

esses dados são com o design do Bootstrap 4
A parte Salvar deveria salvar esses dados em txt

<!doctype html>
<html lang="en">
<head>
    <title>Formulário</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">    
  </head>
  <body>
 	
<div class="container" style="margin-top:20px;">
	</div>
	<div class="container">
	<p> Inserir, Capturar dados </p>  	
  <div class="card">
  <div class="card-header"><ul class="nav nav-tabs card-header-tabs" id="myTab" role="tablist"></ul></div>
       <script type="text/javascript">
        	
        	function vN(event) {
        		var key = window.event ? event.keyCode : event.which;
        		if (event.keyCode === 8 || event.keyCode === 46) {
        			return true;
        		} else if ( key < 48 || key > 57 ) {
        			return false;
        		} else {
        			return true;
        		}
        	};

        </script>
        <script type="text/javascript">
        	
        	$(document).ready(function(){ 
        		$('[id^=edit1]').keypress(vN);
        	});

        </script>

<!--- --->
<div class="card-body">
<form name="form" action="formulario.php" method="POST">
	<div class="" id="one" role="tabpanel" aria-labelledby="one-tab">
	<h5 class="card-title">Nome Completo</h5></div>
<div class="input-group mb-3">
  <input type="text" class="form-control" placeholder="Nome Completo" aria-label="Nome Completo" aria-describedby="basic-addon2" value="" name="nome">
</div>
    <br>
<h5 class="card-title">Ano de Nascimento</h5>
<div class="input-group mb-3">
  <input type="text" class="form-control" id="edit1" placeholder="Ano de Nascimento" aria-label="Ano de Nascimento" aria-describedby="basic-addon2" value="<?php echo $valor; ?>" name="ano" >
</div>
    <br>
  <div class="form-group">
    <label for="cidade"><h5 class="card-title">Cidade</h5></label>
    <select class="form-control" id="cidade" name="cidade">
      <option name="saopaulo" value="São Paulo">São Paulo</option>
      <option name="brasilia" value="Brasília">Brasília</option>
    </select>
    <br>
  </div>
    <br>
<h5 class="card-title">Número de Cadastro</h5>
<div class="input-group mb-3">
  <input type="text" class="form-control" id="edit1" placeholder="Número de Cadastro" aria-label="Número de Cadastro" aria-describedby="basic-addon2" value="<?php echo $cadastro; ?>" name="cadastro" >
</div>
    <br>

  <!--------------------------------------->
  	<div class="" id="one" role="tabpanel" aria-labelledby="one-tab">
		<h5 class="card-title">Sexo</h5>
	</div>
 <div class="form-check">
  <input type="checkbox" class="form-check-input" value="Masculino" placeholder="Masculino" aria-label="Masculino" aria-describedby="basic-addon2" value="" name="masculino">
        <label class="form-check-label" for="Masculino">Masculino</label>
</div>
  <div class="form-check">
  <input type="checkbox" class="form-check-input" value="Feminino" placeholder="Feminino" aria-label="Feminino" aria-describedby="basic-addon2" value="" name="feminino">
      <label class="form-check-label" for="Feminino">Feminino</label>
    
    <br>
    <br>
<button class="btn btn-outline-secondary" type="submit" style="width:102%;margin-left:-20px;">Enviar Informações</button>
</div>
</div>
</form>
  </div>
<!--------------------------------------->
<!--------- New template  --------------->
<br>
<p> Conferir, Salvar dados </p> 
<div class="card">
<div class="card-header"><ul class="nav nav-tabs card-header-tabs" id="myTab" role="tablist"></ul></div> 	
<div class="card-body">
<form name="save" action="index.php" method="POST">
	<div class="" id="one" role="tabpanel" aria-labelledby="one-tab">
	<h5 class="card-title">Nome Completo</h5></div>
<div class="input-group mb-3">
	<?php  

	// Nome Completo
	$nome = $_POST['nome'];

	?>
  <input type="text" class="form-control" placeholder="Nome Completo" aria-label="Nome Completo" aria-describedby="basic-addon2" value="<?php echo $nome; ?>" name="nome" /> 
</div>
    <br>
<h5 class="card-title">Idade</h5>
<div class="input-group mb-3">
	<?php  

	// Ano de Nascimento, Idade: Ano de Nascimento - 2019 
	$ano = $_POST['ano'];
	$idade = 2019 - $ano; 

	?>
  <input type="text" class="form-control" placeholder="Idade" aria-label="Idade" aria-describedby="basic-addon2" 
  value="<?php echo $idade." anos "; ?>" name="idade" /> 
</div>
    <br>
<h5 class="card-title">Número de Cadastro</h5>
<div class="input-group mb-3">
		<?php  

	// Número de Cadastro 
	$cadastro = $_POST['cadastro'];

	?>
  <input type="text" class="form-control" id="edit1" placeholder="Número de Cadastro" aria-label="Número de Cadastro" aria-describedby="basic-addon2" value="<?php echo $cadastro; ?>" name="cadastro" >
</div>
    <br>


  <div class="form-group">
  	<?php  
 		
	// Cidade
	$cidade = $_POST['cidade'];

	?>

    <label for="cidade"><h5 class="card-title">Cidade</h5></label>
    <select class="form-control" id="cidade" name="cidade">
      <option name="content" value="<?php echo $cidade; ?>"><?php echo $cidade; ?></option>
    </select>
    <br>
  </div>

  <!--------------------------------------->
  	<div class="" id="one" role="tabpanel" aria-labelledby="one-tab">
		<h5 class="card-title">Sexo</h5>
	</div>
 <div class="form-check">
 	<?php  
	
	// Masculino, Feminino
	$masculino = $_POST['masculino'];
	$feminino = $_POST['feminino'];

	?>

  <input type="checkbox" class="form-check-input" value="<?php echo $masculino, $feminino; ?>" placeholder="option" aria-label="option" aria-describedby="basic-addon2" value="<?php echo $masculino, $feminino; ?>" name="option">
        <label class="form-check-label" for="Option"><?php echo $masculino, $feminino; ?></label>
</div>
<br>
  <div class="input-group-append">
  	<button class="btn btn-outline-secondary" type="submit" style="width:100%;">Salvar Informações</button>
  </div>
</div>
</form>
  </div>
</div>
<!---------- End Template -------------->
</div>
</div>
</div>
</div>
<br>
<br>
  
<?php  

 $string1 = " Nome Registrado   : \n"; 
 $string2 = " Idade Registrada  : \n";
 $string3 = " Cidade Registrada : \n";
 $string4 = " Número de Cadastro Registrado : \n"; 
 $string5 = " Sexo Registrado               : \n";


 $txt = sprintf( '%s,%s,%s', $string1, $_POST[ 'nome' ], $string2, $_POST[ 'idade' ], $string3, $_POST[ 'cadastro' ], $string4, $_POST[ 'cidade' ], $string5, $_POST[ 'sexo' ] );
          $open = fopen( 'registro.txt', 'a+' );
          if( !$open ){
              echo 'Erro inesperado, não foi possivel abrir o arquivo';
          exit;
          }else{
              fwrite( $open, $txt );
         }
?>  

<script src="https://code.jquery.com/jquery-1.12.4.js"></script>
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>

</body>
</html>

1 Resposta

rodriguesabner

Considere fazer coisas pequenas pra depois passar para as grandes, ninguém já nasceu sabendo ler e escrever. Foi um processo até vc chegar onde chegou, da uma olhada nesse site:

https://www.w3schools.com/php/php_file_create.asp

Sobre abrir uma nova página, vc criou a outra?

Criado 3 de novembro de 2019
Ultima resposta 4 de nov. de 2019
Respostas 1
Participantes 2