<!DOCTYPE html>
<html lang="pt-br">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title></title>
<link rel="stylesheet" href="styles.css">
</head>
<body>
<?php
// --- Exemplo de como usar a classe ---
require_once 'html_class.php'; // Incluir a classe FormBuilder
$form = new FormBuilder();
$now = date('Y-m-d H:i:s'); // Example format: 2023-10-27 15:30:00
// Iniciar o formulário com o método startForm
echo $form->startForm('/html/processar.php', 'post', ['id' => 'cadastro', 'class' => 'meu-form']);
// ... (campos nome, email, senha) ...
echo '<div>';
echo $form->label('nome', 'Nome de Usuário:');
echo $form->input('text', 'nome', '', ['id' => 'nome', 'placeholder' => 'Digite seu nome', 'required' => true, 'maxlength' => '50', 'class' => 'form-control']);
echo '</div>';
echo '<div>';
echo $form->label('data_nascimento', 'Data de Nascimento:');
echo $form->dateInput('data_nascimento', '', ['id' => 'data_nascimento', 'required' => true, 'class' => 'form-control']);
echo '</div>';
echo '<div>';
echo $form->label('email', 'Email:', ['class' => 'label-obrigatorio']); // Changed label 'for' and added class for required field
echo $form->input('email', 'email', '', ['id' => 'email','placeholder' => 'Digite seu email', 'required' => true, 'class' => 'form-control']);
echo '</div>';
echo '<div>';
echo $form->label('senha', 'Password:');
echo $form->input('password', 'senha', '', ['id' => 'senha','placeholder' => 'Digite sua senha', 'required' => true, 'class' => 'form-control']);
echo '</div>';
echo '<div>';
echo $form->label('senha_confirmacao', 'Confirmar Password:'); // Changed label 'for'
echo $form->input('password', 'senha_confirmacao', '', ['id' => 'senha_confirmacao','placeholder' => 'Digite novamente sua senha', 'required' => true, 'class' => 'form-control']);
echo '</div>';
echo '<div>';
echo $form->label('pais', 'País:'); // Add a label for the select
// Define the options for the select dropdown
$paises = [
'' => 'Selecione um país...', // Optional placeholder
'BR' => 'Brasil',
'PT' => 'Portugal',
'US' => 'Estados Unidos',
'ES' => 'Espanha'
// Add more countries as needed
];
// Corrected call to the new select method
// Pass the options array ($paises) as the second argument
// Pass the attributes as the fourth argument (in an array)
echo $form->select('pais', $paises, '', ['id' => 'pais', 'required' => true, 'class' => 'form-control']);
echo '</div>';
echo '<div>';
echo $form->label('telefone', 'Telefone:'); // Changed label 'for' to match id
echo $form->input('telefone', 'telefone', '', ['id' => 'telefone','placeholder' => 'Insira telefone', 'required' => true, 'class' => 'form-control']);
echo '</div>';
// ... other fields ... Exemplo com 'form-control' e rows/cols para textarea
echo '<div>';
echo $form->label('mensagem', 'Comentário:'); // Changed label 'for' and text
echo $form->textarea('mensagem', '' , ['id' => 'mensagem', 'placeholder' => 'Digite um comentario', 'class' => 'form-control', 'rows' => 4]); // Changed name and id
echo '</div>';
//O input hidden não precisa de class="form-control" nem de um <div> visível ao redor dele, pois ele não é exibido.
echo '<div>';
// 1. Get the current date and time in a desired format
// 2. Use 'current_datetime' (as a string) for the name
// 3. Pass the $now variable as the value (3rd argument)
// 4. Pass the array as the $attributes (4th argument)
// Changed the name or choose a suitable name)
echo $form->input('hidden', 'data_hora', $now, ['id' => 'hidden_datetime', 'class' => 'form-control']);
echo '</div>';
// --- Rádios ---
echo '<div>';
echo '<p>Sexo:</p>'; // Mantém o título como block
// Adiciona a classe 'radio-group' ao div que contém as opções
echo '<div class="radio-group">';
// Primeira opção (input + label)
echo $form->input('radio', 'sexo', 'masculino', ['id' => 'masculino']);
echo $form->label('masculino', 'Masculino'); // Não precisa mais do espaço inicial
// Segunda opção (input + label)
echo $form->input('radio', 'sexo', 'feminino', ['id' => 'feminino']);
echo $form->label('feminino', 'Feminino');
echo '</div>'; // Fecha o div.radio-group
echo '</div>'; // Fecha o div container geral da seção
// --- Checkboxes (Exemplo: se quisesse na mesma linha, usaria a mesma classe 'radio-group') ---
echo '<div>';
echo '<p>Escolha as linguagens de programação:</p>';
echo '<div>';
// Para checkboxes em linhas separadas
// Aplicar display:inline ao label aqui se necessário, ou usar a classe .radio-group se quiser inline
echo '<div>';
echo $form->input('checkbox', 'opcoes[]', 'cpp', ['id' => 'opcao_cpp']); // Valor e ID únicos
echo $form->label('opcao_cpp', ' C++');
echo '</div>';
echo '<div>';
echo $form->input('checkbox', 'opcoes[]', 'php', ['id' => 'opcao_php']);
echo $form->label('opcao_php', ' PHP');
echo '</div>';
echo '<div>';
echo $form->input('checkbox', 'opcoes[]', 'java', ['id' => 'opcao_java']);
echo $form->label('opcao_java', ' Java');
echo '</div>';
echo '<div>';
echo $form->input('checkbox', 'opcoes[]', 'python', ['id' => 'opcao_python']);
echo $form->label('opcao_python', ' Python');
echo '</div>';
// Botão de envio
echo $form->input('submit', 'enviar', 'Cadastrar', ['class' => 'botao-principal']);
echo $form->endForm();
// --- Campos adicionais ---
/*
echo '<br><br>';
echo $form->label('quantidade', 'Quantidade:');
echo $form->numberInput('quantidade', '1', ['id' => 'quantidade', 'min' => '1', 'max' => '10', 'class' => 'form-control']); // step="any" será adicionado automaticamente
echo $form->label('telefone_contato', 'Telefone:');
echo $form->telInput('telefone_contato', '', ['id' => 'telefone_contato', 'pattern' => '[0-9]{9,15}', 'class' => 'form-control']); // Usará o placeholder padrão se não for definido outro
*/
?>
</body>
</html>
|