Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

nathanfeitoza

PHP não mostra mensagem de erro em resultado de envio

Recommended Posts

Bom, é seguinte. O meu script de envio de dados para o servidor está funcionando, mas quando há algum erro como, por exemplo, campos não preenchidos ou formato de imagens não aceitos ele não mostra, e já está configurado para receber a mensagem de erro tanto por echo como por or die, então eu queria que vocês animalizassem o código abaixo e me mostrassem onde é 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  ))
{
 
 
echo "http://" . $server . $localidade .  $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>Cole o link da 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> 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vc não faz nada em caso de erro:

 

if($titulo == "" && $categoria == "" && $autor == "" && $texto == "" && $tags == "" && $nome  == "$extensao" ){} 
E só entra ai, caso todas as condições sejam atendidas, ou seja, caso tudo esteja errado.

 

outro problema é que vc está suprimindo os erros com @

@move_uploaded_file( $arquivo_tmp, $destino  )
ai não tem erro.. já que o @ esconde.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.