Ir para conteúdo
perfectraider99

Não consigo conectar meu sistema de upload de imagens ao servidor

Recommended Posts

Galera bom dia, recentemente me pediram pra fazer um sistema de postagem para um site de carros . 

pesquisei formas de fazer e encontrei um projeto de upload de imagens 

fiz tudo certinho no local host e funcionou perfeitamente mas quando fui colocar no servidor nada funcionou, nem enviava o formulario nem amostrava os produtos.

por favor galerinha estou a muito tempo tentando resolver esse problema . 

aqui tá o meu codigo 

 

index

 

 

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style>
    body{
        font-family: arial;
    }
    section{
        background-color: rgb(123,104,238,.4);
        width: 70%;
        margin: auto;
    }
    input, label, textarea{
        display: block;
        width: 100%;
        height: 30px;
    }
    label{
        line-height: 30px;
        margin-top: 10px;
    }
    textarea{
        height: 150px;
    }
    form{
        
        width: 60%;
        margin: auto;
        box-sizing: border-box;
        padding: 20px;
    }
    #botao{
        margin-bottom: 10px;
        width: 50%;
        background-color: rgba(0,0,0,.8);
        color: white;
        height: 40px;
        cursor: pointer;
        border: none;
        font-size: 15pt;
    }
    h1{
        text-align: center;
    }
    #foto{
        margin-top: 20px;
        margin-bottom: 20px;
    }

    a{
        background-color: rgb(0,255,127);
        display: block;
        width: 220px;
        height: 50px;
        color: black;
        text-decoration: none;
        float: right;
        text-align: center;
        line-height: 50px;
        margin: 20px;
        border: 1px solid rgba(0,0,0,.2);
    }
    </style>
</head>
<body>
    <section>
    <a href="produtos.php">Ver todos os produtos</a>
    <form method="POST" enctype="multipart/form-data">
        <h1>ENVIO DE IMGS</h1>
        <label for="nome">Nome do Produto</label>
        <input type="text" name="nome" id="nome">
        <label for="des">Descrição</label>
        <textarea name="desc" id="desc"></textarea><br>

        

        <input type="file" name="foto[]" multiple id="foto">
        <input type="submit" id="botao">
    </form>
    </section>
</body>
</html>


produtos : 


<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <style type="text/css">
    section{
        width: 70%;
        margin: auto;
        font-family: arial;
    }
    div{
        width: 15%;
        float: left;
        padding: 1%;
        background-color: rgb(123,104,238,.4);
        margin: 10px;
    }
    img{
        width: 100%;
        height: 150px;
    }

    h2{
        font-size: 12pt;
        color: white;
        text-align: center;
        background-color: rgba(0,0,0,.5);
        padding: 10px 0px;
        font-weight: normal;
    }
    p{
        font-size: 10pt;
    }
    </style>
</head>
<body>
    <section>

    <?php 
require 'classes/Produto_class.php';
$p = new Produto_class('formulario_produtos','infinityfree.net','root', '99583460');  <- aqui ta a parte do banco de dados
$dadosProduto = $p->buscarProdutos();


if (empty($dadosProduto)) 

{


echo 'Ainda não há produtos aqui';
    
}else
{

foreach ($dadosProduto as $value)

 {
        ?>

        <a href="exibir_produto.php">
            <div>
                <img src="imagens/<?php echo $value['foto_capa']   ?>">            
                <h2><?php echo $value['nome_produto']   ?></h2>
            </div>
        </a>
    <?php
}


}


    ?>
        
    </section>
</body>
</html>


e aqui tá a parte do banco de dados 


: 



<?php

class Produto_class{

private $pdo;
public function __construct($dbname, $host, $user, $senha)

{
    try 
    {
       $this->pdo = new PDO("mysql:dbname=".$dbname.";host=".$host,$user, $senha);        
        } catch (PDOException $e) {

            echo 'erro com banco de dados :'.$e->getMessage();

        } catch (Exception $e) {

            echo 'erro Generico :'.$e->getMessage();
        }
    }
    public function enviarProduto($nome, $descricao, $fotos = array())
{

    //INSERIR PRODUTO  ( TABELA DO PRODUTO )

$cmd = $this->pdo->prepare('INSERT INTO produtos(nome_produto, descricao) values (:n, :d)');
$cmd->bindValue(':n', $nome);
$cmd->bindValue(':d', $descricao);

$cmd->execute();
  $id_produto = $this->pdo->LastInsertId();


 //INSERIR AS IMAGENS DO PRODUTO (TABELA DE IMAGENS)
    if(count($fotos) > 0 )// Se veio imagens
        
        {

                for ($i=0; $i < count($fotos); $i++) 

                { 
                    $nome_foto = $fotos[$i];

        $cmd = $this->pdo->prepare('INSERT INTO imagens (nome_imagem, fk_id_produto) values (:n, :fk)');
        $cmd->bindValue(':n', $nome_foto );
        $cmd->bindValue(':fk', $id_produto);
        $cmd->execute();

                }


     

        
        }     
}

     public function buscarProdutos()//TODOS

{ 
 
 $cmd = $this->pdo->query('SELECT *,
    (SELECT nome_imagem from imagens where fk_id_produto = produtos.id_produto LIMIT 1) as foto_capa FROM produtos');


 if($cmd->rowCount() > 0)

 {
           $dados = $cmd->fetchAll(PDO::FETCH_ASSOC);
 }else
 {

     $dados = array();
 }
     return $dados;
}

   

     public function buscarPrdutoPorId($id)

     {


     }


     public function buscarImagensPorId($id)

     {

         
     }

}


 

Já troquei a variavel $p = new Produto_class no arquivo que eu mandei pro servidor ..

Compartilhar este post


Link para o post
Compartilhar em outros sites

Prováveis erros:

 

1 - Erro de autenticação (nome do banco, host usuário e senha).

'formulario_produtos' é nome do banco mesmo? Parece ser de tabela.

 

2 - Não ativado a extensão PDO.

Para verificar, crie um arquivo PHP e suba na raiz e depois acesse pela URL com o código abaixo:

<?php

print_r(PDO::getAvailableDrivers());

Irá retornar um array com os drivers suportados.

 

3 - Seu formulário de inserção de fotos está sem o ACTION, que é pra onde você está enviando as informações do seu POST. Geralmente chama um arquivo.php que valida e depois chamar a classe para fazer o INSERT.

Compartilhar este post


Link para o post
Compartilhar em outros sites
Em 19/06/2019 at 12:20, marcosmarcolin disse:

olhei aqui e apareceu isso . 

Array ( [0] => mysql [1] => sqlite )

Coloquei um arquivo zippado com todas as pastas nesse link www.planetaveiculosba.com.br/projeto.zip

po man grato pela ajuda .

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá, boa noite!

 

No começo do arquivo ative os erros do php e poste o resultado que está aparecendo no seu servidor de produção e localhost.

 

<?php

	error_reporting(E_ALL);
	ini_set('display_errors', 'On');
?>
<!DOCTYPE html>  
<html>  
  ... seu código

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Quando eu tento preencher o formulario dá isso . 

 


Warning: require(classes/Produto_class.php): failed to open stream: No such file or directory in /storage/ssd4/628/9862628/public_html/system/index.php on line 124

Warning: require(classes/Produto_class.php): failed to open stream: No such file or directory in /storage/ssd4/628/9862628/public_html/system/index.php on line 124

Fatal error: require(): Failed opening required 'classes/Produto_class.php' (include_path='.:/usr/share/pear:/usr/share/php') in /storage/ssd4/628/9862628/public_html/system/index.php on line 124

 

 

quando eu abro a página de produtos dá isso :

 

Warning: require(classes/Produto_class.php): failed to open stream: No such file or directory in /storage/ssd4/628/9862628/public_html/system/produtos.php on line 49

Warning: require(classes/Produto_class.php): failed to open stream: No such file or directory in /storage/ssd4/628/9862628/public_html/system/produtos.php on line 49

Fatal error: require(): Failed opening required 'classes/Produto_class.php' (include_path='.:/usr/share/pear:/usr/share/php') in /storage/ssd4/628/9862628/public_html/system/produtos.php on line 49

 

Desde já, muito obrigado irmão .

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é no require abaixo, verifica as pastas corretamente e altere o diretório, não está encontrando o arquivo 'Produto_class.php'.

require 'classes/Produto_class.php';

 

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora

  • Conteúdo Similar

    • Por ILR master
      Fala galera.
      Espero que todos estejam bem.
      Seguinte: Tenho um arquivo xml onde alguns campos estão com : (dois pontos), como o exemplo abaixo:
       
      <item>
      <title>
      d sa dsad sad sadasdas
      </title>
      <link>
      dsadas dsa sad asd as dsada
      </link>
      <pubDate>sadasdasdsa as</pubDate>
      <dc:creator>
      d sad sad sa ad as das
      </dc:creator>
      </item>
       
      Meu código:
       
      $link = "noticias.xml"; 
      $xml = simplexml_load_file($link); 
      foreach($xml -> channel as $ite) {     
           $titulo = $ite -> item->title;
           $urltitulo = $ite -> item->link;
           print $urltitulo = $ite -> item->dc:creator;
      } //fim do foreach
      ?>
       
      Esse campo dc:creator eu não consigo ler. Como faço?
       
      Agradeço quem puder me ajudar.
       
      Abs
       
       
    • Por First
      Olá a todos!
       
      Eu estou criando um sistema do zero mas estou encontnrando algumas dificuldades e não estou sabendo resolver, então vim recorrer ajuda de vocês.
      Aqui está todo o meu código: https://github.com/PauloJagata/aprendizado/
       
      Eu fiz um sistema de rotas mas só mostra o conteúdo da '/' não sei porque, quando eu tento acessar o register nada muda.
      E eu também quero que se não estiver liberado na rota mostra o erro de 404, mas quando eu tento acessar um link inválido, nada acontece.
      Alguém pode me ajudar com isso? E se tiver algumas sugestão para melhoria do código também estou aceitando.
       
       
      Desde já, obrigado.
    • Por landerbadi
      Olá pessoal, boa tarde
       
      Tenho uma tabela chamada "produtos" com os seguintes campos (id, produto) e outra tabela chamada "itens" com os seguintes campos (id, prod_01, prod_02, prod_03, prod_04).
       
      Na tabela produtos eu tenho cadastrado os seguintes produtos: laranja, maçã, uva, goiaba, arroz, feijão, macarrão, etc.
       
      Na tabela itens eu tenho cadastrado os itens da seguinte maneira:
       
      1, laranja, uva, arroz, feijão;
      2, maçã, macarrão, goiaba, uva;
      3, arroz, feijão, maçã, azeite
       
      Meu problema é o seguinte: 
      Eu escolho um produto da tabela "produtos", por exemplo "uva".  Preciso fazer uma consulta na tabela "itens" para ser listado todos os registros que contenham o produto "uva" e que todos os demais produtos estejam cadastrados na tabela "produtos".
       
      No exemplo acima seria listado apenas dois registros, pois o terceiro registro não contém o produto "uva". 
       
      Alguém pode me ajudar? Pois estou quebrando a cabeça a vários dias e não consigo achar uma solução.
    • Por landerbadi
      Boa tarde pessoal. Estou tentado fazer uma consulta no banco de dados porém estou tendo dificuldades. Tenho uma tabela chamada "itens" com os seguintes campos: id, item, plural, ativo. Nela tem cadastrado vários itens e seu respectivo plural. No campo ativo eu coloco a letra "S" para informar que esta palavra está ativa no sistema. Por exemplo: 1, casa, casas, S 2, mesa, mesas, S 3, cama, camas, S 4, moto, motos, S 5, rádio, rádios O quinto registro "radio" não está ativo no sistema pois não tem um "S" no campo ativo. E outra tabela chamada "variações" com os seguintes campos (id, item1, item2, item3) com os seguintes registros: 1, casa, camas, moto 2, mesas, casas, radio 3, rádio, cama, mesa Eu preciso fazer uma busca na tabela variações da seguinte maneira: Eu escolho um registro na tabela "itens", por exemplo "casa". Preciso fazer com que o php me liste todos os registros da tabela "variações" que contenham a palavra "casa". Porém se tiver algum registro com a palavra "casas" também tem que ser listado. Neste caso ele irá encontrar dois registros. Agora eu preciso que o php verifique os demais itens e faça a listagem apenas dos item que estão ativos (que contenham um "S" no campo ativo. Neste caso ele irá encontrar apenas um registro, pois o segundo registro contém a palavra "rádio". E "rádio" não está ativo na tabela itens. Como faço isso?
    • Por First
      Olá a todos!
       
      Quando eu tento fazer o login me mostra esse erro "Could not log you in."; Alguém sabe me ajudar a resolver esse problema no meu código?
      <?php require_once("core/init.php"); if (Input::exists()) { if (Token::check(Input::get("token"))) { $validate = new Validate(); $validation = $validate->check($_POST, array( "username" => array("required" => true), "password" => array("required" => true) )); if ($validation->passed()) { $user = new User(); $remember = (Input::get("remember")) === "on" ? true : false; $login = $user->login(Input::get("username"), Input::get("password"), $remember); if ($login) { Session::flash("home", "Welcome back!"); Redirect::to("index.php"); } else { echo "Could not log you in."; } } else { foreach ($validation->errors() as $error) { echo $error."<BR>"; } } } } ?> <form action="" method="POST"> <div class="field"> <label for="username">Username</label> <input type="text" name="username" id="username"> </div> <div class="field"> <label for="password">Password</label> <input type="password" name="password" id="password"> </div> <div class="field"> <label for="remember"> <input type="checkbox" name="remember" id="remember"> Remember me </label> </div> <input type="hidden" name="token" value="<?php echo Token::generate(); ?>"> <input type="submit" value="Log in"> </form>  
       
      Desde já obrigado.
×

Informação importante

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