Cadastro de veículo com imagem com uso de PHP e banco de dados.

26/12/2019

7

Boa tarde, estou iniciando em php e MySQL, no caso estou utilizando MariaDB.
Estou tentando desenvolver um sistema para o cadastro de um veículo (com foto).
Acabou que gerei meus scripts, porém só retorna a mensagem de "Falha ao enviar arquivo.".
Alguém pode me ajudar?
<?php
	
	include("classe/conexao.php");
	$marca = isset( $_POST [''marca'']) ? $_POST[''marca'']:null;
	$modelo = isset( $_POST [''modelo'']) ? $_POST[''modelo'']:null;
	$ano = isset( $_POST [''ano'']) ? $_POST[''ano'']:null;
    $msg = false;
  if(isset($_FILES[''arquivo''])){
    $extensao = strtolower(substr($_FILES[''arquivo''][''name''], -4)); //pega a extensao do arquivo
    $novo_nome = md5(time()) . $extensao; //define o nome do arquivo
    $diretorio = "upload/"; //define o diretorio para onde enviaremos o arquivo
    move_uploaded_file($_FILES[''arquivo''][''tmp_name''], $diretorio.$novo_nome); //efetua o upload
	
    $sql_code = "INSERT INTO veiculos (id, marca, modelo, ano, arquivo, data) VALUES(default, ''$marca'', ''$modelo'', ''$ano'', ''$novo_nome'', NOW())";
    if($mysqli->query($sql_code))
      $msg = "Arquivo enviado com sucesso!";
    else
      $msg = "Falha ao enviar arquivo.";
  }
	 ?>
     <html>
<title>Cadastro de veículos</title>
<body>
<?php if(isset($msg) && $msg != false) echo "<p> $msg </p>"; ?>
<form action="index.php" method="POST" enctype="multipart/form-data">
	Marca: <input name="marca" type="text">
    Modelo: <input name="modelo" type="text">
   	Ano: <input name="ano" type="text">
    Arquivo: <input type="file" required name="arquivo">
    <input type="submit" value="Cadastrar">
</form>
    </body>
   </html>
 

DROP TABLE IF EXISTS `veiculos`;
CREATE TABLE IF NOT EXISTS `veiculos` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `marca` text NOT NULL,
  `modelo` text NOT NULL,
  `ano` date NOT NULL,
  `arquivo` varchar(40) NOT NULL,
  `data` datetime NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
COMMIT;
 
Gustavo Moraes

Gustavo Moraes

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários,
consulte nossa política de privacidade.

Aceitar