Solucionado (ver solução)
Solucionado
(ver solução)
2
respostas

Enviar formulário com Javascript

Olá! Eu criei um pequeno sistema pra favoritar título, eu consegui criar apenas com PHP, mas com ele toda vez q eu clico em favoritar a página recarrega, e eu não queria isso. Pesquisei e vi que tem como fazer com javascript, me aventurei um pouco e consegui enviar, mas quando é pra remover eu não consigo por causa da condição q eu tinha passado.

Esse foi o código que eu achei na net pra enviar:

<script type="text/javascript">

$(function(){

    $('#favoritar').submit(function(event){
        event.preventDefault();
        var formDados = new FormData($(this)[0]);

        $.ajax({
            url:'http://localhost/lista/favoritar.php',
            type:'POST',
            data:formDados,
            cache:false,
            contentType:false,
            processData:false,
            success:function(data){
                $('#resultado').html(data);
                alert('Favoritado Com Sucesso!');

            },
            dataType:'html'
        });
        return false;
    });
});

</script>

A condição do meu php está assim:

<form method="POST" id="favoritar">
                   <input type="hidden" value="<?php echo $row["id"]; ?>" name="id_titulo">
                   <?php
                     $favorito = mysqli_query($con,"SELECT * FROM favoritos WHERE usuario='$login_cookie' AND titulo='$id'");
                     $favoritos = mysqli_fetch_assoc($favorito);
                     if (mysqli_num_rows($favorito)>=1 AND $favoritos["favoritado"]=="sim") {
                       ?>
                       <label for="remover" class="remover">
                       <i class="fa fa-heart" aria-hidden="true"></i>
                 </label>
                           <input type="submit" value="Remover" name="remover" id="remover" hidden>
                         <?php
                       }else{
                         ?>
                         <label for="favoritar" class="favoritar">
                         <i class="fa fa-heart-o" aria-hidden="true"></i>
                         </label>
                       <input type="submit" name="add" value="Favoritar" id="favoritar2" hidden>
                       <?php
                     }
                   ?>

                 </form>

O que eu estou querendo saber é como fazer a condição remover depois que eu favorito. O PHP dela já está pronto:

$login_cookie = $_COOKIE['login'];
    if (!isset($login_cookie)) {
      header("Location: login.php");
    }

    $con = mysqli_connect('localhost', 'root', '', 'lista');

    $id = $_GET['id'];
    $saberr = mysqli_query($con,"SELECT * FROM titulo WHERE id='$id'");
    $saber = mysqli_fetch_assoc($saberr);
    $titulo = $saber['id'];

    $ins = "DELETE FROM favoritos WHERE usuario='$login_cookie' AND titulo='$titulo'";
    $conf = mysqli_query($con, $ins) or die(mysqli_error());
    if ($conf) {
      header("Location: titulo.php?id=".$id);
    }else{
      echo "<h3>Erro ao remover...</h3>";
    }
  }
2 respostas
solução!

Charles, tudo bem ?

Cara passei para o instrutor sua dúvida !

Um ponto para você melhorar na hora de criar novas dúvidas é colocar num nicho mais especifico como off topic a galera demora mais para responder :(

Olá! Consegui resolver.