Não cadastra no Banco de dados (PDO)
Estou tentando fazer o formulario de cadastro cadastrar o banco de dados, mas está dando erro:
Index.php
<?php
session_start();
require_once "classes/conexao.php";
require_once "classes/login.php";
if(isset($_POST['ok'])):
$login = filter_input(INPUT_POST, "login", FILTER_SANITIZE_MAGIC_QUOTES);
$senha = filter_input(INPUT_POST, "senha", FILTER_SANITIZE_MAGIC_QUOTES);
$l = new login;
$l->setLogin($login);
$l->setSenha($senha);
if($l->logar()):
header("Location: plataforma.php");
else:
$erro = "<script type='text/javascript'> alert('Erro ao logar, tente novamente.');</script>";
endif;
endif;
?><!DOCTYPE html>
<html lang="pt-br">
<head>
<title>Pro IG - Sistema de gerenciamento e controle de Indio Gigante</title>
<meta charset="UTF-8">
<link rel="stylesheet" type="text/css" href="css/estilo.css"/>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
</head>
<body>
<div id="wrapper">
<div id="acesso">
<div id="login">
<div id="logoInicial"><img src="img/logo.png"/></div>
<h1 class="tituloTxt">Acessar Plataforma</h1>
<form action="" method="POST" enctype="multipart/form-data" id="form_login">
<input type="text" name="login" id="input_login" class="inputInicial"/>
<input type="password" name="senha" id="input_senha" class="inputInicial2"/>
<input type="submit" value="Entrar" class="btnInicial"/>
<input type="hidden" name="ok" id="bt_logar" value="logar" />
</form>
<?php
echo isset($erro) ? $erro: '';
?>
</div>
<div id="formulario">
<div id="topoCadastro">
<h2>CADASTRE SUA EMPRESA!</h2>
<h3>Não vendemos anuncios, oferecemos soluções!</h3>
</div>
<form action="classes/usuario.php" method="post" enctype="multipart/form-data">
<input type="text" name="nome" id="nome" class="inputFormulario" placeholder="Seu nome"/>
<input type="text" name="empresa" id="empresa" class="inputFormulario2" placeholder="Sua empresa"/>
<input type="text" name="email" id="email" class="inputFormulario3" placeholder="email"/>
<input type="text" name="usuario" id="usuario" class="inputFormulario3" placeholder="login"/>
<input type="text" name="senha" id="senha" class="inputFormulario3" placeholder="senha"/>
<input type="submit" value="cadastrar" name="cadastrar" class="btnFormulario"/>
</form>
<div id="termo">
Ao clicar em cadastrar você está ciente de todos os <a href="#">termos</a> do site.
</div>
</div>
</div>
</div>
<div id="rodape">
MidiaCloud © 2016
</div>
</body>
</html>
classe conexao.php
<?php
abstract class conexao{
const USER = "midiacloud";
const PASS = "padrao2016@";
private static $instance = null;
private static function conectar(){
try{
if (self::$instance == null):
$dsn = "mysql:host=localhost;dbname=midiacloud";
self::$instance = new PDO($dsn, self::USER, self::PASS);
self::$instance->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
endif;}catch (PDOException $e){
echo "Erro: " . $e->getMessage();
}
return self::$instance;
}
protected static function getDB(){
return self::conectar();
}
}
classe usuario.php
<?php
include("../classes/conexao.php");
$nome = $_POST['nome'];
$empresa = $_POST['empresa'];
$email = $_POST['email'];
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$cadastro = $dsn->prepare('INSERT INTO usuarios(nome,empresa,email,usuario,senha) VALUES(:nome,:empresa,:email,:usuario,:senha)');
$cadastro->bindParam(':nome',$nome);
$cadastro->bindParam(':empresa',$empresa);
$cadastro->bindParam(':email',$email);
$cadastro->bindParam(':usuario',$usuario);
$cadastro->bindParam(':senha',$senha);
$result = $cadastro->execute();
if ( ! $result )
{
var_dump( $cadastro->errorInfo() );
exit;
}
else {echo "Cadastrado com sucesso";}
?>
erro que ta retornando:
Notice: Undefined variable: dsn in C:\wamp\www\midiacloud\classes\usuario.php on line 10
Fatal error: Call to a member function prepare() on a non-object in C:\wamp\www\midiacloud\classes\usuario.php on line 10
Discussão (5)
Carregando comentários...