Jump to content
DouglasSilva22

[ ESTOU TENDO PROBLEMA COM MINHA REDE SOCIAL NA HORA DE PUBLICAR ]

Recommended Posts

QUAL E O PROBLEMA AQUUI OU NO BANCO DE DADOS, QUANDO CLICO EM PUBLICAR EM VEZ DA PUBLICAÇÃO FICAR NO INDEX.PHP QUE E A PÁGINA INICIAL ELE VAI PRA MYPROFILE QUE E MEU PERFIL!

 

<?php
    include("header.php");

    $pubs = mysql_query("SELECT
            T.id, 
            T.user, 
            T.texto, 
            T.imagem, 
            T.data,
            U.de,
            U.para, 
            U.aceite
         FROM
            pubs AS T,
            amizades AS U 
         WHERE
            T.user = U.de AND U.para = '$login_cookie' AND U.aceite='sim'
            OR T.user = U.para AND U.de = '$login_cookie' AND U.aceite='sim'
            order by T.id DESC;");

    if (isset($_POST['publish'])) {
        if ($_FILES["file"]["error"] > 0) {
            $texto = $_POST["texto"];
            $hoje = date("Y-m-d");

            if ($texto == "") {
                echo "<h3>Tens de escrever alguma coisa antes de publicar!</h3>";
            }else{
                $query = "INSERT INTO pubs (user,texto,data) VALUES ('$login_cookie','$texto','$hoje')";
                $data = mysql_query($query) or die();
                if ($data) {
                    header("Location: index.php");
                }else{
                    echo "Alguma coisa não correu lá muito bem... Tenta outra vez mais tarde";
                }
            }
        }else{
            $n = rand(0, 1000000);
            $img = $n.$_FILES["file"]["name"];

            move_uploaded_file($_FILES["file"]["tmp_name"], "upload/".$img);

            $texto = $_POST['texto'];
            $hoje = date("Y-m-d");

            if ($texto == "") {
                echo "<h3>Tens de escrever alguma coisa antes de publicar!</h3>";
            }else{
                $query = "INSERT INTO pubs (user,texto,imagem,data) VALUES ('$login_cookie','$texto','$img','$hoje')";
                $data = mysql_query($query) or die();
                if ($data) {
                    header("Location: index.php");
                }else{
                    echo "Alguma coisa não correu lá muito bem... Tenta outra vez mais tarde";
                }
            }
        }
    }

    if (isset($_GET["love"])) {
        love();
    }

    function love() {
        $login_cookie = $_COOKIE['login'];
        $publicacaoid = $_GET['love'];
        $data = date("Y/m/d");

        $post = mysql_query("SELECT * FROM pubs WHERE id='$publicacaoid'");
        $postinfo = mysql_fetch_assoc($post);
        $userinfo = $postinfo['user'];

        $ins = "INSERT INTO loves (`user`,`pub`,`date`) VALUES ('$login_cookie','$publicacaoid','$data')";
        $conf = mysql_query($ins) or die(mysql_error());
        if ($conf) {
            $not = mysql_query("INSERT INTO notificacoes (`userde`,`userpara`,`tipo`,`post`,`data`) VALUES ('$login_cookie','$userinfo','1','$publicacaoid','$data')");
            header("Location: index.php#".$publicacaoid);
        }else{
            echo "<h3>Erro</h3> ".mysql_error();
        }
    }

    if (isset($_GET["unlove"])) {
        unlove();
    }

    function unlove() {
        $login_cookie = $_COOKIE['login'];
        $publicacaoid = $_GET['unlove'];
        $data = date("Y/m/d");

        $del = "DELETE FROM loves WHERE `user`='$login_cookie' AND `pub`='$publicacaoid'";
        $conf = mysql_query($del) or die(mysql_error());
        if ($conf) {
            header("Location: index.php#".$publicacaoid);
        }else{
            echo "<h3>Erro</h3> ".mysql_error();
        }
    }
?>
<html>
<header>
    <style type="text/css">
    div#publish{width: 400px; height: 210px; display: block; margin: auto; border: none; border-radius: 5px; background: #FFF; box-shadow: 0 0 6px #A1A1A1; margin-top: 30px;}
    div#publish textarea{width: 365px; height: 150px; display: block; margin: auto; border-radius: 5px; padding-left: 5px; padding-top: 5px; border-width: 1px; border-color: #A1A1A1;}
    div#publish img{margin-top: 0px; margin-left: 10px; width: 40px; cursor: pointer;}
    div#publish input[type="submit"]{width: 70px; height: 25px; border-radius: 3px; float: right; margin-right: 15px; border: none; margin-top: 5px; background: #4169E1; color: #FFF; cursor: pointer;}
    div#publish input[type="submit"]:hover{background: #001F3F;}

    div.pub{width: 400px; min-height: 70px; max-height: 1000px; display: block; margin: auto; border: none; border-radius: 5px; background-color: #FFF; box-shadow: 0 0 6px #A1A1A1; margin-top: 30px;}
    div.pub a{color: #666; text-decoration: none;}
    div.pub a:hover{color: #111; text-decoration: none;}
    div.pub p{margin-left: 10px; content: #666; padding-top: 10px;}
    div.pub span{display: block; margin: auto; width: 380px; margin-top: 10px;}
    div.pub img{display: block; margin: auto; width: 100%; margin-top: 10px; border-bottom-left-radius: 5px; border-bottom-right-radius: 5px;}

    div#love{width: 400px; height: 30px; display: block; margin: auto; border: none; border-radius: 5px; background: #007fff; margin-top: 5px;}
    div#love p{color: #FFF; font-size: 12px; padding-top: 5px; padding-left: 5px;}
    div#love a{color: #FFF; font-size: 16px; text-decoration: none;}
    #comentar{
        float: right;
        margin-top: 15px;
        margin-right: 15px;
        cursor: pointer;
        width: 13px;
    }
    </style>
</header>
<body>
    <div id="publish">
        <form method="POST" enctype="multipart/form-data">
            <br />
            <textarea placeholder="Escreve uma publicacão nova" name="texto"></textarea>
            <label for="file-input">
                <img src="img/imagegrey.png" title="Inserir uma fotografia" />
            </label>
            <input type="submit" value="Publicar" name="publish" />

            <input type="file" id="file-input" name="file" hidden />
        </form>
    </div>
    <?php
        while ($pub=mysql_fetch_assoc($pubs)) {
            $email = $pub['user'];
            $saberr = mysql_query("SELECT * FROM users WHERE email='$email'");
            $saber = mysql_fetch_assoc($saberr);
            $nome = $saber['nome']." ".$saber['apelido'];
            $id = $pub['id'];
            $saberloves = mysql_query("SELECT * FROM loves WHERE pub='$id'");
            $loves = mysql_num_rows($saberloves);

            if ($pub['imagem']=="") {
                echo '<div class="pub" id="'.$id.'">
                    <a href="comentarios.php?id='.$id.'"><img id="comentar" src="img/chat.png" width="13" ></a>
                    <p><a href="profile.php?id='.$saber['id'].'">'.$nome.'</a> - '.$pub["data"].'</p>
                    <span>'.$pub['texto'].'</span><br />
                </div>
                <div id="love">';
                $email_check = mysql_query("SELECT user FROM loves WHERE pub='$id' AND user='$login_cookie'");
                $do_email_check = mysql_num_rows($email_check);
                if ($do_email_check >= 1) {
                    $loves = $loves - 1;
                    echo '<p><a href="index.php?unlove='.$id.'">Gostei</a> | Tu e mais '.$loves.' gostaram disto</p>';
                }else{
                    echo '<p><a href="index.php?love='.$id.'">Gostar</a> | '.$loves.' gostaram disto</p>';
                }
                echo '</div>';
            }else{
                echo '<div class="pub" id="'.$id.'">
                    <a href="comentarios.php?id='.$id.'"><img id="comentar" src="img/chat.png" width="13" ></a>
                    <p><a href="profile.php?id='.$saber['id'].'">'.$nome.'</a> - '.$pub["data"].'</p>
                    <span>'.$pub['texto'].'</span>
                    <img src="upload/'.$pub["imagem"].'" />
                </div>
                <div id="love">';
                $email_check = mysql_query("SELECT user FROM loves WHERE pub='$id' AND user='$login_cookie'");
                $do_email_check = mysql_num_rows($email_check);
                if ($do_email_check >= 1) {
                    $loves = $loves - 1;
                    echo '<p><a href="index.php?unlove='.$id.'">Gostei</a> | Tu e mais '.$loves.' gostaram disto</p>';
                }else{
                    echo '<p><a href="index.php?love='.$id.'">Gostar</a> | '.$loves.' gostaram disto</p>';
                }
                echo '</div>';
            }
        }
    ?>
    <br />
    <div id="footer"><p>&copy; Equipe Network Social BR - 2019, Compartilhe nossa rede social com seus amigos!&copy;</p></div><br />
</body>
</html>

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By EstilloWeb
      Está ocorrendo um erro em meu comando MySQL na ordenação dos resultados. O código é o seguinte:
      $sql_imos4 = "Select DISTINCT imovel FROM propostas ORDER BY id DESC"; $exe_imos4 = mysqli_query($conexao, $sql_imos4); O objetivo é listar uma única vez um imóvel com proposta, mesmo que haja dois ou mais registros, sempre ordenado mais recente. O que está ocorrendo quando o imóvel tem mais de uma proposta cadastrada, a ordenação está sendo feita pelo ID da proposta mais antiga.
      Exemplo:
      imóvel ref. 4528 tem duas propostas, sendo que a mais recente tem o ID 235 porém aparece na listagem abaixo do imóvel ref. 4325, que tem uma só proposta e ID 230.
      O resultado deveria estar invertido neste caso.
      Onde pode estar o erro? Agradeço a ajuda.
    • By tii3030
      Olá, gostaria de saber qual a melhor maneira de selecionar e verificar a senha hash(senha) em um banco de dados e comparar com a senha inserida pelo usuário em um formulário de login. É mais adequado armazenar no BD o salt ? No exemplo abaixo eu criei o hash da senha antes de selecionar no banco:
      <?php include('conf.php'); $email = 'lala@123.com'; $senha = 'lala.123'; $custo = '08'; $salt = 'Cf1f11ePArKlBJomM0F6aJ'; $hash = crypt($senha, '$2a$' . $custo . '$' . $salt . '$'); $query_select = "SELECT email, password FROM usuarios WHERE email = '$email' AND password = '$hash'"; $select = mysqli_query($conexao,$query_select); if (mysqli_num_rows($select) == 1) { echo "Login Permitido"; } else { echo "Login ou senha invalidos"; } ?> Já neste exemplo eu selecionei o hash no banco para depois comparar com a senha inserida no formulário utilizando o password_verify():
      <?php #----------------- INCLUDING FILE --> "conf.php" include('conf.php'); if (isset($_POST['submit'])) { $email = mysqli_real_escape_string($conexao, $_POST['email']); $password = mysqli_real_escape_string($conexao, $_POST['password']); $query_select_email = "SELECT email FROM usuarios WHERE email = '$email'"; $select_email = mysqli_query($conexao,$query_select_email); $query_select_password = "SELECT password FROM usuarios"; $select_password = mysqli_query($conexao,$query_select_password); while($array = mysqli_fetch_array($select_password)) { $logarray = $array['password']; if (password_verify($password, $logarray) && mysqli_num_rows($select_email) == 1) { echo "Login permitido"; } } } ?> Aceito qualquer dica relacionado a segurança e para melhorar o código, desde já agradeço.
    • By tii3030
      Olá pessoal, desenvolvi um pequeno código em PHP com a função de verificar e validar usuário e senha de um formulário, juntamente com o meu banco de dados MySql.
      Gostaria de saber como aprimorar o meu código para torna-lo mais seguro e mais próximo de algo "profissional". Lembrando que minha senha no banco está criptografada (PASSWORD_BCRYPT).
       
      <?php
          #----------------- INCLUDING FILE --> "conf.php"
          include('conf.php');
              if (isset($_POST['submit'])) {
             
      #--------------------------------INPUTS ---------------------------------------------#
                  $email = mysqli_real_escape_string($conexao, $_POST['email']);
                  $password = mysqli_real_escape_string($conexao, $_POST['password']);
      #-----------------------#----------------------#-----------------_#-------------------#
                  $query_select_email = "SELECT email FROM usuarios WHERE email = '$email'";
                  $select_email = mysqli_query($conexao,$query_select_email);
                  $query_select_password = "SELECT password FROM usuarios";
                  $select_password = mysqli_query($conexao,$query_select_password);
                  while($array = mysqli_fetch_array($select_password)) {
                  $logarray = $array['password'];
                  
                      if (password_verify($password, $logarray)) {
                          if (mysqli_num_rows($select_email) == 1) {
                              
                          $_SESSION['email'] = $email;
                          header('location: XXX.html');
                          exit();
                          }
                      }
                      else {
                          echo "Loguin ou senha incorretos";
                      }
                  $logarray = '0';
                  }
              }
      ?>
    • By michelmir
      Olá!
       
      Recentemente fiz uma postagem aqui no fórum a respeito de se carregar valores em um input text baseando-se na opção selecionada em uma select box, onde obtive uma solução. Por conta disso resolvi adicionar um complemento neste  meu código onde o mesmo deve carregar valores corretamente dentro de uma input text utilizando o plugin TypeAhead.js e o evento onchange do Jquery.
       
      Como forma de demonstrar a minha dúvida em funcionamento, criei uma página como forma de testar a solução. O que ocorre é que quando seleciona uma opção no select box  "Categorias", o Ajax manda um request para o php script onde o mesmo retorna os valores corretamente em JSON conforme a imagem do console do navegador Chrome abaixo:
       
       
       
      Até aqui os valores relacionados com a opção selecionada no select box "Categorias" são carregados corretamente porém se eu não atualizar a página "F5" e ao mesmo tempo eu selecionar alguma outra opção dentro do select box, o input text carrega além dos valores relacionados, todos os valores não relacionados com a opção selecionada ou seja, o input text somente carrega os valores corretamente se eu atualizar a página em questão.
       
      Abaixo uma imagem demonstrando os valores carregados em uma input text quando seleciono uma outra opçao no select box quando não se atualiza a página. Todos os valores não relacionados também são carregados:
       

       
      Abaixo publico o html e os scripts Ajax, Typeahead e PHP que estou utilizando neste projeto:
       
      HTML
      <!DOCTYPE html> <html lang="en"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta charset="utf-8"> <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css"> <!-- jQuery library --> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script> <!-- jQuery UI library --> <link rel="stylesheet" href="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <script src="https://ajax.googleapis.com/ajax/libs/jqueryui/1.12.1/jquery-ui.min.js"></script> <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/bootstrap-3-typeahead/4.0.2/bootstrap3-typeahead.min.js"></script> </head> <body> <div class="container"> <br> <h1>DYNAMIC TWITTER TYPEAHEAD</h1> <br> <div class="row"> <?php // Include the database config file include_once 'dbConfig.php'; // Fetch all the country data $query = "SELECT * FROM categorias ORDER BY categoria ASC"; $result = $db->query($query); ?> <!-- categoria dropdown --> <div class="col-md-4"> <select id="categoriaFK" name="categoriaFK" class="form-control"> <option value="">seleciona categoria</option> <?php if($result->num_rows > 0){ while($row = $result->fetch_assoc()){ echo '<option value="'.$row['categoriaID'].'">'.$row['categoria'].'</option>'; } }else{ echo '<option value="">Categoria não encontrada</option>'; } ?> </select> </div> <div class="col-md-4" id="prod"> <div ><input type="text" name="produtos" id="produtos" class="form-control input-lg typeahead" autocomplete="off" placeholder="" /></div> </div> <div class="col-md-4"> <div id="imagem" name="imagem"></div> </div> </div> </div> </body> </html>  
      No script abaixo, o Ajax envia um request para o script PHP que por sua vez retorna os valores em JSON para o Ajax que envia para o TypeAhead e carrega o input text com valores relacionados. Após selecionar uma opção no input text, o Jquery envia um valor relacionado para a div "#imagem" :
       
      $(document).ready(function(){ var produtos; var nomes = []; // array var lista = {}; // objeto $('#categoriaFK').on('change', function(){ var queryID = $(this).val(); $.ajax({ url:"fetch.php", method:"POST", data:{categoria:queryID}, dataType:"json", success:function(data){ console.log(data); $.each(data, function(i, optionHtml){ $('#produtos').append(optionHtml); }); $("#imagem").empty(''); $(".typeahead").val(''); produtos = data; } }); $('.typeahead').typeahead({ source: function(query, result) { $.each(produtos, function(idx, item){ if(!~nomes.indexOf(item.nomeProduto)) nomes.push(item.nomeProduto); lista[item.nomeProduto] = item.imagem; }); return result(nomes); }, afterSelect: function (data) { var img = lista[data]; $('#imagem').html(img); }, }); }); });  
      Abaixo, o php script que seleciona os valores baseando-se no valor selecionado do select box e os envia em formato JSON para o Ajax:
       
      <?php require_once 'dbConfig.php'; if(!empty($_POST["categoria"])){ $query = " SELECT * FROM produtos WHERE categoriaFK = ".$_POST['categoria']." "; $result = $db->query($query); $data = array (); if ( $result->num_rows > 0 ) { while($row = $result->fetch_assoc ()) { $data[] = $row; } header("Content-type: application/json; charset=utf-8 cache-control: no-cache, no-store, must-revalidate"); echo json_encode($data); exit(); } } ?> No caso como mencionado acima, nesta página que criei demonstra o funcionamento de todo o código acima, porém acredito que devo modificar o script para que o mesmo carregue valores corretamente quando seleciono alguma opção no select box "Categorias" sem precisar atualizar a página para que o mesmo carregue corretamente. 
       
      Como posso proceder? Desde já agradeço a atenção de todos.
    • By noxer
      Boa tarde, Preciso atribuir o valor de uma textarea para uma var e a exibir em um p. Fiz bem simples usando js/jquery mas agora preciso fazer em php.
       
      Ja tentei $variavel = $_POST['nomedocampo']; mas não obtive resultado
       
       
      Segue o trecho em js
      <textarea class="wapf-input" ></textarea> <button class="sendPDF">PDF</button> <p class="geratedPDF"></p>  
      $('.sendPDF').on('click', toPDF) function toPDF() { var textareaValue = $('.wapf-input').val() $('.geratedPDF').text(textareaValue) }
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.