Jump to content
Fórum Script Brasil
  • 0

(Resolvido) PROBLEMA COM UPLOAD DE IMAGEM + BANCO DE DADOS


kel777
 Share

Question

Bom dia pessoal, eu sou novo no fórum e novo em PHP.

É o seguinte, eu fiz um sistema de postagem, onde eu escrevo o título da postagem o corpo e tudo mais (como se fosse um blog), mais eu gostaria que junto com a postagem eu também pudesse adicionar uma imagem, pesquisei algo no Google e achei um script que parecia simples. mais quando vou acrescentar ao script que já esta pronto, não funciona,

segue o código PHP:

<?php

$host="localhost"; // Host name 
$username="proativa_blog"; // Mysql username 
$password="senha"; // Mysql password 
$db_name="proativa_blog"; // Database name 
$tbl_name="forum_question"; // Table name 

// Connect to server and select database.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");

// get data that sent from form 
$topic=$_POST['topic'];
$detail=$_POST['detail'];
$detail=$_POST['complete'];
$foto = $_FILES["foto"];
$name=$_POST['name'];
$email=$_POST['email'];

$datetime=date("d/m/y h:i:s"); //create date time
           
               // Se a foto estiver sido selecionada
           if (!empty($foto["name"])) {
        
        // Pega extensão da imagem
        preg_match("/\.(gif|bmp|png|jpg|jpeg){1}$/i", $foto["name"], $ext);

            // Gera um nome único para a imagem
            $nome_imagem = md5(uniqid(time())) . "." . $ext[1];

            // Caminho de onde ficará a imagem
            $caminho_imagem = "fotos/" . $nome_imagem;

            // Faz o upload da imagem para seu respectivo caminho
            move_uploaded_file($foto["tmp_name"], $caminho_imagem);
        }
    
        // Se houver mensagens de erro, exibe-as
        if (count($error) != 0) {
            foreach ($error as $erro) {
                echo $erro . "<br />";
            }
        }

$sql="INSERT INTO $tbl_name(topic, detail, name, email, datetime)VALUES('$topic', '$detail', '$complete', '$nome_imagem', '$name', '$email', '$datetime')";
$result=mysql_query($sql);

if($result){
echo "Successful<BR>";
echo "<a href=main_forum.php>View your topic</a>";
}
else {
echo "ERROR";
}
mysql_close();
?>

Alguém pode me ajudar a localizar o erro? Desde-já agradeço a todos!

Link to comment
Share on other sites

6 answers to this question

Recommended Posts

  • 0
Não dá certo significa exatamente o que? Não salva a imagem no servidor? Não salva os dados no BD?

Então amigo, não faz o upload, e nem salva no Banco de Dados, simplesmente não acontece nada, só o restante do conteúdo salva no banco.

Se quiser ver como ta ficando é só entrar http://proativa.org/iprism/blog.php

(não ta funcionando ao abrir o link porque eu não editei essa parte)

Link to comment
Share on other sites

  • 0
Posta o formulário.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html lang="en-US" xmlns="http://www.w3.org/1999/xhtml" dir="ltr">
<head>
    <title>.:: IPRI - IGREJA PRESBITERIANA RENOVADA INTERNACIONAL::.</title>
    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
    <link rel="shortcut icon" href=../"css/images/favicon.ico" />
    <link rel="stylesheet" href="../css/style.css" type="text/css" media="all" />
    <!--[if IE 6]>
        <link rel="stylesheet" href="css/ie6.css" type="text/css" media="all" />
    <![endif]-->
    <link rel="stylesheet" href="../js/fancybox/jquery.fancybox-1.3.1.css" type="text/css" media="screen" /><style type="text/css">
    .obs {
    font-size: 10px;
    color: #666;
}
    </style>
    
    <script type="text/javascript" src="../js/jquery.jcarousel.js"></script>
    <script type="text/javascript" src="../js/fancybox/jquery.fancybox-1.3.1.js"></script>
    <script type="text/javascript" src="../js/jquery-func.js"></script>
<script type="text/javascript" language="javascript">

/* 
Funcoes para contar, exibir e limitar caracteres

*/
function mostrarResultado(box,num_max,detailspan){
    var contagem_carac = box.length;
    if (contagem_carac != 0){
        document.getElementById(detailspan).innerHTML = contagem_carac + " caracteres digitados";
        if (contagem_carac == 1){
            document.getElementById(detailspan).innerHTML = contagem_carac + " caracter digitado";
        }
        if (contagem_carac >= num_max){
            document.getElementById(detailspan).innerHTML = "Limite de caracteres excedido!";
        }
    }else{
        document.getElementById(detailspan).innerHTML = "Ainda não temos nada digitado..";
    }
}

function contarCaracteres(box,valor,detailspan){
    var conta = valor - box.length;
    document.getElementById(detailspan).innerHTML = "Você ainda pode digitar " + conta + " caracteres";
    if(box.length >= valor){
        document.getElementById(detailspan).innerHTML = "Opss.. você não pode mais digitar..";
        document.getElementById("detail").value = document.getElementById("detail").value.substr(0,valor);
    }    
}

</script>

</head>
<body>
<!-- Header -->
<div id="header">
    <div class="shell">
        <!-- Logo -->
        <h1 id="logo"><a href="../index.php">PIXELTHIS</a></h1>
        <!-- /Logo -->
        
        <!-- Navigation -->
        <div id="navigation">
            <ul>
                <li><a href="../index.php">INÍCIO</a></li>
                <li><a href="../biblia.php">BÍBLIA ONLINE</a></li>
                <li><a class="../active">PEDIDO DE ORAÇÃO</a></li>
                <li><a href="../blog.php">BLOG</a></li>
                <li><a href="../testemunhos.php">TESTEMUNHOS</a></li>
                <li><a href="../contato.php">CONTATO</a></li>
                <li><a href="../area_php">ÀREA DO MEMBRO</a></li>
            </ul>
        </div>
        <!-- /Navigation -->
        <div class="cl">&nbsp;</div>
      <!-- Socials -->
        <div class="socials">
            <a href="http://facebook.com/iprism/" class="socials-facebook" title="Visite nossa página no Facebook">facebook</a>
        </div>
        <!-- /Socials -->
    </div>
</div>
<!-- /Header -->

<!-- Main -->
<div id="main">
    <div class="bg-top">
        <div class="shell">
        <? include ("../includes/verciculos.html") ?>
<!--AQUI-->
<?php

$host="localhost"; // Host name 
$username="proativa_oracao"; // Mysql username 
$password="q4w3e2r1"; // Mysql password 
$db_name="proativa_oracao"; // Database name 
$tbl_name="forum_question"; // Table name 

// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect"); 
mysql_select_db("$db_name")or die("cannot select DB");
$sql="SELECT * FROM $tbl_name ORDER BY id DESC";
// OREDER BY id DESC is order result by descending

$result=mysql_query($sql);
?>

<!-- Início do Javascript -->
<script type="text/javascript">
function limitaTextarea(valor) {
    quant = 250; /* Total de caracteres */
    total = valor.length;

    if(total <= quant) {
        resto = quant - total;
        document.getElementById('cont').innerHTML = resto;
    } else {
        document.getElementById('texto').value = valor.substr(0,quant);
    }
}
</script>
<div id="latest-projects">
        <h2 class="bubble">
                    <span>CRIAR POSTAGEM</span>
                    <a class="see-all"></a>
                    
        </h2>
<table width="100%" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#e7e7e7">
<tr>
<form id="form1" name="form1" method="post" action="add_topic.php">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#e7e7e7">
<td><p>&nbsp;</p>
  <p>&nbsp;</p>
<tr>
<td width="19%"><strong>
<h3>Título da Postagem</h3></strong></td>
<td width="1%">:</td>
<td width="80%"><input name="topic" type="text" id="topic" size="53" maxlength="20" /></td>
</tr>
<tr>
<td valign="top"><strong>
<h3>Resumo</h3>
<p>(Cole o inicio do texto</p>
<p>Será acrecentado ler mais</p>
<p>no fInal)</p>
</strong></td>
<td valign="top">:</td>
<td><p>
  <textarea name="detail" cols="55" rows="5" id="detail" onkeyup="mostrarResultado(this.value,255,'spcontando');contarCaracteres(this.value,255,'sprestante')"></textarea>
</p>
  <!-- Total de caracteres -->
  <span id="spcontando" style="font-family:Georgia;">Ainda não temos nada digitado..</span><br />
<span id="sprestante" style="font-family:Georgia;"></span></p>
</td>
</tr>
<tr>
<td valign="top"><strong>
<h3>Digite o conteudo </h3>
</strong></td>
<td valign="top">:</td>
<td><textarea name="complete" cols="55" rows="5" id="complete"></textarea></td>
</tr>
<tr>
  <td>
  <strong><h3>Imagem</h3></strong></td>
  <td>:</td>
  <td><input type="file" name="foto" /></td>
</tr>
<tr>

<td><strong>
<h3>Autor</h3></strong></td>
<td>:</td>
<td><input name="name" type="text" id="name" size="53" /> 
  <span class="obs"> (Digite Anônimo se preferir)</span></span></span></span></td>
</tr>
<tr>
<td><strong>
<h3>Email</h3></strong></td>
<td>:</td>
<td><input name="email" type="text" id="email" size="53" /> 
  <span class="obs"> (Não Obrigatório)</span></td>
</tr>
<tr>
<td>&nbsp;</td>
<td>&nbsp;</td>
<td><p>
  <input type="submit" class="button rarr" name="Submit" value="Enviar Pedido" />
  </p>
  <p>&nbsp;</p>
  <p>&nbsp; </p></td>
</tr>
</table>
</td>
</form>
</tr>
</table>
<tr>
  <td bgcolor="#e7e7e7">&nbsp;</td>
<td bgcolor="#e7e7e7"><BR></td>
<td align="center" bgcolor="#e7e7e7">&nbsp;</td>
<td align="center" bgcolor="#e7e7e7">&nbsp;</td>
<td align="center" bgcolor="#e7e7e7">&nbsp;</td>
</tr>
<?php include ("../includes/eventos.html"); ?>
<?php include ("../includes/blog.html"); ?>
<?php include ("../includes/sidebar.html"); ?>
            <div class="cl">&nbsp;</div>
        </div>
    </div>
</div>
<!-- /Main -->
<?php include ("../includes/footer.html"); ?>

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.2k
    • Total Posts
      647.5k
×
×
  • Create New...