Ir para conteúdo
Fórum Script Brasil
  • 0

Erros Notice: Undefined variable e Array to string conversion


emmanuelsiqueira30

Pergunta

Pessoal boa noite.

Estou tentando criar um formulário de cadastro de produtos com foto e existe alguns dropdowns, porém está dando um erro que não estou conseguindo identificar o problema se alguém puder me ajudar fico agradecido.

Untitled.png

 

index.php

<!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>Cadastro de Produto</title>
</head>
 
<body>
<h1>Cadastro de Produto</h1>

<form action="insereproduto.php" method="post" enctype="multipart/form-data" name="cadastro" >

Título:<br />
<input type="text" id="titulo" name="titulo" /><br /><br />
Referência:<br />
<input type="text" id="ref" name="ref" /><br /><br />
Dimensão interior:<br />
<input type="text" name="dimensaoint" /><br /><br />
Dimensão exterior:<br />
<input type="text" name="dimensaoext" /><br /><br />
Material:<br />
<input type="text" name="material" /><br /><br />
Quantidade:<br />
<input type="text" name="qtd" /><br /><br />
Possibilidade de uso:<br />
<input type="text" name="possibilidadeuso" /><br /><br />

Descrição:<br />
<textarea rows="4" cols="20" name="descricao"></textarea><br /><br />

Lançamento:<br />
<select name="lancamento">
    <option value="1">Sim</option>
    <option value="0">Não</option>
</select><br /><br />

Data:<br />
<input type="date" name="data" /><br /><br />

Peso:<br />
<input type="text" name="peso" /><br /><br />

Foto:<br />
<input type="file" name="foto" /><br /><br />

Tipo:<br /> 

<select name="tipo_id">

<?php 
require 'conexao.php';

$query = mysql_query("SELECT id,nome FROM tipo");

while($prod = mysql_fetch_array($query)) { 

?>

    <option value="<?php echo $prod['id'] ?>"><?php echo $prod['nome'] ?></option>

<?php } ?>

</select><br /><br />

Linha:<br /> 

<select name="linha_id">

<?php 
require 'conexao.php';

$query = mysql_query("SELECT id,nome FROM linha");

while($linha = mysql_fetch_array($query)) { 

?>

    <option value="<?php echo $linha['id'] ?>"><?php echo $linha['nome'] ?></option>

<?php } ?>

</select><br /><br />

Formato:<br /> 

<select name="formato_id">

<?php 
require 'conexao.php';

$query = mysql_query("SELECT id,nome FROM formato");

while($formato = mysql_fetch_array($query)) {
?>

    <option value="<?php echo $formato['id'] ?>"><?php echo $formato['nome'] ?></option>

<?php } ?>

</select><br /><br />

<input type="submit" name="cadastrar" value="Cadastrar" />

</form>

</body>

</html>

 

conexao.php

<?php

#estabelecemos conexão com o banco de dados
mysql_connect('localhost','root','') or die(mysql_error());

#seleciona o banco de dados
mysql_select_db('ame') or die(mysql_error());

?>

 

insereproduto.php

<?php
// Conexão com o banco de dados
$conn = @mysql_connect("localhost", "root", "") or die ("Problemas na conexão.");
$db = @mysql_select_db("ame", $conn) or die ("Problemas na conexão do banco de dados");
 
// Se o usuário clicou no botão cadastrar efetua as ações
if ($_POST['cadastrar']) {
	
	// Recupera os dados dos campos
	$titulo = $_POST['titulo'];
	$ref = $_POST['ref'];
	$dimensaoint = $_POST['dimensaoint'];
	$dimensaoext = $_POST['dimensaoext'];
	$material = $_POST['material'];
	$qtd = $_POST['qtd'];
	$possibilidadeuso = $_POST['possibilidadeuso'];
	$descricao = $_POST['descricao'];
	$lancamento = $_POST['lancamento'];
	$peso = $_POST['peso'];
	$data = $_POST['data'];
	$foto = $_FILES["foto"];
	$tipo_id = $_POST["tipo_id"];
	$formato_id = $_POST["formato_id"];
	$linha_id = $_POST["linha_id"];

	// Se a foto estiver sido selecionada
	if (!empty($foto["name"])) {
		
		// Largura máxima em pixels
		$largura = 672;
		// Altura máxima em pixels
		$altura = 700;
		// Tamanho máximo do arquivo em bytes
		$tamanho = 600000;
 
    	// 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) {
		
			// Pega extensão da imagem
			preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);
 
        	// Gera um nome único para a imagem
        	$nome_imagem = md5(uniqid(time())) . "." . $ext[1];
 
        	// Caminho de onde ficará a imagem
        	$caminho_imagem = "fotos/" . $nome_imagem;
 
			// Faz o upload da imagem para seu respectivo caminho
			move_uploaded_file($foto["tmp_name"], $caminho_imagem);
		
			// Insere os dados no banco
			$sql = mysql_query("INSERT INTO produto VALUES ('".$titulo."', '".$ref."', '".$dimensaoint."', '".$dimensaoext."', '".$material."', '".$qtd."', '".$possibilidadeuso."', '".$foto."', '".$descricao."', '".$lancamento."', '".$peso."', '".$data."', '".$foto."', '".$tipo_id."', '".$formato_id."', '".$linha_id."')");
		
			// Se os dados forem inseridos com sucesso
			if ($sql){
				echo "Produto cadastrado com sucesso.";
			}
		}
	
		// Se houver mensagens de erro, exibe-as
		if (count($error) != 0) {
			foreach ($error as $erro) {
				echo $erro . "<br />";
			}
		}
	}
}
?>

 

Editado por emmanuelsiqueira30
Inserção de códigos fonte.
Link para o comentário
Compartilhar em outros sites

8 respostass a esta questão

Posts Recomendados

  • 0

Descrevo esse e outros erros comuns aqui: http://rberaldo.com.br/as-mensagens-de-erros-mais-comuns-do-php/

A solução é só usar isset().

Quanto aos outros erros, é porque você usar um array como string (tentar dar echo em um array, por exemplo). Para exibir o conteúdo de um array, use print_r ou var_dump

Link para o comentário
Compartilhar em outros sites

  • 0

O erro sobre o array foi resolvido Beraldo agradeço pela dica porém agora aparece um erro sobre a linha 78 que é a variável $sql que tem a instrução SQL de inserção:

$sql = mysql_query("INSERT INTO produto VALUES ('".$titulo."', '".$ref."', '".$dimensaoint."', '".$dimensaoext."', '".$material."', '".$qtd."', '".$possibilidadeuso."', '".$foto."', '".$descricao."', '".$lancamento."', '".$peso."', '".$data."', '".$foto."', '".$tipo_id."', '".$formato_id."', '".$linha_id."')");

 

Untitled.png

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...