php/mysql/tinymce

3 innlegg i emnet

Skrevet

Heisann.

Jeg har et problem her, og det er at når jeg skal lage en ny "post" i en tagwall jeg har laget her, vil ikke databasen søttte html. Altså, meldinger som postes blir slik:

<p>dette er <b>en<b /> test</p>

ikke:

dette er en test

Altså, hvordan får man databasen til å oppfatte disse HTML kodene? Beklager at dette er veldig uklart forklart.

										<h2>Post i tagwallen</h2><br>

<?php
if (!$_POST[addpost]){
?>

<form method="post">
<div class="greyBox"><strong>Emne:<br></strong> <input name="emne" type="text"></div>
<strong></strong> <input name="dato" value="<?php echo date("d.m.y"); ?>" type="hidden"></div>
<strong></strong> <input name="poster" value="<?php echo "$logged[username]"; ?>" type="hidden">
<strong></strong> <input name="habboname" value="<?php echo "$logged[habboname]"; ?>" type="hidden">
<input name="motto" value="<?php echo "$logged[motto]"; ?>" type="hidden">



<div class="greyBox"><strong>Beskjed:</strong><br>


<script type="text/javascript" src="/panel/tiny/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "textareas",
theme : "simple",
plugins : "emotions",

// Theme options
theme_advanced_buttons1 : "bold,italic,underline,strikethrough,justifyleft,justifycenter,justifyright,justifyfull,stylesel
ct,formatselect,fontselect,fontsizeselect",
theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,search,replace,bullist,numlist,outdent,indent,blockquote,und
,redo,link,unlink,anchor,image,cleanup,help,code,insertdate,inserttime,preview,forecolor,backcolor",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "top",
theme_advanced_resizing : true,

// Example content CSS (should be your site CSS)
content_css : "/panel/tiny/css/content.css",

// Drop lists for link/image/media/template dialogs
template_external_list_url : "/panel/tiny/lists/template_list.js",
external_link_list_url : "/panel/tiny/lists/link_list.js",
external_image_list_url : "/panel//tiny/lists/image_list.js",
media_external_list_url : "/panel/tiny/lists/media_list.js",

// Replace values for the template plugin
template_replace_values : {
username : "Some User",
staffid : "991234"
}
});
</script>
<!-- /TinyMCE -->

</head>

<textarea id="display" name="display" rows="15" cols="80" style="width: 80%"></textarea>







<input type="submit" name="addpost" value="Legg til">

<?php
}else{
$emne = htmlspecialchars(addslashes($_POST[emne]));
$text = htmlspecialchars(addslashes($_POST[text]));
$id = htmlspecialchars(addslashes($_POST[id]));
$dato = htmlspecialchars(addslashes($_POST[dato]));
$motto = htmlspecialchars(addslashes($_POST[motto]));
$poster = htmlspecialchars(addslashes($_POST[poster]));
$habboname = htmlspecialchars(addslashes($_POST[habboname]));
$motto = htmlspecialchars(addslashes($_POST[motto]));
if($emne==NULL || $text==NULL) {
echo("<strong>Du må fylle inn alle feltene!</strong><br>Du blir overført om litt.
<meta http-equiv=\"Refresh\" content=\"2; URL=index.php?p=add_tagwall_post\">");
}else{
echo("<strong>Tråden er vellykket lagt til!</strong><br>Du vil bli videreført til kategorisiden.
<meta http-equiv=\"Refresh\" content=\"2; URL=index.php?p=admin_tagwall\">");
$insertCategories = "INSERT INTO `tagwall` ( `emne` , `poster`, `habboname` , `text`, `id`, `dato`) VALUES ('".$emne."', '".$habboname."', '".$poster."', '".$text."', '".$id."', '".$dato."')";
mysql_query($insertCategories) or die("MySQL Error.");
$date = date("d/m/y - h:ia");
$insertLog = "INSERT INTO `logs` ( `log` , `date` ) VALUES ('<strong>$logged[username]</strong> postet en post i tagwallen!! <strong></strong>', '$date')";
mysql_query($insertLog) or die('MySQL Error.');
}
}
?>[/codebox]

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Hmm... Går det ikke an å redigere emner her?

Btw.

- Problemet mitt her er at jeg bruker en TINYMCE editor, og når jeg skal legge til nye poster, funker det helt greit.

Saken er at når jeg har lagt til en post, viser posten ikke i HTML, men ren basic tekst. Altså, om jeg bruker bold med TINYMCen

så vil den bolde teksten vises som basic tekst, og "det var en gang <b>EN<B /> liten jente", men som egentlig skulle vært

"det var EN gang en liten jente."

Hvordan får man det til å støtte html?

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Skrevet

Bytt ut eksisterende del av koden med denne.. Alternativt kan du bruke htmlspecialchars_decode(stripslashes($text)) i skriptet 'index.php?p=admin_tagwall'.

<viktig>

Ser forresten ikke hensikten med å kjøre alle de variablene igjennom POST-metoden. Det er et sikkerhetshull!

Variablene $id, $dato, $motto (hva enn det er/betyr), $poster og $habboname er særskilt dumt og unødvendig å dra i gjennom ett HTML-dokument (klient) og tilbake til server (du vet vel at "hidden" input-verdier er fullt mulig å redigere AV klient?). Det er viktig at du heller henter og bruker disse variablene i den kodeinstansen jeg har skrevet om under. Jobb mer med koden din, dette er ikke sikkert nok!

</viktig>

"Nakkeskudd" på han som har skrevet denne koden til deg. :P

<?php

}else{

$emne = htmlspecialchars(addslashes($_POST[emne]));

$text = $_POST[text];

$id = $_POST[id]; // IKKE HENT DENNE FRA POST-METODEN!!!!!!!!

$dato = $_POST[dato]; // IKKE HENT DENNE FRA POST-METODEN!!!!!!!!

$motto = htmlspecialchars(addslashes($_POST[motto])); // IKKE HENT DENNE FRA POST-METODEN!!!!!!!!

$poster = htmlspecialchars(addslashes($_POST[poster])); // IKKE HENT DENNE FRA POST-METODEN!!!!!!!!

$habboname = htmlspecialchars(addslashes($_POST[habboname]));

if($emne==NULL || $text==NULL) {

echo("<strong>Du må fylle inn alle feltene!</strong><br>Du blir overført om litt.

<meta http-equiv=\"Refresh\" content=\"2; URL=index.php?p=add_tagwall_post\">");

}else{

echo("<strong>Tråden er vellykket lagt til!</strong><br>Du vil bli videreført til kategorisiden.

<meta http-equiv=\"Refresh\" content=\"2; URL=index.php?p=admin_tagwall\">");

$insertCategories = "INSERT INTO `tagwall` ( `emne` , `poster`, `habboname` , `text`, `id`, `dato`) VALUES ('".$emne."', '".$habboname."', '".$poster."', '".$text."', '".$id."', '".$dato."')";

mysql_query($insertCategories) or die("MySQL Error.");

$date = date("d/m/y - h:ia");

$insertLog = "INSERT INTO `logs` ( `log` , `date` ) VALUES ('<strong>$logged[username]</strong> postet en post i tagwallen!! <strong></strong>', '$date')";

mysql_query($insertLog) or die('MySQL Error.');

}

}

?>

0

Del dette innlegget


Lenke til innlegg
Del på andre sider

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!


Start en konto

Logg inn

Har du allerede en konto? Logg inn her.


Logg inn nå

  • Hvem er aktive   0 medlemmer

    Ingen innloggede medlemmer aktive