alexmestre 0 Posted March 19, 2011 Report Share Posted March 19, 2011 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 Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 Alguem me ajude pff Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 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 Blog Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 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>'; } Link to post Share on other sites
fabiomiguel3 2 Posted March 20, 2011 Report Share Posted March 20, 2011 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 Blog Link to post Share on other sites
yoda 126 Posted March 20, 2011 Report Share Posted March 20, 2011 Vê lá se chegas a declarar esta variável em algum lado. elseif(empty($ficheiro)){ before you post, what have you tried? - http://filipematias.info sense, purpose, direction Link to post Share on other sites
alexmestre 0 Posted March 20, 2011 Author Report Share Posted March 20, 2011 Olá yoda obrigado pela ajuda mas o ja esclareci essa duvida ja a resolvi mais uma vez obrigado cumps Link to post Share on other sites
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now