Avatar billede dennism Nybegynder
14. september 2007 - 14:36 Der er 14 kommentarer og
1 løsning

PHP: strip/addslashes

Jeg har en side hvor jeg gemmer nogle tekst-stykker i en ini-fil.

I kan et lille eksempel af min kode her:
http://www.demaweb.dk/slashes.zip

Problemet er, at jeg skriver i mit textarea skriver:
"hej";"hej igen"

Står der efterføklgede i ini-filen:
booking = "\"hej\";\"hej igen\""

og når jeg derefter læser denne tekst i textarea som laver en stripslashes får jeg:
hej;hej igen

Hvorfor laver stripslashes \" til ingenting? Skulle den ikke gerne ændre det til "?
Avatar billede showsource Seniormester
15. september 2007 - 07:13 #1
Jeg ville bruge stripslashes() før der skrives til fil, og htmlspecialchars() ved visning i textarea
Avatar billede dennism Nybegynder
15. september 2007 - 18:18 #2
Det gør problemet endnu værre, da jeg ved input ""hej";"hej igen"" kun står "hej" i textarea bagefter. :(
Avatar billede showsource Seniormester
15. september 2007 - 20:20 #3
<?php
$fil = "filnavn.txt";

    if(isset($_POST["test"])) {
    $fp = fopen($fil, "w");
      if ($fp) {
        fputs($fp, stripslashes($_POST["test"]));
        fclose($fp);
    }
    }

$string = file_get_contents($fil);

?>


<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">

<textarea name="test" cols="32" rows="6"><?php echo htmlspecialchars($string); ?></textarea><br>
<input type="submit">

</form>
Avatar billede showsource Seniormester
15. september 2007 - 20:24 #4
Du kan vel egentlig også blot bruge readfile($fil) i dit textarea
Avatar billede dennism Nybegynder
15. september 2007 - 20:35 #5
Dette udnytter vel ikke at teksten ligger i en "variabel" i ini-filen?
Avatar billede showsource Seniormester
15. september 2007 - 20:43 #6
Har ikke hentet din zip, så ved ikke hvad det er du gør forkert... :O)
Avatar billede dennism Nybegynder
15. september 2007 - 20:47 #7
Så er vi to :)
Avatar billede plx Nybegynder
15. september 2007 - 21:00 #8
Hvis du kigger på funktionsbeskrivelsen, så kan du ser der er nogle restriktioner på brugen af visse tegn i værdien

http://dk.php.net/parse_ini_file
Avatar billede dennism Nybegynder
16. september 2007 - 09:47 #9
Dermed er jeg nødt til at opbevare mine indholdstekster i andet end en ini-fil. Hvad er normalt at gøre her? At gemme hver indholdstekst i sin egen txt-fil eller?
Avatar billede dennism Nybegynder
16. september 2007 - 15:39 #10
I må gerne smide et svar, så vi kan lukke her :)
Avatar billede erikjacobsen Ekspert
16. september 2007 - 15:44 #11
Nemmest at gemme det i en php.fil og så inkludere den - parsningen sørger php for

  $booking = "\"hej\";\"hej igen\"";
Avatar billede showsource Seniormester
16. september 2007 - 16:15 #12
Ingen point, ellers tak
Avatar billede olebole Juniormester
16. september 2007 - 17:10 #13
<ole>

Brug et format, der er 'native' i det sprog, der skal bruge de pågældende data. Ini-filer er der native funktioner til at behandle i f.eks. VB (selvom MS anbefaler at udfase dem til fordel for at gemme settings i reg-databasen). Er det således en VB-app, der skal bruge settings, er en ini-fil altså brugbar.

Er det derimod en PHP-app, er Eriks forslag absolut at foretrække. Skal du bruge de samme settings i både PHP og JavaScript, kunne du overveje JSON (json_encode og json_decode i PHP5), men mon ikke PHP-array'et er løsningen?

Du kan jo sagtens lave regions ligesom i en ini-fil:

$settings = array();

$settings["text"] = array();
$settings["text"]["booking"] = "Et eller andet";
$settings["text"]["biking"] = "Noget helt andet andet";

$settings["mad"] = array();
$settings["mad"]["frugt"] = "Æbler";
$settings["mad"]["korn"] = "Havre";

- eller:

$settings = array();

$settings["text"] = array(
    "booking" => "Et eller andet",
    "biking" => "Noget helt andet"
);

$settings["mad"] = array(
    "frugt" => "Æbler",
    "korn" => "Havre"
);

/mvh
</bole>
Avatar billede olebole Juniormester
16. september 2007 - 17:12 #14
- det første eksempel er, såvidt jeg husker, det, phpMyAdmin bruger  :)
Avatar billede dennism Nybegynder
08. november 2007 - 21:01 #15
Tak for hjælpen!
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