Avatar billede klaske_ko Nybegynder
28. april 2004 - 13:20 Der er 5 kommentarer og
1 løsning

Indsætning af link fra sql

Heysan.
Jeg ville gerne have hvis man kunne i min shoutbox, slette et tag sådan HELT væk...lige nu kan jeg kun redigere, og jeg kan ik finde ud af at sætte sådan noget ind, jeg har prøvet...men uden held :(

Dette er min sql:

CREATE TABLE shoutbox (
  id int(11) NOT NULL auto_increment,
  tekst text NOT NULL,
  bruger varchar(50) NOT NULL default '',
  dato datetime NOT NULL default '0000-00-00 00:00:00',
  ip varchar(20) NOT NULL default '',
  UNIQUE KEY id (id)
) TYPE=MyISAM;


og dette er min kode:
http://upit.dk/shoutbox.phps

Jeg giver gerne flere points :)
Avatar billede klaske_ko Nybegynder
28. april 2004 - 13:21 #1
Hov, glemte lige...det skal være når man er logget ind som admin naturligvis :)
Avatar billede krydset Nybegynder
28. april 2004 - 13:22 #2
et tag hvad mener du.

mener du at man ikke må kunne taste html ind i din shoutbox

//krydset
Avatar billede taskmgr Nybegynder
28. april 2004 - 13:36 #3
Prøv med det her: (ikke testet)

<?
if(isset($_GET["action"])){
    $UNDER_MODUL = $_GET["action"];
}else{
    $UNDER_MODUL = '';
}
if(isset($_GET["id"])){
    $ID = $_GET["id"];
}else{
    $ID = false;
}

function overskrift($t){
    echo '<h1>'.$t.'</h1>';
}

if($UNDER_MODUL == ''){
    overskrift("Shoutbox");
?>

    <h3>Skriv indlæg</h3>
        <form method="post" action="/shoutbox.php?action=opret">
        <table>
        <tr><td>Navn:</td><td><?
       
        $value = '';
        if($currentuser->Logget_ind){
            $value = $currentuser->Login;
        }
        echo '<input type="text" name="bruger" value="'.$value.'"/>';
        ?></td></tr>
        <tr><td>Tekst:</td><td><textarea rows="4" cols="30" name="tekst" /></textarea></tr>
        <tr><td>&nbsp;</td><td><input type="submit" value="Opret"></td></tr>
        </table>
        </form>

<?
    $resultat = sql("select *,DATE_FORMAT(dato, '%d/%m %Y kl. %H:%i') AS datotekst from shoutbox order by dato desc");

    if(mysql_num_rows($resultat) == 0){
        echo "Der er ikke nogen indlæg i shoutbox'en";
    }else{
        while($row = mysql_fetch_array($resultat)){
            echo '<div class="shoutboxtop">';
            echo '<span class="shoutboxtitle">';
           
            echo htmlentities(stripslashes($row["bruger"]));
               
            echo '</span> '.$row["datotekst"];
            if($currentuser->Admin){
                echo '<span class="shoutboxadmin"><a href="/shoutbox.php?action=rediger&id='.$row["id"].'">rediger</a> - <a href="/shoutbox.php?action=slet&id='.$row["id"].'">slet</a></span>';
            }
            echo '</div>';
            echo '<div class="shoutboxmain">';
            echo nl2br(links(htmlentities(stripslashes($row["tekst"]))));
            echo '</div>';
        }
    }

}


if($UNDER_MODUL == 'opret'){

    if(isset($_POST["tekst"]) and isset($_POST["bruger"])){
        if(strlen($_POST["tekst"]) < 5){
            message("Teksten skal være på minimum 5 tegn.");
            redirect("/shoutbox.php");
        }

        if(isset($_POST["bruger"])){
            if(strlen($_POST["bruger"]) < 2){
                message("Navnet skal være min. 2 bogstaver!");
                redirect("/shoutbox.php");
            }else{
                $bruger = $_POST["bruger"];
            }
        }

        sql("insert into shoutbox (bruger,dato,tekst,ip) values ('".mysql_escape_string($bruger)."',NOW(),'".mysql_escape_string($_POST["tekst"])."','".mysql_escape_string(getenv(REMOTE_ADDR))."')");
        message("Besked er gemt!");
        redirect("/shoutbox.php");
    }else{
        message("Du har ikke indtastet de nødvendige data!");
        redirect("/shoutbox.php");
    }
}

if($UNDER_MODUL == 'rediger'){
    if(!$currentuser->Admin){
        fejl_rettigheder();
        redirect();
    }

    if(isset($ID)){
        if(sql("select id from shoutbox where id='".mysql_escape_string($ID)."'")){

            if(isset($_POST["tekst"])){
                sql("update shoutbox set tekst ='".mysql_escape_string($_POST["tekst"])."' where id='".$ID."'");
                message("Indlægget er redigeret!");
                redirect("/shoutbox.php");
            }else{
                $resultat = sql("select *,DATE_FORMAT(dato, '%d/%m %Y kl. %H:%i') AS dato from shoutbox where id='".mysql_escape_string($ID)."'"." order by dato limit 10");
                while($row = mysql_fetch_array($resultat)){
                    overskrift("Shoutbox: rediger indlæg");
?>
                   
                    <form method="post" action="/shoutbox.php?action=rediger&id=<?=$ID;?>">
                    <tr><td>Tekst:</td><td><textarea cols="50" rows="10" type="text" name="tekst"><?=htmlentities($row["tekst"]);?></textarea></td></tr>

                    <tr><td>&nbsp;</td><td><input type="submit" value="Rediger"></td></tr></table>
                    </form>
<?
                }
            }
        }
    }
}

if($UNDER_MODUL == 'slet'){
    if(!$currentuser->Admin){
        fejl_rettigheder();
        redirect();
    }

    if(isset($ID)){
        sql("DELETE FROM shoutbox where id='".mysql_escape_string($ID)."'");
        message("Indlægget er slettet!");
        redirect("/shoutbox.php");
    }
}
?>
Avatar billede klaske_ko Nybegynder
28. april 2004 - 13:37 #4
et tag...et add...en besked om man vil :) (prøver)
Avatar billede klaske_ko Nybegynder
28. april 2004 - 13:52 #5
Smid lige et svar ;) den virker fint ;)

(jeg kan ik acceptere med et samme...)
Avatar billede taskmgr Nybegynder
28. april 2004 - 13:56 #6
Her var et svar :)
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