Obrigado Gabriel segue:
html:
<?php require_once ("cabecalho.php"); ?>
<body>
<div class="image-container set-full-height" style="background-image: url('assets/img/presente.jfif')">
<!--verifica email -->
<!-- Big container -->
<div class="container">
<div class="row">
<div class="col-sm-8 col-sm-offset-2">
<!-- Wizard container -->
<div class="wizard-container">
<div class="card wizard-card" data-color="purple" id="wizardProfile">
<form action="adiciona-casal.php" method="post" enctype="multipart/form-data">
<!-- You can switch " data-color="purple" " with one of the next bright colors: "green", "orange", "red", "blue" -->
<div class="wizard-header">
<h3 class="wizard-title">
Preencha o Cadastro
</h3>
<h5>Informacoes sobre o Casal.</h5>
</div>
<div class="wizard-navigation">
<ul>
<li><a href="#about" data-toggle="tab">Sobre Voces</a></li>
<li><a href="#account" data-toggle="tab">Contato</a></li>
<li><a href="#address" data-toggle="tab">Endereco do Casal</a></li>
</ul>
</div>
<div class="tab-content">
<div class="tab-pane" id="about">
<div class="row">
<h4 class="info-text"> Estes sao os seus dados</h4>
<div class="col-sm-4 col-sm-offset-1">
<div class="picture-container">
<div class="picture">
<img src="assets/img/default-avatar.png" class="picture-src" id="wizardPicturePreview" title=""/>
<input type="file" name="foto" id="wizard-picture" value="foto" >
</div>
<h6>Escolha a foto do Casal</h6>
</div>
</div>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-addon">
<i class="material-icons">face</i>
</span>
<div class="form-group label-floating">
<label class="control-label">Primeiro Nome</label>
<input name="nome1" type="text" class="form-control" required="true">
</div>
</div>
<div class="input-group">
<span class="input-group-addon">
<i class="material-icons">record_voice_over</i>
</span>
<div class="form-group label-floating">
<label class="control-label">Ultimo Nome</label>
<input name="sobrenome1" type="text" class="form-control" required="true">
</div>
</div>
</div>
<div class="col-sm-10 col-sm-offset-1">
<div class="input-group">
<span class="input-group-addon">
<i class="material-icons">email</i>
</span>
<div class="form-group label-floating">
<label class="control-label">Email <small>(obrigatorio)</small></label>
<input name="email" type="email" class="form-control">
</div>
</div>
</div>
</div>
</div>
<div class="tab-pane" id="account">
<div class="row">
<h4 class="info-text"> Aqui vao os dados dele ou dela</h4>
<div class="col-sm-4 col-sm-offset-1">
</div>
<div class="col-sm-6">
<div class="input-group">
<span class="input-group-addon">
<i class="material-icons">face</i>
</span>
<div class="form-group label-floating">
<label class="control-label">Primeiro Nome</label>
<input name="nome2" type="text" class="form-control" required="true">
</div>
</div>
<div class="input-group">
<span class="input-group-addon">
<i class="material-icons">record_voice_over</i>
</span>
<div class="form-group label-floating">
<label class="control-label">Ultimo Nome</label>
<input name="sobrenome2" type="text" class="form-control" required="true">
</div>
</div>
</div>
<div class="col-sm-10 col-sm-offset-1">
<div class="input-group">
<span class="input-group-addon">
<i class="material-icons">phone</i>
</span>
<div class="form-group label-floating">
<label class="control-label">Telefone do Casal<small>(com DDD)</small></label>
<input name="telefone" type="text" class="form-control" required="true">
</div>
</div>
</div>
<div class="col-sm-10 col-sm-offset-1">
<div class="input-group">
</div>
</div>
</div>
</div>
<div class="tab-pane" id="address">
<div class="row">
<div class="col-sm-12">
<h4 class="info-text"> Endereco do Casal </h4>
</div>
<div class="col-sm-7 col-sm-offset-1">
<div class="form-group label-floating">
<label class="control-label">Rua</label>
<input name="rua" type="text" class="form-control" required="true">
</div>
</div>
<div class="col-sm-3">
<div class="form-group label-floating">
<label class="control-label">Numero</label>
<input name="numero" type="text" class="form-control" required="true">
</div>
</div>
<div class="col-sm-5 col-sm-offset-1">
<div class="form-group label-floating">
<label class="control-label">Cep</label>
<input name="cep" type="text" class="form-control" required="true">
</div>
</div>
<div class="col-sm-5 col-sm-offset-1">
<div class="form-group label-floating">
<label class="control-label">Cidade</label>
<input name="cidade" type="text" class="form-control" required="true">
</div>
</div>
<input type="hidden" name="senha" value="senhabase">
</div>
</div>
</div>
<div class="wizard-footer">
<div class="pull-right">
<input type='button' class='btn btn-next btn-fill btn-success btn-wd' name='next' value='Proximo' />
<input type='submit' class='btn btn-finish btn-fill btn-success btn-wd' name='finish' value='Finalizar' />
</div>
<div class="pull-left">
<input type='button' class='btn btn-previous btn-fill btn-default btn-wd' name='previous' value='Anterior' />
</div>
<div class="clearfix"></div>
</div>
</form>
</div>
</div> <!-- wizard container -->
</div>
</div><!-- end row -->
</div> <!-- big container -->
<div class="footer">
<div class="container text-center">
Feito com <i class="fa fa-heart heart"></i> by <a href="http://www.tecnologiams.com.br">tecnologiaMS</a>
</div>
</div>
</div>
</body>
<!-- Core JS Files -->
<script src="assets/js/jquery-2.2.4.min.js" type="text/javascript"></script>
<script src="assets/js/bootstrap.min.js" type="text/javascript"></script>
<script src="assets/js/jquery.bootstrap.js" type="text/javascript"></script>
<!-- Plugin for the Wizard -->
<script src="assets/js/material-bootstrap-wizard.js"></script>
<!-- More information about jquery.validate here: http://jqueryvalidation.org/ -->
<script src="assets/js/jquery.validate.min.js"></script>
</html>
adiciona-casal
<?php require_once ("conecta.php");?>
<?php require_once ("noivosDAO.php");?>
<?php require_once ("noivos.php");?>
<?php
$noivo = new Noivo();
$noivo->setNome1($_POST["nome1"]) ;
$noivo->setSobrenome1($_POST["sobrenome1"]);
$noivo->setEmail($_POST["email"]);
$noivo->setNome2($_POST["nome2"]);
$noivo->setSobrenome2($_POST["sobrenome2"]);
$noivo->setTelefone($_POST["telefone"]);
$noivo->setRua($_POST["rua"]);
$noivo->setNumero($_POST["numero"]);
$noivo->setCep($_POST["cep"]);
$noivo->setCidade($_POST["cidade"]);
$noivo->setSenha();
$nome_imagem = $noivo->setFoto( $_FILES["foto"]);
$dao = new noivosDAO($conexao);
if ($dao->insereNoivos($noivo, $nome_imagem)) {
?>
<!--<script language="JavaScript">
window.location="escolha-noivos.php";
</script>
<php
}else{
$msg = mysqli_error($conexao);
echo ($msg);
?>
<p class="text-danger">O Casal <?= $nome1; ?> não foi adicionado, por favor volte a pagina de cadastro e verifique o erro.</p>
<a href="cadastro-noivos.php" button type="button" class="btn btn-info btn-fill btn-l">Voltar <i class="fa fa-chevron-right"></i></button></a>
<?php
}
?>-->
classe noivos
<?php
class Noivo
{
private $id;
private $nome1;
private $sobrenome1;
private $email;
private $nome2;
private $sobrenome2;
private $telefone;
private $rua;
private $numero;
private $cep;
private $cidade;
private $senha;
private $foto;
public function getId()
{
return $this->id;
}
public function setId($id)
{
$this->id = $id;
}
public function getNome1()
{
return $this->nome1;
}
public function setNome1($nome1)
{
$this->nome1 = $nome1;
}
public function getSobrenome1()
{
return $this->sobrenome1;
}
public function setSobrenome1($sobrenome1)
{
$this->sobrenome1 = $sobrenome1;
}
public function getEmail()
{
return $this->email;
}
public function setEmail($email)
{
$this->email = $email;
}
public function getNome2()
{
return $this->nome2;
}
public function setNome2($nome2)
{
$this->nome2 = $nome2;
}
public function getSobrenome2()
{
return $this->sobrenome2;
}
public function setSobrenome2($sobrenome2)
{
$this->sobrenome2 = $sobrenome2;
}
public function getTelefone()
{
return $this->telefone;
}
public function setTelefone($telefone)
{
$this->telefone = $telefone;
}
public function getRua()
{
return $this->rua;
}
public function setRua($rua)
{
$this->rua = $rua;
}
public function getNumero()
{
return $this->numero;
}
public function setNumero($numero)
{
$this->numero = $numero;
}
public function getCep()
{
return $this->cep;
}
public function setCep($cep)
{
$this->cep = $cep;
}
public function getCidade()
{
return $this->cidade;
}
public function setCidade($cidade)
{
$this->cidade = $cidade;
}
public function getSenha()
{
return $this->senha;
}
public function setSenha($tamanho = 8, $maiusculas = true, $numeros = true, $simbolos
= false)
{
$senha_base = date('ymhs');
// Caracteres de cada tipo
$lmin = 'abcdefghijkmnpqrstuvwxyz';
$lmai = 'ABCDEFGHJKLMNPQRSTUVWXYZ';
$num = '1234567890';
$simb = '!@#$%*-';
// Variáveis internas
$retorno = '';
$caracteres = $senha_base;
// Agrupamos todos os caracteres que poderão ser utilizados
$caracteres .= $lmin;
if ($maiusculas) $caracteres .= $lmai;
if ($numeros) $caracteres .= $num;
if ($simbolos) $caracteres .= $simb;
// Calculamos o total de caracteres possíveis
$len = strlen($caracteres);
for ($n = 1; $n <= $tamanho; $n++) {
// Criamos um número aleatório de 1 até $len para pegar um dos caracteres
$rand = mt_rand(1, $len);
// Concatenamos um dos caracteres na variável $retorno
$retorno .= $caracteres[$rand-1];
}
return $retorno;
}
public function getFoto()
{
return $this->foto;
}
public function carregaCaminhoFoto($foto) {
$this->foto = $foto;
}
public function gerarNovoNome( $nomeAntigo )
{
// Pega extensão da imagem
preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $nomeAntigo, $ext);
// Gera um nome único para a imagem
$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
return $nome_imagem;
}
public function setFoto($foto)
{
// esta variavel precisa existir, mesmo que vazia
$nome_imagem = null;
// armazena erros se houver
$error = array();
// Se a foto estiver sido selecionada
if (!empty($foto["name"]))
{
// Largura máxima em pixels
$largura = 2000;
// Altura máxima em pixels
$altura = 2000;
// Tamanho máximo do arquivo em bytes
$tamanho = 1000000;
// Verifica se o arquivo é uma imagem
if(!preg_match("/^image\/(pjpeg|jpeg|png|gif|bmp)$/", $foto["type"]))
{
$error[1] = "Isso não é uma imagem.";
}
// Pega as dimensões da imagem
$dimensoes = getimagesize($foto["tmp_name"]);
// Verifica se a largura da imagem é maior que a largura permitida
if($dimensoes[0] > $largura)
{
$error[2] = "A largura da imagem não deve ultrapassar ".$largura." pixels";
}
// Verifica se a altura da imagem é maior que a altura permitida
if($dimensoes[1] > $altura)
{
$error[3] = "Altura da imagem não deve ultrapassar ".$altura." pixels";
}
// Verifica se o tamanho da imagem é maior que o tamanho permitido
if($foto["size"] > $tamanho)
{
$error[4] = "A imagem deve ter no máximo ".$tamanho." bytes";
}
// Se não houver nenhum erro
if (count($error) == 0)
{
$nome_imagem = $this->gerarNovoNome($foto["name"]);
// caso o diretório não exista
if( !is_dir("fotos") )
mkdir("fotos", "0777", true);
// Caminho de onde ficará a imagem
$caminho_imagem = "fotos" . DIRECTORY_SEPARATOR . $nome_imagem;
// Faz o upload da imagem para seu respectivo caminho
move_uploaded_file($foto["tmp_name"], $caminho_imagem);
$this->foto = $foto;
}
else
{
echo "<pre>";
echo "Opa!, foto com os seguintes problemas: <br>";
echo implode("<br>", $error);
echo ("");
exit;
}
return $nome_imagem;
}
}
}
noivosDAO
<?php
class NoivosDAO
{
private $conexao;
function __construct($conexao){
$this->conexao = $conexao;
}
function insereNoivos ($noivos, $nome_imagem) {
$query = "insert into noivos (nome1, sobrenome1, email, nome2, sobrenome2,
telefone , rua, numero, cep, cidade, senha, foto) values ('{$noivos->getNome1()}', '{$noivos->getSobrenome1()}', '{$noivos->getEmail()}', '{$noivos->getNome2()}','{$noivos->getSobrenome2()}', {$noivos->getTelefone()}, '{$noivos->getRua()}', '{$noivos->getNumero()}', '{$noivos->getCep()}', '{$noivos->getCidade()}', '{$noivos->getSenha()}', '" .$nome_imagem. "')";
echo ($query);
return mysqli_query($this->conexao, $query);
}