---
title: "\"slash\"-problem i gästbok"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/94179-slash-problem-i-gästbok"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "silfver"
published: "2004-01-07T18:05:02.000Z"
updated: "2004-01-08T07:16:09.000Z"
replies: 9
views: 437
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/94179-slash-problem-i-gästbok"
---

# "slash"-problem i gästbok

## #1 — silfver, 2004-01-07T18:05Z

Försökt att söka lite på "stripslash" men jag hittade inget som jag förstod något utav. Men mitt problem är när folk skriver i min gästbok så skapas oönskade "slash"-tecken.

"hejsan" resulterar i
\\"hejsan\\" osv.

Här är koden (jag antar att lösningen ligger i den)

```php
<?
if (isset($_GET["do"]))
{
  if ($_GET["do"] =="new")
  {
   $host = gethostbyaddr($REMOTE_ADDR); 
   $ip = gethostbyname($REMOTE_ADDR); 
   $skrivet = date("Y/m/d  H:i");                            
   $msg= strip_tags($_POST["msg"], '<b><i><u><font>'); 
   $msg = preg_replace("/(\r\n|\r|\n)/", "<br>", $msg);
   $msg = str_replace("|", "&#124;", $msg); 
   $cfile = "../gb.txt"; 
   $fp = fopen($cfile, "r+"); 
   $content = fread($fp, filesize($cfile)); 
   rewind($fp); 
   fwrite($fp, "{$_POST["namn"]} | $msg | $skrivet | $ip\n$content"); 
   fclose($fp);
  } 
 } 
?>
```

 

testade att lägga in:
$msg stripslashes($str);

men då tar den bort "hejsan" och all text som är imellan citationstecken, och det vill jag ju inte.

tacksam för alla svar
mvh

Permalänk: https://www.webforum.nu/p/94179

## #2 — Matte, 2004-01-07T18:27Z

```php
$msg = stripslashes($msg);
```

 
Ska endast ta bort slashes.

Permalänk: https://www.webforum.nu/p/1245198

## #3 — silfver, 2004-01-07T20:31Z

funkar inte.

```php
<?
if (isset($_GET["do"]))
{
  if ($_GET["do"] =="new")
  {
   $host = gethostbyaddr($REMOTE_ADDR); 
   $ip = gethostbyname($REMOTE_ADDR); 
   $skrivet = date("Y/m/d  H:i");                            
   $msg= strip_tags($_POST["msg"], '<b><i><u><font>'); 
   $msg = preg_replace("/(\r\n|\r|\n)/", "<br>", $msg);
   $msg = str_replace("|", "&#124;", $msg); 
   $msg = stripslashes($msg);
   $cfile = "../gb.txt"; 
   $fp = fopen($cfile, "r+"); 
   $content = fread($fp, filesize($cfile)); 
   rewind($fp); 
   fwrite($fp, "{$_POST["namn"]} | $msg | $skrivet | $ip\n$content"); 
   fclose($fp);
  } 
 } 
?>
```

Permalänk: https://www.webforum.nu/p/1245244

## #4 — Peeer, 2004-01-07T20:38Z

Prova att köra med stripslashes när du skriver ut innehållet istället för när du sparar den.

Permalänk: https://www.webforum.nu/p/1245247

## #5 — silfver, 2004-01-07T20:55Z

Hur menar du Peeer?

Permalänk: https://www.webforum.nu/p/1245252

## #6 — Peeer, 2004-01-07T21:08Z

Med koden ovan sparar du meddelandena till textfilen (eller ser jag helt fel?). Någonstans läser du av texten från textfilen och skriver ut den på skärmen, om du kör stripslashes() där istället så borde det kanske gå lite bättre.

Permalänk: https://www.webforum.nu/p/1245258

## #7 — Pedda, 2004-01-07T21:10Z

Spara inlägget utan stripslashes. (som du gjorde innan)
Sen kör du stripslashes innan du skriver ut inlägget istället.

Permalänk: https://www.webforum.nu/p/1245260

## #8 — silfver, 2004-01-07T21:12Z

Alltså, jag hajar inte :P Har inte lärt mig php än...

```php
<?
if (isset($_GET["do"]))
{
  if ($_GET["do"] =="new")
  {
   $host = gethostbyaddr($REMOTE_ADDR); 
   $ip = gethostbyname($REMOTE_ADDR); 
   $skrivet = date("Y/m/d  H:i");                            
   $msg= strip_tags($_POST["msg"], '<b><i><u><font>'); 
   $msg = preg_replace("/(\r\n|\r|\n)/", "<br>", $msg);
   $msg = str_replace("|", "&#124;", $msg); 
   $msg = stripslashes($msg);
   $cfile = "../gb.txt"; 
   $fp = fopen($cfile, "r+"); 
   $content = fread($fp, filesize($cfile)); 
   rewind($fp); 
   fwrite($fp, "{$_POST["namn"]} | $msg | $skrivet | $ip\n$content"); 
   fclose($fp);
  } 
 } 
?> 
<script type="text/javascript">
function validateForm() {
    if (document.f.namn.value=="") {
        alert("Du måste fylla i ett namn.");
        return false;
    } else if (document.f.msg.value==""){
        alert("Du måste fylla i ditt meddelande.");
        return false;    
    }
}
</script>

<form name="f" action="index2.php?sida=gastbok&_13=fet&topic=Gästbok&start&do=new" method="post" onSubmit="return validateForm()" > 
Ditt namn:<br>
<input type="text" name="namn" class="box"><br>
<br>
Meddelande:<br>
<textarea name="msg" cols="50" rows="8" class="box"></TEXTAREA><br>
<br>
<input  type="submit" value="Skicka" class="knapp" onFocus="this.blur()"> 
</form> 

<table cellspacing=0 cellpadding=2 border=0 width=100%> 
<table cellspacing=0 cellpadding=2 border=0 width=100%> 
<? 

$antal = 5;
if (!isset($_GET["c"]))
    $count = 0;
else
    $count = intval($_GET["c"]);

$gb = file ("../gb.txt");
$total = count($gb);  
$min = $count+1;
$max = $antal + $count;
if($max > $total)
    $max = $total;

if($min==1)
    echo "Förgående";
else
{
    $temp = $min-$antal-1;
    if($temp < 0)
        echo "<b><a href=\"index2.php?sida=gastbok&_13=fet&topic=Gästbok&c=0\">Förgående</a></b>";
    else
        echo "<b><a href=\"index2.php?sida=gastbok&_13=fet&topic=Gästbok&c=$temp\">Förgående</a></b>";
    
} echo " | ";
if ($max < $total)
    echo "<b><a href=\"index2.php?sida=gastbok&_13=fet&topic=Gästbok&c=$max\">Nästa</a></b>";
else
    echo "Nästa";
for ($count; $count < $max; $count++) {
    $value = explode("|",$gb[$count]);
    echo "
        <td  bgcolor=#FFFFFF><i>$value[2] [$value[3]]</i></td><tr> 
        <td><b>Från:</b> $value[0]</td><tr>    
        <td>$value[1]</td><tr>
        <td><hr no shade size=1 color=#999999></td><tr>";
    } 
echo "<br><br>";  
echo "</table><br>Visar kommentar $min till $max av totalt $total\n."; 

?>
```

där är koden, kan ni hjälpa mig?
Peeer du känner säkert igen den ;)

Permalänk: https://www.webforum.nu/p/1245263

## #9 — Peeer, 2004-01-07T21:15Z

```
<? 

$antal = 5;
if (!isset($_GET["c"]))
    $count = 0;
else
    $count = intval($_GET["c"]);

$gb = file ("../gb.txt");
$total = count($gb);  
$min = $count+1;
$max = $antal + $count;
if($max > $total)
    $max = $total;

if($min==1)
    echo "Förgående";
else
{
    $temp = $min-$antal-1;
    if($temp < 0)
        echo "<b><a href=\"index2.php?sida=gastbok&_13=fet&topic=Gästbok&c=0\">Förgående</a></b>";
    else
        echo "<b><a href=\"index2.php?sida=gastbok&_13=fet&topic=Gästbok&c=$temp\">Förgående</a></b>";
    
} echo " | ";
if ($max < $total)
    echo "<b><a href=\"index2.php?sida=gastbok&_13=fet&topic=Gästbok&c=$max\">Nästa</a></b>";
else
    echo "Nästa";
for ($count; $count < $max; $count++) {
    $value = explode("|",$gb[$count]);
    [b]$user = stripslashes($value[0]);
    $message = stripslashes($value[1]);[/b]
    echo "
        <td  bgcolor=#FFFFFF><i>$value[2] [$value[3]]</i></td><tr> 
        <td><b>Från:</b> [b]$user[/b]</td><tr>    
        <td>[b]$message[/b]</td><tr>
        <td><hr no shade size=1 color=#999999></td><tr>";
    } 
echo "<br><br>";  
echo "</table><br>Visar kommentar $min till $max av totalt $total\n."; 

?>
```

Något sådant här borde fungera tycker jag. Observera att det här bara är den sista biten av koden. Formuläret och koden du hade innan forumläret ska vara som du hade den från början.

Permalänk: https://www.webforum.nu/p/1245266

## #10 — silfver, 2004-01-08T07:16Z

**Peeer** is the greatest :D

Permalänk: https://www.webforum.nu/p/1245425

---

Tråden på webben: https://www.webforum.nu/amne/php/94179-slash-problem-i-gästbok
