Criar formulario com auto preenchimento de endereço
Pessoal quero saber o que faço para manter os valores nas caixas de texto do formulário, por que estou conseguindo trazer pelo cep o endereço mais quando clico em buscar os outro valores das caixas somem por causa do poste usei dois formulários, alguém ai tem algum código ou aula que possa me ensina a fazer isso usando só php ou JavaScript, ajax ou os três juntos mais sem usar essas bibliotecas?
//Busca endereço pelo CEP
function get_endereco($cep){
if($cep != NULL){
$cep = preg_replace("/[^0-9]/", "", $cep); // formatar o cep removendo caracteres nao numericos
$url = "http://viacep.com.br/ws/$cep/xml/";
$xml = simplexml_load_file($url);
return $xml;
}
}
<?php
if(isset($_POST['CEP:'])){
$_POST['CEP:'] = $_POST['CEP:'];
}else{
$_POST['CEP:'] = 0;
}
$endereco = (get_endereco($_POST['CEP:']));
if(isset($_POST['CEP:'])){
}
function form (){
$endereco = (get_endereco($_POST['CEP:']));
echo "<form action='' method='post' class='Form_CEP'>
<p class='CEP'><label for='CEP'>* CEP:</label><br/><input type='text' name='CEP:' value='"; if(isset($endereco->cep)){echo $endereco->cep;} echo "'size='15' id='CEP' placeholder='Ex.: 83409-010'/>
</p>
<input type='submit' name='buscar_endereco' value='Buscar' class='buscar_endereco'/>
</form>";
}
form ();
echo "<form action='' method='post'>
<fieldset class='fieldsets_container_checkout_forms'>
<legend><h4 class='legend_form_1'>Dados da conta:
</h4></legend><br/>
<p class='left-perfil'><label for='p-fisica'>Pessoa Física:</label><input type='radio' name='Tipodecliente:' value='Pessoa Física' id='p-fisica' checked/>
</p>
<p class='sobrenome'><label for='p-juridica'>Pessoa Jurídica:</label><input type='radio' name='Tipodecliente:' value='Pessoa Jurídica' id='p-juridica'/>
</p><br/><br/>
<p class='left-perfil'><label for='Nome'>* Nome:</label><br/><input type='text' size='40' name='Nome:' id='Nome' placeholder='Seu primeiro nome' />
</p>
<p class='sobrenome'><label for='Sobrenome'>* Sobrenome:</label><br/><input type='text' size='36' name='Sobrenome:' id='Sobrenome' placeholder='Sobrenome completo' />
</p>
<p class='left-perfil'><label for='E-mail'>* E-mail:</label><br/><input type='email' name='Email:' size='80' id='E-mail' placeholder='Digite seu email sem erros não esqueça do @ e o . '/>
</p>
<p class='left-perfil'><label for='Telefone'>* Telefone:</label><br/><input type='tel' name='Telefone:' id='Telefone' placeholder='Ex.: (88) 1245-2513' />
</p>
<p class='celular'><label for='Celular'>* Celular:</label><br/><input type='tel' name='Celular:'id='Celular' placeholder='Ex.: (88) 9988-2513' />
</p>
<p class='left-perfil'><label for='RGouIE'>* RG ou IE:</label><br/><input type='text' size='28' name='RGouIE:' id='RG_ou_IE' placeholder='52.708.763-5 ou 0023000001-9' />
</p>
<p class='CPF-CNPJ'><label for='CPFouCNPJ'>* CPF ou CNPJ:</label><br/><input type='text' size='35' name='CPFouCNPJ:' id='CPF_ou_CNPJ' placeholder='010.750.850-85 ou 30.318.949/0001-84' />
</p>
<p class='left-perfil'><label for='Nascimento:'>* Nascimento:</label><br/><input type='text' size='15' name='Nascimento:' id='Nascimento' placeholder='Ex.: 04/10/1985' />
</p>
<p class='UserImage'><label for='UserImage'>Carregue uma imagem:</label><br/><input type='file' name='UserImage:' id='UserImage' />
</p> ";
if(isset($_POST['CEP:'])){
echo "<p class='bairro'><label for='Bairro'>Bairro:</label><br/><input type='text' name='Bairro:' size='23' value='"; if(isset($endereco->bairro)){echo $endereco->bairro;} echo "'id='Bairro' placeholder='Ex.: Morumbi' />
</p>
<p class='cidade'><label for='Cidade'>* Cidade:</label><br/><input type='text' name='Cidade:' value='"; if(isset($endereco->localidade)){echo $endereco->localidade;} echo "'size='23' id='Cidade' placeholder='Ex.: São Paulo' />
</p>
<p class='left-perfil'><label for='Endereco'>* Endereço:</label><br/><input type='text' size='80' name='Endereco:' value='"; if(isset($endereco->logradouro)){echo $endereco->logradouro.', Nº.:';} echo "' size='56' id='Endereco' placeholder='Seu endereço mais o ,Nº.: da residência' />
</p>
<p class='left-perfil'><label for='Complemento'>Complemento:</label><br/><input type='text' size='56' name='Complemento:' id='Complemento' placeholder='Ex.: Próximo Padaria Tal' />
</p>
<p class='estado'><label for='Estado'>*Estado:</label>
<select name='Estado:' size='1' id='Estado'>";
if(isset($endereco->uf)){
echo "<option value=''>$endereco->uf</option>";
}else {
echo "<option value=''>Selecione</option>;
<option>AC</option>
<option>AL</option>
<option>AP</option>
<option>AM</option>
<option>BA</option>
<option>CE</option>
<option>DF</option>
<option>ES</option>
<option>GO</option>
<option>MA</option>
<option>MT</option>
<option>MS</option>
<option>MG</option>
<option>PA</option>
<option>PB</option>
<option>PR</option>
<option>PE</option>
<option>PI</option>
<option>RJ</option>
<option>RN</option>
<option>RS</option>
<option>RO</option>
<option>RR</option>
<option>SC</option>
<option>SP</option>
<option>SE</option>
<option>TO</option>";
}
echo"</select>";
}else {
echo "<p class='bairro'><label for='Bairro'>Bairro:</label><br/><input type='text' name='Bairro:' size='23' id='Bairro' placeholder='Ex.: Morumbi' />
</p>
<p class='cidade'><label for='Cidade'>* Cidade:</label><br/><input type='text' name='Cidade:' size='23' id='Cidade' placeholder='Ex.: São Paulo' />
</p>
<p class='left-perfil'><label for='Endereco'>* Endereço:</label><br/><input type='text' size='80' name='Endereco:' size='56' id='Endereco' placeholder='Seu endereço mais o ,Nº.: da residência' />
</p>
<p class='left-perfil'><label for='Complemento'>Complemento:</label><br/><input type='text' size='56' name='Complemento:' id='Complemento' placeholder='Ex.: Próximo Padaria Tal' />
</p>
<p class='estado'><label for='Estado'>*Estado:</label>
<select name='Estado:' size='1' id='Estado'>
<option selected value=''>Selecione</option>
<option>AC</option>
<option>AL</option>
<option>AP</option>
<option>AM</option>
<option>BA</option>
<option>CE</option>
<option>DF</option>
<option>ES</option>
<option>GO</option>
<option>MA</option>
<option>MT</option>
<option>MS</option>
<option>MG</option>
<option>PA</option>
<option>PB</option>
<option>PR</option>
<option>PE</option>
<option>PI</option>
<option>RJ</option>
<option>RN</option>
<option>RS</option>
<option>RO</option>
<option>RR</option>
<option>SC</option>
<option>SP</option>
<option>SE</option>
<option>TO</option>
</select>";
}
echo "</p>
</fieldset>
<fieldset class='fieldsets_container_checkout_forms'>
<legend>
<h4>Dados de acesso:
</h4>
</legend>
<p class='left-perfil'><label for='c-username'>* Usuário:</label><br/><input type='text' name='Usuario:' maxlength='15' id='c-username' placeholder='Crie seu úsuario' />
</p>
<p class='left-perfil'><label for='c-senha'>* Senha:</label><br/><input type='password' name='Senha:' maxlength='15' id='c-senha' placeholder='Crie uma senha' />
</p>
<p class='repetir-senha'><label for='c-senha-r'>* Confirme a senha:</label><br/><input type='password' name='SenhaConfirmacao:' size='23' maxlength='15' id='c-senha-r' placeholder='Digite a mesma senha' />
<br/><br/>
</p>
<input type='submit' name='NovaConta' value='Cadastrar' class='new_account' />
</fieldset>
</form>";
if($_SERVER['REQUEST_METHOD']=='POST'){
if(isset($_POST['NovaConta'])){
$DataDoCadastro = date('d/m/Y');
if(isset($_POST['Permicao'])){ //Se existir permição caso seja implantado um sistema de permição
$_POST['Permicao'] = $_POST['Permicao'];
}else{
$_POST['Permicao'] = 1;
}
if ($_POST['Senha:'] === $_POST['SenhaConfirmacao:']){
$_POST['Senha:'] = $_POST['Senha:'];
}else{
$_POST['Senha:'] = NULL;
echo '<script type="text/javascript">alert("Senha digitada na confirmação não confere!");</script>';
}
$NovoCliente = array (
'tipodecliente' => $_POST['Tipodecliente:'],
'nome' => $_POST['Nome:'],
'sobrenome' => $_POST['Sobrenome:'],
'email' => $_POST['Email:'],
'telefone' => $_POST['Telefone:'],
'celular' => $_POST['Celular:'],
'RGouIE' => $_POST['RGouIE:'],
'CPFouCNPJ' => $_POST['CPFouCNPJ:'],
'nascimento' => $_POST['Nascimento:'],
'imagem' => $_POST['UserImage:'],
'endereco' => $_POST['Endereco:'],
'bairro' => $_POST['Bairro:'],
'cidade' => $_POST['Cidade:'],
'CEP' => $_POST['CEP:'],
'complemento' => $_POST['Complemento:'],
'estado' => $_POST['Estado:'],
'usuario' => $_POST['Usuario:'],
'password' => $_POST['Senha:'],
'permicoes' => $_POST['Permicao'],
'data' => $DataDoCadastro
);
foreach ($NovoCliente as $key => $value) {
if($value === NULL OR $value == ''){
$NovoCliente = NULL;
}
}
If($NovoCliente != NULL){
$NovaConta = DBCreate('store_client_accounts', $NovoCliente);
if($NovaConta){
echo 'Cadastro efetuado com sucesso!';
}else{
echo 'Erro na entrada do banco de dados entre em contato com o represente da loja para resolver o problema!';
}
}else{
echo 'Cadastro com ausência de dados tente novamente!';
}
var_dump($NovoCliente);
}
}
?>Discussão (0)
Carregando comentários...