First 1 Denunciar post Postado Abril 28, 2014 Alguém me ajuda a resolver este erro por favor? IMAGEM DO ERRO 1 IMAGEM DO ERRO 2 Vou deixar os códigos aqui CÓDIGO: index.php <?php session_start(); include_once "config.php"; require_once('classes/BD.class.php'); BD::conn; ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset="utf-8" /> <title>Entre no chat</title> <style type="text/css"> *{margin:0; padding:0;} body{background:#f4f4f4;} div#formulario{width:500px; padding:5px; height:100px; background:#fff; border: 1px solid #333; position:absolute; left:50%; top:50%; ; margin-top:-50px;} div#formulario span{font: 18px "Trebuchet MS", tahoma, arial; color:#036; float:left; width:100%; margin-bottom:10px;} div#formulario input[type=text]{padding:5px; width:485px; border: 1px solid #ccc; outline:none; font:16px tahoma, arial; color: #666;} div#formulario input[type=text]:focus{border-color:#036;} div#formulario input[type=submit]{padding:4px 6px; background:#069; font:15px tahoma, arial; color:#fff; border:1px solid #036; float:left; margin-top:5px; text-align:center; width:95px; text-shadow:#000 0 1px 0;} div#formulario input[type=submit]:hover{cursor:pointer; background:#09f;} </style> </head> <body> <?php if(isset($_POST['acao']) && $_POST['acao'] == 'logar'); $email = strip_tags(filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING)); if($email == ''){}else{ $pegar_user = BD::conn()->prepare("SELECT id FROM `usuarios` WHERE email = ?"); $pegar_user->execute(array($email)); if($pegar_user->rowCount() == 0){ echo '<script>alert("Usuário não encontrado")</script>'; }else{ $fetch = $pegar_user->fetchObject(); $_SESSION['id_user'] = $fetch->id; echo '<script>alert("Login efetuado");location.href="chat.php"</script>'; } } endif; ?> <div id="formulario"> <span>Digite o seu e-mail</span> <form action="" method="post" enctype="multipart/form-data"> <label> <input type="text" name="email" /> </label> <input type="hidden" name="acao" value="logar" /> <input type="submit" value="Logar" /> </form> </div> </body> </html> CÓDIGO: BD.class.php <?php class BD{ private static $conn; public function __construct(){} public function conn(){ if(is_null(self::$conn)){ self::$conn = new PDO('mysql:host='.HOST.';bdname='.BD.'', ''.USER.'', ''.PASS.''); } return self::$conn; } } ?> Alguém me ajude a corrigir estes erros por favor Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Santos_171012 1 Denunciar post Postado Abril 28, 2014 amigo, na linha 43 tem uma endif; exclua ela, ela está causando erro. e tambem exclua isso na linha 5 BD::conn; Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Excluir e não esta querendo conectar Ajuda ai Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Santos_171012 1 Denunciar post Postado Abril 28, 2014 você esta utilizando pdo para se conectar? Compartilhar este post Link para o post Compartilhar em outros sites
Evandro Oliveira 331 Denunciar post Postado Abril 28, 2014 ao final dos IF's, você colocou ponto-e-vírgula. Troque para dois pontos. Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Abril 28, 2014 Altere public function conn(){ para public static function conn(){ Veja os exemplos do manual http://www.php.net/manual/pt_BR/control-structures.elseif.php#Hcom71982 Sobre o if com sintaxe alternativa, leia http://php.net/manual/pt_BR/language.oop5.paamayim-nekudotayim.php Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Daniel Santos_171012 Sim, estou usando PDO na BD.class.php. Evandro Oliveira Não resultou. Marcos Xavier Também não resultou, continuo dando o mesmo erro. PS: o erro da endif eu arrumei era só alterar para T_ENDIF; Compartilhar este post Link para o post Compartilhar em outros sites
Daniel Santos_171012 1 Denunciar post Postado Abril 28, 2014 esta tudo resolvido? Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Não, está faltando arrumar este erro que não consigo arrumar de jeito nenhum. Alguém me ajude por favor Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Abril 28, 2014 Erro bobo. Altere: BD::conn; //para BD::conn(); Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Marcos eu tentei isso e deu erro :/ Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Abril 28, 2014 Verifica se o seu método está como static public static function conn(){ O formato do seu código ficará assim: <?php class BD{ private static $conn="conn ok"; public function __construct(){} public static function conn(){ if(is_null(self::$conn)){ self::$conn ="ok"; } return self::$conn; } } echo BD::conn(); ?> Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Pow valeu Marcos, erro sumiu mais quando eu digito um e-mail que esta cadastrado no banco de dados da erro usuário não encontrado tem como ajudar? Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Abril 28, 2014 No seu arquivo de conexão você colocou bdname ao invés de dbname, verifique se é esse o motivo do erro. self::$conn = new PDO('mysql:host='.HOST.';dbname='.BD.'', ''.USER.'', ''.PASS.'') Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Marcos troquei para bdname e não resultou ajuda ai? Compartilhar este post Link para o post Compartilhar em outros sites
Marcos Xavier 189 Denunciar post Postado Abril 28, 2014 O correto é dbname Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 28, 2014 Mesmo erro me ajude por favor Compartilhar este post Link para o post Compartilhar em outros sites
paulinhosupriano 103 Denunciar post Postado Abril 28, 2014 BD.class.php - local: classes/BD.class.php <?php class BD{ private static $conn; public static function conn(){ if(is_null(self::$conn)){ self::$conn = new PDO('mysql:host='.HOST.';bdname='.DBSA.'', ''.USER.'', ''.PASS.''); ?> } return self::$conn; } } ?> Config.php local: / - sua Raiz <?php define('HOST','localhost'); define('USER','root'); define('PASS',''); define('DBSA','test'); ?> index.php local: / - sua Raiz <?php session_start(); include_once "config.php"; require_once('classes/BD.class.php'); BD::conn(); ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8" /> <title>Entre no chat</title> <style type="text/css"> *{margin:0; padding:0;} body{background:#f4f4f4;} div#formulario{width:500px; padding:5px; height:100px; background:#fff; border: 1px solid #333; position:absolute; left:50%; top:50%; ; margin-top:-50px;} div#formulario span{font: 18px "Trebuchet MS", tahoma, arial; color:#036; float:left; width:100%; margin-bottom:10px;} div#formulario input[type=text]{padding:5px; width:485px; border: 1px solid #ccc; outline:none; font:16px tahoma, arial; color: #666;} div#formulario input[type=text]:focus{border-color:#036;} div#formulario input[type=submit]{padding:4px 6px; background:#069; font:15px tahoma, arial; color:#fff; border:1px solid #036; float:left; margin-top:5px; text-align:center; width:95px; text-shadow:#000 0 1px 0;} div#formulario input[type=submit]:hover{cursor:pointer; background:#09f;} </style> </head> <body> <?php if(isset($_POST['acao']) && $_POST['acao'] == 'logar'): $email = strip_tags(filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING)); if($email == ''){ } else{ $pegar_user = BD::conn()->prepare("SELECT id FROM `usuarios` WHERE email = ?"); $pegar_user->execute(array($email)); if($pegar_user->rowCount() == 0){ echo '<script>alert("Usuário não encontrado")</script>'; }else{ $fetch = $pegar_user->fetchObject(); $_SESSION['id_user'] = $fetch->id; echo '<script>alert("Login efetuado");location.href="chat.php"</script>'; } } endif; ?> <div id="formulario"> <span>Digite o seu e-mail</span> <form action="" method="post" enctype="multipart/form-data"> <label> <input type="text" name="email" /> </label> <input type="hidden" name="acao" value="logar" /> <input type="submit" value="Logar" /> </form> </div> </body> </html> Compartilhar este post Link para o post Compartilhar em outros sites
First 1 Denunciar post Postado Abril 29, 2014 Mesmo erro alguém me ajude? Compartilhar este post Link para o post Compartilhar em outros sites