Bom, o meu problema é o seguinte: eu fiz um scriptizinho de inserção de dados no banco de dados usando php e mysql, e nesse meio está o envio de uma imagem que vai para uma pasta e o caminho dela para o banco de dados. Depois que fiz essa implementação o script parou de mostrar a mensagem de erro caso algum campo não fosse preenchido, a questão é que eu fiz a validação da imagem e só aceita jpg, png e gif, e se não for essas ele não insere os arquivos no BD, mas também não mostra uma mensagem de erro que mostrava antes caso algum campo não fosse preenchido. Abaixo está o script para vocês analisarem e me dizer, se possível, onde está o erro.
<title>Adicionar Noticia</title>
<script language="javascript" type="text/javascript" src="javascript.js"></script>
<SCRIPT src="javascript/jscripts.js"></SCRIPT>
<script type="text/javascript">
_editor_url = "htmlarea/";
_editor_lang = "en";
</script>
<script type="text/javascript" src="editor/tiny_mce.js"></script>
<script type="text/javascript" src="editor/tiny_mce_popup.js"></script>
<script type="text/javascript" src="editor/tiny_mce_src.js"></script>
<script type="text/javascript">
tinymce.init({
selector: "textarea"
});
</script>
<?php
include('config.php');
if (!empty($_POST) AND (empty($_POST['titulo']) OR empty($_POST['categoria']) OR empty($_POST['autor']) OR empty($_POST['texto']) OR empty($_POST['tags']) OR empty($_FILES['arquivo']))) {
echo "<font color=\"#ff0000\">Por Favor Preencha os campos Vazios</font>";
} else {
if(isset($_FILES['arquivo']['name']) && $_FILES["arquivo"]["error"] == 0)
{
$titulo = $_POST["titulo"];
$categoria = $_POST["categoria"];
$autor = $_POST["autor"];
$texto = stripslashes($_POST["texto"]);
$tags = $_POST["tags"];
$arquivo_tmp = $_FILES['arquivo']['tmp_name'];
$nome = $_FILES['arquivo']['name'];
$extensao = strrchr($nome, '.');
$extensao = strtolower($extensao);
if(strstr('.jpg;.jpeg;.gif;.png', $extensao)){
$novoNome = md5(microtime()) . $extensao;
$destino = 'banners/' . $novoNome;
$server = $_SERVER['SERVER_NAME'];
$localidade = '/test/noti_admin/';
}
}
if( @move_uploaded_file( $arquivo_tmp, $destino ))
{
if($titulo == "" && $categoria == "" && $autor == "" && $texto == "" && $tags == "" && $nome != "$extensao" ){} else {
$news_add = "INSERT INTO news (titulo, categoria, autor, date, views, autor_ip, texto, tags, imagens, local_img) VALUES ('".addslashes(mysql_real_escape_string($_POST["titulo"]))."', '".addslashes(mysql_real_escape_string($_POST['categoria']))."', '".addslashes(mysql_real_escape_string($_POST['autor']))."', NOW(), '0', '".addslashes(mysql_real_escape_string($_SERVER['REMOTE_ADDR']))."', '".addslashes (mysql_real_escape_string ($_POST ['texto']))."', '".addslashes(mysql_real_escape_string($_POST['tags']))."', 'http://$server$localidade$destino', '$nome')";
$news_add = mysql_query($news_add)
or die ("Erro ao Adicionar Noticia. Você poderá enviar apenas arquivos <strong style='color: red;'>.jpg; .jpeg; .gif; .png</strong><br />");
echo "Noticia Adicionado com sucesso <a href='noticias.php'>Ver Noticias</a>";
}
}
}
?>
<h3>Adicionar Noticia:</h3>
<font color="#ff0000"><p>Campos marcados com (*) são obrigatórios</p></font>
<form enctype="multipart/form-data" name="input" action="adicionar-noticia.php" method="post">
<label>Titulo*:</label>
<br>
<input name="titulo" class="text" />
<br>
<label>Postado por*:</label>
<br>
<input name="autor" class="text" />
<br>
<label>Categoria*:</label>
<br>
<select name="categoria">
<?php
$selecionar_db_categoria = "SELECT * FROM categorias ORDER BY id DESC";
// Seleciona a tabela 'categorias' no banco de dados
$categoria_final = mysql_query($selecionar_db_categoria)
// Mensagem caso aconteça um erro na conexão
or die ("<h1>Erro ao Conectar-se ao Banco de dados</h1>");
// Pega os valores da tabela 'categorias'
while ($categoria_db=mysql_fetch_array($categoria_final)) {
$id = $categoria_db["id"];
$categoria = $categoria_db["categoria"];
echo "<option value=\"$id\">$categoria</option>";
}
?>
</select>
<br>
<script language="JavaScript">
function abrir(URL) {
var width = 400;
var height = 532;
var left = 99;
var top = 99;
window.open(URL,'janela', 'width='+width+', height='+height+', top='+top+', left='+left+', scrollbars=yes, status=no, toolbar=no, location=no, directories=no, menubar=no, resizable=no, fullscreen=no');
}
</script>
<label>Envie a imagem que você quer destacar no seu post*</label>
<input required name="arquivo" type="file" />
<br>
<label>Tag*:</label>
<input name="tags" class="text">
<br>
<label>Texto*:</label>
<br>
<textarea name="texto" rows="30" cols="100%"></textarea>
<br>
<input type="submit" value="Adicionar Notícia">
</form>
Pergunta
nathanfeitoza
Olá, galera.
Bom, o meu problema é o seguinte: eu fiz um scriptizinho de inserção de dados no banco de dados usando php e mysql, e nesse meio está o envio de uma imagem que vai para uma pasta e o caminho dela para o banco de dados. Depois que fiz essa implementação o script parou de mostrar a mensagem de erro caso algum campo não fosse preenchido, a questão é que eu fiz a validação da imagem e só aceita jpg, png e gif, e se não for essas ele não insere os arquivos no BD, mas também não mostra uma mensagem de erro que mostrava antes caso algum campo não fosse preenchido. Abaixo está o script para vocês analisarem e me dizer, se possível, onde está o erro.
Link para o comentário
Compartilhar em outros sites
1 resposta a esta questão
Posts Recomendados
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.