Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Annyh

[Resolvido] erro mesmo estando tudo certo PDO

Recommended Posts

to rodando este script de login com session, e esta retornando esta mensagem de erro:

Notice: Constant HOST already defined in C:\wamp\www\autentica_usu\config\config.php on line 7

 

a linha 7 do meu script é:

define('HOST', 'localhost');

 

meu script config é:

<?php
// configura as datas para o idioma portugues do Brasil
setlocale(LC_ALL, "pt_BR", "pt_BR.iso-8859-1", "pt_BR.utf-8", "portuguese");
date_default_timezone_set('America/Sao_Paulo');

// configurações do banco de dados
define('HOST', 'localhost');
define('USER', 'root');
define('SENHA', '');
define('BD', 'exercicios');

$conex = 'mysql:host='.HOST.';dbname='.BD;

try {
$conecta = new PDO($conex, USER, SENHA);
$conecta->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);	
} catch (PDOException $erroCon){	
echo 'Erro ao conectar<br />'. $erroCon->getMessage();
}
?>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qual outro script você estava rodando qndo viu esse erro ?

Compartilhar este post


Link para o post
Compartilhar em outros sites

na url ficou

localhost/config.php ?

poste o arquivo da URL onde você observou o erro.

 

não tem erro nesse script. O erro provavelmente está no arquivo que utiliza esse.

Compartilhar este post


Link para o post
Compartilhar em outros sites

na index tem um menu que tem uma opção para cadastrar usuario, ai clico lá aparece o formulário, e quando mando enviar o formulário sem ter preenchido nada ele mostra este erro horroroso.

 

<?php require 'topo.php'; ?>
	<?php
		if($nivelSession != 1){
			header('Location: index.php');
		} else { 
		if(isset($_POST['cadUsu'])) { 
			$nomeUsuario = $_POST['nomeUsuario'];
				$usuUsuario = $_POST['usuUsuario']; 
			$senhaUsuario = $_POST['senhaUsuario']; 
			$nivelUsuario = $_POST['nivelUsuario'];  
			require 'config/config.php';  	
		$sqlVerUsuario = 'SELECT 		
						usuario 
								FROM usuario 
								WHERE 	
							usuario = :usuario';  
			try { 	
			$qrVerUsuario = $conecta->prepare($sqlVerUsuario); 
				$qrVerUsuario->bindValue(':usuario', $usuUsuario, PDO::PARAM_STR); 					$qrVerUsuario->execute();
 					$contaVerUsuario = $qrVerUsuario->rowCount(); 
				} catch (PDOException $erroVer) {
					echo 'Erro ao verificar usuário<br />',$erroVer->getMessage(); 				}  				if ($contaVerUsuario >= 1) { 
				$resp = 'Este usuário <strong>'.$usuUsuario.'</strong> já esta sendo usado, tente outro!'; 				} elseif(empty($nomeUsuario)){ 
				$resp = 'Preencha o campo nome!';
				} elseif(empty($usuUsuario)){ 
				$resp = 'Preencha o campo usuário!'; 
			} elseif(empty($senhaUsuario)){ 
				$resp = 'Preencha o campo senha!'; 
			} elseif(empty($nivelUsuario)){ 
				$resp = 'Selecione o nível do usuário!'; 
			} else { 	
			$sqlCadUsuario = 'INSERT INTO usuario									(nome, usuario, senha, nivel) 
									VALUES 										(:nome, :usuario, md5(:senha), :nivel)';  	
			try { 		
			$qrCadUsuario = $conecta->prepare($sqlCadUsuario); 
					$qrCadUsuario->bindValue(':nome', $nomeUsuario, PDO::PARAM_STR); 
					$qrCadUsuario->bindValue(':usuario', $usuUsuario, PDO::PARAM_STR); 
					$qrCadUsuario->bindValue(':senha', $senhaUsuario, PDO::PARAM_STR); 
					$qrCadUsuario->bindValue(':nivel', $nivelUsuario, PDO::PARAM_INT); 
					$qrCadUsuario->execute(); 
						$contaCadUsuario = $qrCadUsuario->rowCount(); 
					} catch (PDOException $erroCad) { 	
				echo 'Erro ao cadastrar usuário<br />',$erroCad->getMessage(); 
				}
 					if($contaCadUsuario >= 1){ 
					$resp = 'Usuário <strong> '.$usuUsuario.' </strong> cadastrado com sucesso!'; 						header('Location: cadUsuario.php?resp=Usuário+<strong>+'.$usuUsuario.'+</strong>+cadastrado+com+sucesso!'); 
				} else { 
					$resp = 'Houve um erro ao cadastrar o usuário <strong> '.$usuUsuario.'</strong>, tente novamente!';
					}
				}
			}
		} 
?> 
	<?php
		if(isset($resp)){
			echo '<div class="alerta">'.$resp.'</div>';
		} elseif(isset($_GET['resp'])){
			echo '<div class="alerta">'.$_GET['resp'].'</div>'; 
	}
	?> 
	<form action="" method="post" enctype="multipart/form-data"> 
	<fieldset> 			<legend>Cadastro de Usuário</legend> 			<label> 				<span>Nome</span> 				<input type="text" name="nomeUsuario" value="<?php if(isset($nomeUsuario)) {echo $nomeUsuario;} ?>"> 			</label> 			<label> 				<span>Usuário</span> 				<input type="text" name="usuUsuario" value="<?php if(isset($usuUsuario)) {echo $usuUsuario;} ?>"> 			</label> 			<label> 				<span>Senha</span> 				<input type="password" name="senhaUsuario" value="<?php if(isset($senhaUsuario)) {echo $senhaUsuario;} ?>"> 			</label> 			<label> 				<span>Nível</span> 				<select name="nivelUsuario"> 					<option value="0">Selecione o nível de acesso do usuário</option> 					<?php 						require 'config/config.php';  						$sqlNivel = 'SELECT	* FROM nivel';  						try { 							$qrNivel = $conecta->prepare($sqlNivel); 							$qrNivel->execute();  							$resNivel = $qrNivel->fetchAll(PDO::FETCH_NUM); 							$contaNivel = $qrNivel->rowCount();  						} catch(PDOException $erroNivel){ 							echo 'Erro no nível<br />',$erroNivel->getMessage(); 						}  						if($contaNivel > 1){ 							foreach($resNivel as $res){ 								$idNivel = $res[0]; 								$nivel = $res[1];  								echo '<option value="'.$idNivel.'">'.ucfirst($nivel).'</option>'; 							} 						} 					?> 				</select> 			</label> 			<button name="cadUsu">Cadastrar</button> 		</fieldset> 	</form> </body> </html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

tenta isso:

 

if( ! defined('HOST')) {

define('HOST', 'localhost');

}

 

o erro ta falando que a constante ja está definida.

provavelmente você está inserindo o arquivo em mais de um lugar ou de alguma forma definindo essa constante mais de uma vez.

Compartilhar este post


Link para o post
Compartilhar em outros sites

eu só chamo a conexão para validar usuários, para não cadastrar dois usuários iguais, e também para verificar se já esta cadastrado caso tente fazer o login... mas antes funcionava direitinho..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Poste o conteudo do arquivo:

<?php require 'topo.php'; ?>

 

esqueça essa de 'antes funcionava'. O problema é que antes o teu ambiente estava mal configurado, e estava escondendo o erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

achei o problema, estava chamando mais de uma vez o script de configuração, por isso estava dando erro, na pagina topo já fazia a chamada, e na cadastraUsuario também chamava novamente...

 

 

obrigada pela ajuda, pode fechar o tópico.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.