Avatar billede tobrukDk Novice
22. juni 2013 - 12:28 Der er 5 kommentarer og
1 løsning

Angive "synes godt om" via <a href="#"....

F.eks hvis jeg har 2 kommentar så og jeg synes godt om en af dem, og den anden synes jeg dårligt om så bliver det 0., men hvis jeg synes dårligt om en ting 2 gange. så bliver det -2 men hvis jeg liker 1 gang så er det -1, men så over i den anden liker jeg for kommentar så bliver den til 0 der hvor jeg var før, men så har jeg +1 der hvor jeg lige har klikket

sådan her ser det ud lige nu:


<form action="#" method="post">
<input type="submit" name="glike" value="Synes godt om" class="synes_godt_om">
</form>
<form action="#" method="post">
<input type="submit" name="dlike" value="Synes dårligt om" class="synes_ikke_om">
</form>


sådan her ser det ud når jeg skal kører mit php kode:


if(isset($_POST["glike"]))
            {
                if($stmt = $this->mysqli->prepare('UPDATE `forslag_kommentar` SET `glike`=? WHERE `indhold_id`=?' ))
                {
                    $stmt->bind_param('si', $glike, $id);
                    $glike = +1;
                    $id = $_GET["id"];
                    $stmt->execute();
                   
                    if($stmt->insert_id && $stmt->insert_id > 0)
                    {
                        echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
                    }
                   
                    $stmt->close();
                }
                else
                {
                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                }
            }
            if(isset($_POST["dlike"]))
            {
                if($stmt = $this->mysqli->prepare('UPDATE `forslag_kommentar` SET `dlike`=? WHERE `indhold_id`=?' ))
                {
                    $stmt->bind_param('si', $glike, $id);
                    $glike = +1;
                    $id = $_GET["id"];
                    $stmt->execute();
                   
                    if($stmt->insert_id && $stmt->insert_id > 0)
                    {
                        echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
                    }
                   
                    $stmt->close();
                }
                else
                {
                    echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
                }
            }


har prøve sådan her:


('UPDATE `forslag_kommentar` SET glike = glike + 1 WHERE `indhold_id`=?'))
('UPDATE `forslag_kommentar` SET glike = glike -1 WHERE `indhold_id`=?'))


Der virker det her fint.


('UPDATE `forslag_kommentar` SET glike = glike -1 WHERE `id`=?'))
('UPDATE `forslag_kommentar` SET glike = glike + 1 WHERE `id`=?'))


det her virker ikke.. :(

id det er indhold som er blevet angivet af indhold.

indhold_id er den side som man er ind på, f.eks side 2 så er det 2, men hvis det er 5 så er det bare 5. 

Det her virker overhovedet ikke på nogle måde.

det er ligesom når man klikker på dem så sker der intet overhovedet.

Hvis jeg liker altså synes godt om, så tag den fat i alle dem fra den side og "like" dem selvom man ikke har, så det jeg skal have hjælp til er når jeg liker på f.eks id 1 så skal den sige til database at det er id 1 vi har taget fat i. og det IKKE er alle sammen.

så ligemeget så når jeg synes godt om en af tingene som jeg har på siden skal talt være unik, hvis jeg skal tag fat i id fra database omkring kommentar så skal jeg skriver sådan her;



<?php echo $id;?>


Håber du kan se problemet
Avatar billede Slettet bruger
22. juni 2013 - 12:47 #1
Det bliver svært (sværere) at forhindre at folk liker deres egen kommentar 500 gange, hvis ikke du gemmer klikket/stemmen i en seperat person(ip?)/kommentarID tabel.

Selv dét er nu heller ikke så let, for mange personer fra samme organisation (firma) kan godt komme ind med samme ip-adresse..

Det er et klassisk problem - når der skal tælles - folk (særligt kvinder!) snyder!

Iøvrigt har den slags uforpligtende ris/ros-knapper det med at udarte til paranoia (og forfølgelse!)
og i det hele taget, ødelægge den gode stemning (særligt den negative mulighed)..

PS: Men godt at se at du er gået over til mysqli siden jeg sidst var aktiv : )
Avatar billede Slettet bruger
22. juni 2013 - 12:49 #2
Men måske denne tråd kan lokke nogen, med en god løsning på snyde-problemet, ud af busken  ?
Avatar billede tobrukDk Novice
22. juni 2013 - 12:54 #3
Altså det skal blive brygt på et lukket forum,

Tak, Jeg har snart arbejde med mysqli i 1 år :)

men ej hvor bare om man bare skal synes godt om indlæg :) og det er det kun :) så man ikke kan "synes" om kommentar :)
Avatar billede tobrukDk Novice
22. juni 2013 - 14:00 #4
gøre sådan her


if(isset($_POST["glike"]))
        {
            if($stmt = $this->mysqli->prepare('UPDATE `like_system` SET glike = glike + 1 WHERE `indhold_id`=?'))
            {
                $stmt->bind_param('i', $id);
                $id = $_GET["id"];
                $stmt->execute();
               
                if($stmt->insert_id && $stmt->insert_id > 0)
                {
                    echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
                }
               
                $stmt->close();
            }
            else
            {
                echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
            }
        }
        elseif(isset($_POST["dlike"]))
        {
            if($stmt = $this->mysqli->prepare('UPDATE `like_system` SET glike = glike -1 WHERE `indhold_id`=?'))
            {
                $stmt->bind_param('i', $id);
                $id = $_GET["id"];
                $stmt->execute();
               
                if($stmt->insert_id && $stmt->insert_id > 0)
                {
                    echo '<meta http-equiv="refresh" content="0;URL=".curPageURL().">';
                }
               
                $stmt->close();
            }
            else
            {
                echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
            }
        }
        if ($stmt = $this->mysqli->prepare('SELECT `glike`, `navn` FROM `like_system` WHERE `indhold_id` = ?')) {
            $stmt->bind_param('i', $id);
            $id = $_GET['id'];
            $stmt->execute();
            $stmt->bind_result($glike, $navn);
            while ($stmt->fetch()) {
                if($glike == 0)
                {
                ?>
                <form action="#" method="post">
                    <input type="submit" name="glike" value="Synes godt om" class="synes_godt_om">
                </form>
                <form action="#" method="post">
                    <input type="submit" name="dlike" value="Synes dårligt om" class="synes_ikke_om">
                </form>
                <?php
                }
                elseif($glike == 0)
                {
                ?>
                <form action="#" method="post">
                    <input type="submit" name="glike" value="Synes godt om" class="synes_godt_om">
                </form>
                <?php
                }
                else
                {   
                ?>
                <form action="#" method="post">
                    <input type="submit" name="dlike" value="Synes dårligt om" class="synes_ikke_om">
                </form>
                <?php
                }
            }
            $stmt->close();
        } else {
            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
        }
        if ($stmt = $this->mysqli->prepare('SELECT `glike` FROM `like_system` WHERE `indhold_id` = ?')) {
            $stmt->bind_param('i', $id);
            $id = $_GET['id'];
            $stmt->execute();
            $stmt->bind_result($glike);
           
            while($stmt->fetch())
            {
                echo "Synes godt om " . $glike;
            }
            $stmt->close();

        } else {
            echo 'Der opstod en fejl i erklæringen: ' . $mysqli->error;
        }
Avatar billede tobrukDk Novice
23. juni 2013 - 14:06 #5
lukker den bar..
Avatar billede tobrukDk Novice
23. juni 2013 - 14:06 #6
kontakt mig hvis du vil høre om point, ;)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester