Avatar billede tobrukDk Novice
24. februar 2013 - 00:45 Der er 15 kommentarer og
1 løsning

Væk med \ under fremvisen

Hej

Jeg har fået/bygget lavet sådan at man kan se kode på min hjemmeside men når den bliver fremvist på siden så tager den \ med og når jeg skal prøve at opdater den så skriver den bare \ igen.. den tilføjer bare en ny hvis jeg glemmer at tag den væk.

Her har jeg gjort det;


$hej = "Hej";
$jesper = "Jesper";
echo $hej . " " . $jesper;

Det er lige før jeg updater det igen igen..... igen..

så når jeg har opdater indhold og prøve kigge på det igen så ser det sådan her ud;


$hej = \"Hej\";
$jesper = \"Jesper\";
echo $hej . \" \" . $jesper;


Det er hver gang der er " så laver den bare før sådan en her; \"

det er når jeg opret til databasen:

function opret_artikler()
    {
        $pb = null;
                           
        include "inc/class.upload.php";
        $handle = new Upload($_FILES["file"]);
       
        if($handle->uploaded)
        {
            $handle->image_resize = true;
            $handle->image_ratio_crop = true;
            $handle->image_y = 90;
            $handle->image_x = 191;
            $handle->Process("artikler_img");
           
            //til profil billede lign..
            $handle->image_resize = true;
            $handle->image_ratio_crop = true;
            $handle->image_y = 75;
            $handle->image_x = 75;
            $handle->Process("artikler_img/lille");
            $pb = $handle->file_dst_name;
        }
   
        $tu = $_POST["title_url"];
 
        $from = array(".", "/", "-", '"', "'", " ", "æ", "Æ", "ø", "Ø", "å", "Å");
        $to = array("-", "-", "-", "", "", "-", "ae", "Ae", "oe", "Oe", "aa", "Aa");
        $alias = strtolower(str_replace($from, $to, $tu));   
   
        if ($stmt = $this->mysqli->prepare("INSERT INTO `artiker` (`title`, `kort`, `video`, `tekst`, `tag`, `url`, `img`, `img_title`, `dw`) VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?)")) {

            $stmt->bind_param('sssssssss', $title, $kort, $video, $tekst, $tag, $url, $img, $img_title, $dw);

            /* Sæt værdier på parametrene */
            $title = $_POST['title'];
            $kort = $_POST['kort'];
            $video = stripslashes($_POST['video']);
            $tekst = $_POST['tekst'];
            $tag = $_POST["tag"];
            $url = $alias;
            $img = $pb;
            $img_title = $_POST["img_title"];
            $dw = $_POST["dw"];

            /* Eksekver forespørgslen */
            $stmt->execute();

            /* Luk statement */
            $stmt->close();
           
            ?>
            <script language="javascript" type="text/javascript"> 
                window.location.href = "/artikler-side/"; 
            </script>
            <?php

        } else {
            /* Der er opstået en fejl */
            echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
        }   
    }


så når jeg skal opdater så har jeg gjort sådan her


function ret_artikler()
    {
    ?>
    <div class="span7 clearfix">
        <?php
        if(isset($_POST["opret"]))
        {
            if(empty($_POST["tekst"]))
            {
                echo "Skrive <b>title</b> til artiklen!<br />";
            }
            elseif(empty($_POST["kort"]))
            {
                echo "Skrive <b>Kort tekst</b> til artiklen!<br />";
            }
            else
            {
                if ($stmt = $this->mysqli->prepare("UPDATE `artiker` SET `godkendt`=?, `kort`=?, `tekst`=? WHERE `id`=?")) {

                    /* Bind parametre */
                    $stmt->bind_param('issi', $godkendt, $kort, $tekst, $id);
                    $godkendt = 0;
                    $kort = $_POST["kort"];
                    $tekst = $_POST["tekst"];
                    $id = $_GET["id"];

                    /* Eksekver forespørgslen */
                    $stmt->execute();

                    /* Luk statement */
                    $stmt->close();
                   
                    ?>
                    <script language="javascript" type="text/javascript"> 
                        window.location.href = "/admin/"; 
                    </script>
                    <?php

                } else {
                    /* Der er opstået en fejl */
                    echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
                }
            }
        }
        ?>
    </div>
    <div class="span7 clearfix">
    <?php
    if ($stmt = $this->mysqli->prepare("SELECT `kort`, `tekst` FROM `artiker` WHERE `id` = ?")) {

    /* Bind parametre */
    $stmt->bind_param('i', $id);

    /* Sæt værdier på parametrene */
    $id = $_GET['id'];

    /* Eksekver forespørgslen */
    $stmt->execute();
    $stmt->store_result();

    /* Bind resultatet */
    $stmt->bind_result($kort, $tekst);

    /* Hent rækker og udskriv data */
    while ($stmt->fetch()) {
    ?>
    <form action="#" method="post">
        <table width="100%">
        <tr>
            <td>Kort:</td>
            <td><input type="text" name="kort" maxlength="150" value="<?php echo $kort;?>"></td>
        </tr>
        </table>
        <textarea name="tekst" rows="15" cols="80" style="width: 90%"><?php echo $tekst;?></textarea>
        <input type="submit" name="opret" value="Opret Indhold">
    </form>
    <?php
    }
        $stmt->close();
    } else {
        echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
    }
    ?>
   
    </div>
    <?php
    }



når jeg henter det ned på siden gøre jeg sådan her;


<div class="span6">
                                            <h2><?php echo $title;?></h2>
                                            <?php echo $video;?>
                                            <?php
                                            if($dw = "PHP" or $dw = "MySQLi")
                                            {
                                            ?>
                                            <code>
                                              <pre>
                                            <?php
                                                $html = "<?php \n";
                                                $html .= $tekst;
                                                $html .="\n ?>";
                                                echo htmlentities($html);
                                            ?>
                                            </pre>
                                            </code>
                                            <?php
                                            }
                                            elseif($dw = "")
                                            {
                                                echo "<p>Har ingen kode til den opgave!</p>";   
                                            }
                                            else
                                            {
                                            ?>
                                            <code>
                                              <pre>
                                                <?php echo $tekst;?>
                                            </pre>
                                            </code>
                                            <?php
                                            }
                                            ?>
                                        </div>



Håber du kan hjælp mig videre til jeg kan få klart det her!. :)
Avatar billede lclemens Nybegynder
24. februar 2013 - 02:49 #1
Avatar billede tobrukDk Novice
24. februar 2013 - 13:15 #2
Jeg bruger mysqli jeg bruger ikke det gammel mysql.
Avatar billede tobrukDk Novice
24. februar 2013 - 13:52 #3
Du hjælpe mig en del!

skulle bare gøre sådan her


<?php
                                            if (get_magic_quotes_gpc())
                                            {
                                                $html = "<?php \n";
                                                $html .= stripslashes($tekst);
                                                $html .="\n ?>";
                                                echo htmlentities($html);
                                            }
                                            ?>
Avatar billede lclemens Nybegynder
24. februar 2013 - 13:57 #4
Jeg ville vende den om, og gøre det ved submit - før indsættelse i db'en (således den oprindelige tekst bliver gemt uberørt).
Avatar billede tobrukDk Novice
24. februar 2013 - 14:02 #5
Det har hjælpe en del, og der er ingen problemer nu, vil du lige et svar :D
Avatar billede olsensweb.dk Ekspert
24. februar 2013 - 14:20 #6
#3 hvad hvis der ikke er installeret magic_quotes på severen (fjernet i fremtidige vertioner af PHP)
så vil du med nuværende code ikke få skrevet noget ud :(

jeg ville lave det sådan
(utested)

<?php
    if (get_magic_quotes_gpc()){
        $tekst = stripslashes($tekst);
    }
    $html = "<?php \n";
    $html .= $tekst;
    $html .="\n ?>";
    echo htmlentities($html);                                           
?> 
Avatar billede tobrukDk Novice
24. februar 2013 - 14:36 #7
Ja okay det kan jeg godt se :)
Avatar billede lclemens Nybegynder
24. februar 2013 - 16:02 #8
#6

Hvad gør du, hvis tilstanden er "on" - men data er gemt i db'en uden magic quotes?
Avatar billede tobrukDk Novice
24. februar 2013 - 16:09 #9
#8 det komme jeg også lige i tænkt f.eks hvis jeg lave sådan en her


\n
Avatar billede olsensweb.dk Ekspert
24. februar 2013 - 17:16 #10
>hvis tilstanden er "on"
tilstanden er on set ved en phpinfo i http://www.udvikleren.dk/forum/39619/fremvise-kode-paa-siden/side2/  "24.02.13 13:47" hvor der er et link til phpinfo

jeg vil helt klart gemmen uden magicquotes, og slå det fra på serveren / få udbyderen til at slå det fra
(fjernet i php vertion 5.4.0)

af sammen årsag spurgte jeg om følgende
[i]hvis du kigger i databasen i tabellen artiker feltet tekst er der så \ i teksten ??
for hurtigt at se om det er input eller output siden af db du/vi skal kigge[i] i tråden på udvikleren "24.02.13 09:46 "
Avatar billede lclemens Nybegynder
24. februar 2013 - 17:23 #11
Det var bare fordi du skrev: "jeg ville lave det sådan". Du ville vel allerhelst kalde stripslashes ved submit...
Avatar billede tobrukDk Novice
24. februar 2013 - 17:31 #12
Vil i begge lige et svar som tak?
Avatar billede olsensweb.dk Ekspert
24. februar 2013 - 17:42 #13
jo fjern det lort så hurtigt som muligt (har aldrig selv brugt det, og kommer heller ikke til det, har nyere vertion af PHP).
men det er jo bare at flytte if sætningen til lige efter hvor magic_quote kommer på.
jeg ville lave det sådan var til viste code, og for at få jesper til at tænke over, hvad der vil ske med hans udskrift uden magic_quote installeret / on (næste vertion af PHP)
Avatar billede olsensweb.dk Ekspert
24. februar 2013 - 17:42 #14
# 12 Nope ikke mig
Avatar billede tobrukDk Novice
24. februar 2013 - 18:03 #15
#13 hvis jeg selv laver / eller \ så tag den ikke dem væk overhovedet..
Avatar billede tobrukDk Novice
03. marts 2013 - 21:47 #16
Lukker den her samtale efter som der er gået mere endnu 7 dage. :)
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

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