Jump to content
alexmestre

inserir um novo post

Recommended Posts

alexmestre

Olá boa noite

Estou a realizar um projecto a PAP

em que consiste na criaçao de um site onde o utiilizador é que insere as novidades

a minha questao é o porquê de de nao conseguir verificar se a imagem existe, pois quando clico no botao enviar ele da -me logo a mensagem de sucesso

enquanto que devia dizer que está em falta a imagem

<!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>Registo de filmes</title>
<link href="estilo_registo_filmes.css" rel="stylesheet" type="text/css" />
</head>
<body alink="#0033CC" vlink="#0033CC" link="#0066CC">
<div id="formulario_cadastro">


  <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post" enctype="multipart/form-data">
    <fieldset>
      <legend>Registo de Filmes</legend>
     
<?php

	//conexao com a base de dados 
			$servidor = "***";
			$basedados = "****";
			$utilizador = "****";
			$password = "****";
			$ligacao = mysql_connect($servidor, $utilizador, $password)or die("ERROR: cannot connect"); 
   				mysql_select_db($basedados, $ligacao) or die ("ERRO: CANNOT SELECT DB");

if(isset($_POST['enviar'])){

//criando variaveis e guardando os dados peenchidos no formulario
//titulo do filme
$titulo = strip_tags(trim($_POST['titulo']));
//genero do filme
$genero = strip_tags(trim($_POST['genero']));
//sinopse do filme
$sinopse = strip_tags(trim($_POST['sinopse']));
//ano de lançamento do filme
$ano = $_POST['ano'];
//link para download do filme
$link = strip_tags(trim($_POST['link']));
//apanha a data do post
$data_post = date("d/m/Y");           
$nome = $_POST['nome'];



//o nome original do arquivo no computador do utilizador
$arqName = $_FILES['arquivo']['name'];
//o tipo mime do arquivo 
$arqType = $_FILES['arquivo']['type'];
//o tamanho do arquivo
$arqSize = $_FILES['arquivo']['size'];
//o nome temporario do arquivo com que foi guardado no servidor 
$arqTemp = $_FILES['arquivo']['tmp_name'];
//o codigo de erro associado a este upload de arquivo
$arqError = $_FILES['arquivo']['error'];


		//validacao do formulario
	if(empty($titulo)){
		$retorno = '<span>Por favor insira o titulo!</span>';
	}

	elseif(empty($genero)){
		$retorno = '<span>Por favor insira o genero!</span>';
	}

	elseif(empty($sinopse)){
		$retorno = '<span>Por favor insira a sinopse!</span>';
	}

	elseif(empty($ano)){
		$retorno = '<span>Por favor insira o ano de lançamento!</span>';
	}

	elseif(empty($link)){
		$retorno = '<span>Por favor insira link para o download!</span>';
	}

	elseif(empty($ficheiro)){


			//lista de tipos de arquivos permidos
			$tiposPermitidos = array('image/gif', 'image/jpeg', 'image/jpg', 'image/png');
			//tamanho maximo
			$tamanhoPermitido = 1024 * 500;


				if ($arqError == 0){
					//verifica o tipo de arquivo enviado
					if(array_search($arqType, $tiposPermitidos) === false){
						$retorno = '<span>O tipo de arquivo enviado é invalido!</span>' ;

						//verifica o tamanho do arquivo enviado
					}else if ($arqSize > $tamanhoPermitido){
						$retorno = '<span>o tamanho do arquivo enviado e maior que o limite!</span>';
						//nao houverao erros, move o arquivo
					}else{
						$pasta = 'uploads/';
						//pega a extensao do arquivo enviado
						$extensao = strtolower(end(explode('.',$arqName)));
						//define o nome do arquivo usando um Unix TimesTamp
						$nome = time(). '.' . $extensao;
						//muda os caracteres protegidos do MySql 
						$nomeMySql = mysql_real_escape_string($_POST['titulo']);
						$upload = move_uploaded_file($arqTemp, $pasta . $nome);
						//verifica se o arquivo foi movido com sucesso

							if ($upload === true){
								$ficheiro = $pasta.$nome;
							}else{
								$retorno = '<span>Nao foi possivel fazer o upload da imagem!</span>';
							}
					}
				}
	}else{			
	$retorno = '<span>Insira a imagem!</span>';
	}	


				if(empty($retorno)){

					//cria uma query Mysql
					$sql = "INSERT INTO filmes (titulo, genero, data_post, sinopse, ano, link, imagem) VALUES ('$titulo', '$genero', '$data_post', '$sinopse', '$ano', '$link', '$ficheiro')";

					$query = mysql_query($sql);

						if($query === true){
							$sucesso = '<span>Sua mensagem foi enviada com sucesso!</span>';
							$sucesso = '<span>A pagina ira ser redirecionada em poucos segundos, Obrigado!</span>';
							echo $sucesso;		
						}else{ 

							$retorno = '<span>Nao foi possivel inserir o filme, Tente novamente!</span>';

						}
				}else{
					echo $retorno;
				}
}
?>
      <label> <span>Titulo</span>
        <input type="text" name="titulo" id="titulo" />
      </label>
      <label> <span>Genero</span>
        <input name="genero" id="genero" type="text" />
      </label>
      <label> <span>Sinopse</span>
        <textarea name="sinopse" cols="32" rows="7" id="sinopse"></textarea>
      </label>
      <label> <span>Ano de Lançamento</span>
        <input name="ano" type="text" id="ano" maxlength="4" />
      </label>
      <label> <span>link</span>
        <input type="text" name="link" id="link" width="200" />
        <a href="http://www.4shared.com" target="_blank">Hospede aqui</a> </label>
      <label> <span>Imagem</span>
        <input name="arquivo"  type="file" />
      </label>
      <input type="hidden" name="enviar" value="Enviar" />
      <input type="submit" name="enviar" class="send" />
    </fieldset>
  </form>
</div>
</body>
</html>

Aguardo uma resposta para a minha duvida    😲

Com os melhores cumprimentos

Um abraço Alex

Share this post


Link to post
Share on other sites
fabiomiguel3

Boas.

Antes de mais não deves ficar a espera que as pessoas te respondam mais rapidamente fazendo double posting. Deves usar o forum como uma ajuda não como um serviço.

Tens a certeza que estás a receber a imagem do formulario?

põe isto no teu codigo e vê:

print_r($_FILES);

Lê o manual aqui encontras a solução

http://nl3.php.net/manual/en/features.file-upload.php

Share this post


Link to post
Share on other sites
alexmestre

boas.

sim o sistema funciona

o unico problema e fazer a verificação.

para dar o erro que nao tem nada selecionado

eu no codigo tenho um if para verificar se o titulo foi inserido o genero e por ai adiante

isto com a validaçao do titulo funciona

mas com este else ja nao

                }else{                 

                    $retorno = '<span>Insira a imagem!</span>';

                }

Share this post


Link to post
Share on other sites
fabiomiguel3

Por acaso não estás a espera que faça por ti certo? Já te dei o link com o manual. Agora procura por mensagens de erro. Dentro daquele manual que te dei tens o topico Error Messages Explained. Lê isso

Share this post


Link to post
Share on other sites
alexmestre

Olá yoda obrigado pela ajuda

mas o ja esclareci essa duvida ja a resolvi

mais uma vez obrigado

cumps

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.