Avatar billede multicoder Nybegynder
05. marts 2005 - 15:14 Der er 7 kommentarer og
1 løsning

Input/output af ” og ’ til mysql database via html form

Input/output af ” og ’ til mysql database via html form

Hej

Jeg har et input felt at typen text, hvor brugeren skal ha mulighed for at indtaste ” og ’.
Senere skal brugeren så kunne redigere i teksten, her kommer problemet så, for indeholder teksten ” er det kun teksten før ” der bliver vist.

Min egen løsning på det er og lave en funktion der omskriver ” til "

Men jeg er lidt usikker på om det er den rigtige løsning på problemet.

Pft
Mads
Avatar billede bojo Nybegynder
05. marts 2005 - 15:21 #1
jeg har løst noget tilsvarende med http://dk2.php.net/manual/da/function.addslashes.php
Avatar billede coderdk Praktikant
05. marts 2005 - 15:39 #2
Når du indsætter i databasen, husk mysql_real_escape_string, når du skriver teksten ud i dine html-forms husk htmlentities() :)
Avatar billede Slettet bruger
05. marts 2005 - 16:19 #3
det kunne f.eks. være smart at have en funktion til, når noget skal indsættes, og en funktion til når noget skal "trækkes ud" fra databasen:

<?
class $tekstformatering
    {
    function ind($id)
        {
        $id = addslashes($id);
        return $id;
        }
   
    function ud($id)
        {
        $id = stripslashes($id);
        return $id
        }
    }
$formatering = new $tekstformatering;

//Indsæt i database eksempel
mysql_query("INSERT INTO tabel (kolonne) VALUES ('". $formatering->ind($_POST['teksten']) ."')");

//Redigering eksempel
$query = mysql_query("SELECT * FROM tabel WHERE id=". $_SESSION['id'] ." LIMIT 1");
$row = mysql_fetch_array($query);
echo "
<form action=\"\" method=\"post\" name=\"minform\">
    <textarea name=\"teksten\">". $formatering->ud($row['teksten']) ."</textarea>
</form>";
?>
Avatar billede multicoder Nybegynder
05. marts 2005 - 16:21 #4
Hej igen

Jeg har slået magic_quotes_gpc til i min php konfiguration så der er ingen problemer mht. SQLen det er mere når jeg så henter dataen ud igen og vil vise den i et formular felt
Fx <INPUT type=”text” value=”data fra SQL’en med ” i”> så opstår der problemer.

Det er meningen at man skal kunne indtaste HTML kode i formular feltet.

Vi skal se bort fra sikkerheden i det her :)
Avatar billede coderdk Praktikant
05. marts 2005 - 16:31 #5
<input type="text" value="<?php echo htmlentities( $row['ditfelt'] ); ?>" name="navn">
Avatar billede Slettet bruger
05. marts 2005 - 16:33 #6
@ coderdk. Der får du et problem hvis du bruger <textarea> og vil have nl2br på!
Avatar billede multicoder Nybegynder
05. marts 2005 - 16:51 #7
Jeg har testet mit script af med funktionen htmlentities() og det ser ud til at det virker.  jeg takker...

Smider du lige et svar coderdk
Avatar billede coderdk Praktikant
05. marts 2005 - 17:09 #8
Yeps :)
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