Avatar billede unsafe Nybegynder
15. januar 2005 - 05:15 Der er 10 kommentarer og
1 løsning

Hvad er løsningen på dette?

Når jeg er inde og redigere noget data og der er mellemrum lave det det dobelte af det der findes.

Hvis der er 2:

Så laver den 4:



Ret irreterende. Osv.

Her er min kode til hvor det indsættes i databsen:

<?php
include"mysql.php";

$navn = $_POST['navn'];
$alder = $_POST['alder'];
$koen = $_POST['koen'];
$city = $_POST['city'];
$moet = $_POST['moet'];
$arto = $_POST['arto'];
$lunar = $_POST['lunar'];
$bnavn = $_POST['bnavn'];
$beskriv = $_POST['beskriv'];
$beskriv = str_replace("&apos;","'", $beskriv);
$beskriv = str_replace("'","'", $beskriv);
$beskriv = str_replace(":D","<img border='0' src='smil/big.gif'>", $beskriv);
$beskriv = str_replace(";)","<img border='0' src='smil/blink.gif'>", $beskriv);
$beskriv = str_replace("8D","<img border='0' src='smil/cool.gif'>", $beskriv);
$beskriv = str_replace(":´(","<img border='0' src='smil/cry.gif'>", $beskriv);
$beskriv = str_replace(":-/","<img border='0' src='smil/ehmm.gif'>", $beskriv);
$beskriv = str_replace(";(","<img border='0' src='smil/mad.gif'>", $beskriv);
$beskriv = str_replace(":0","<img border='0' src='smil/orh.gif'>", $beskriv);
$beskriv = str_replace(":O","<img border='0' src='smil/overrask.gif'>", $beskriv);
$beskriv = str_replace("8)","<img border='0' src='smil/roll.gif'>", $beskriv);
$beskriv = str_replace(":(","<img border='0' src='smil/sad.gif'>", $beskriv);
$beskriv = str_replace(":)","<img border='0' src='smil/smil.gif'>", $beskriv);
$beskriv = str_replace(":P","<img border='0' src='smil/tunge.gif'>", $beskriv);
$beskriv = str_replace(":S","<img border='0' src='smil/weird.gif'>", $beskriv);
$beskriv = str_replace("  "," &nbsp;", nl2br(htmlentities(addslashes($beskriv))));

$beskriv = str_replace("&lt;u&gt;","<u>", $beskriv);
$beskriv = str_replace("&lt;/u&gt;","</u>", $beskriv);

$beskriv = str_replace("&lt;i&gt;","<i>", $beskriv);
$beskriv = str_replace("&lt;/i&gt;","</i>", $beskriv);

$beskriv = str_replace("&lt;b&gt;","<b>", $beskriv);
$beskriv = str_replace("&lt;/b&gt;","</b>", $beskriv);

$beskriv = str_replace("&lt;","<", $beskriv);
$beskriv = str_replace("&gt;",">", $beskriv);

if(isset($_POST["beskriv"])) {
mysql_query("INSERT INTO elsker (navn, alder, koen, city, moet, arto, lunar, bnavn, beskriv) VALUES ('$navn', '$alder', '$koen', '$city', '$moet', '$arto', '$lunar', '$bnavn', '$beskriv')");
echo "Du har nu tilføjet endnu en elsker til din liste. Klik <a href=bruger.php>her</a> for at komme tilbage til admin siden.<br><br>Eller du kan klikke <a href=http://www.ramirez.arto.dk target=blank>her</a> for at besøge din arto profil.<br><br><i><a href=java script:history.go(-1)>Tilbage til listen</a></i>";
}

?>


Og min rediger kode:

Code:

<?php
  if ($_GET['id']){

  include"mysql.php";
  $id = $_POST['id'];
  $navn = $_POST['navn'];
  $alder = $_POST['alder'];
  $koen = $_POST['koen'];
  $city = $_POST['city'];
  $moet = $_POST['moet'];
  $arto = $_POST['arto'];
  $lunar = $_POST['lunar'];
  $bnavn = $_POST['bnavn'];
  $beskriv = $_POST['beskriv'];
  $beskriv = str_replace("&apos;","'", $beskriv);
  $beskriv = str_replace("'","'", $beskriv);
  $beskriv = str_replace(":D","<img border=0 src=smil/big.gif>", $beskriv);
  $beskriv = str_replace(";)","<img border=0 src=smil/blink.gif>", $beskriv);
  $beskriv = str_replace("8D","<img border=0 src=smil/cool.gif>", $beskriv);
  $beskriv = str_replace(":´(","<img border=0 src=smil/cry.gif>", $beskriv);
  $beskriv = str_replace(":-/","<img border=0 src=smil/ehmm.gif>", $beskriv);
  $beskriv = str_replace(";(","<img border=0 src=smil/mad.gif>", $beskriv);
  $beskriv = str_replace(":0","<img border=0 src=smil/orh.gif>", $beskriv);
  $beskriv = str_replace(":O","<img border=0 src=smil/overrask.gif>", $beskriv);
  $beskriv = str_replace("8)","<img border=0 src=smil/roll.gif>", $beskriv);
  $beskriv = str_replace(":(","<img border=0 src=smil/sad.gif>", $beskriv);
  $beskriv = str_replace(":)","<img border=0 src=smil/smil.gif>", $beskriv);
  $beskriv = str_replace(":P","<img border=0 src=smil/tunge.gif>", $beskriv);
  $beskriv = str_replace(":S","<img border=0 src=smil/weird.gif>", $beskriv);
  $beskriv = str_replace("  "," &nbsp;", nl2br(htmlentities(addslashes($beskriv))));

  $beskriv = str_replace("&lt;u&gt;","<u>", $beskriv);
  $beskriv = str_replace("&lt;/u&gt;","</u>", $beskriv);

  $beskriv = str_replace("&lt;i&gt;","<i>", $beskriv);
  $beskriv = str_replace("&lt;/i&gt;","</i>", $beskriv);

  $beskriv = str_replace("&lt;b&gt;","<b>", $beskriv);
  $beskriv = str_replace("&lt;/b&gt;","</b>", $beskriv);

  $beskriv = str_replace("&lt;","<", $beskriv);
  $beskriv = str_replace("&gt;",">", $beskriv);

  if(isset($_POST["beskriv"])) {
  mysql_query("UPDATE elsker SET id = '$id', navn = '$navn', alder = '$alder', koen = '$koen', city = '$city', moet = '$moet', arto = '$arto', lunar = '$lunar', bnavn = '$bnavn', beskriv = '$beskriv' WHERE id = '$_GET[id]'");
  echo "Du har du redigeret i en du elsker<br><br><i><a href='java script:history.go(-2)'>Tilbage til listen</a></i>";
  }
}
?>

Kan i finde ud af hvor den gør det. også hvis der er eks <img src='' border=''>

Det bliver til <img src=\''\ border=\''\> og så vidre.

har prøvet at fjerne addslashes i nl2br(htmlentities(addslashes($beskriv))));

Men så virker det ikke.

Kan i mon hjælpe. Vill jeg være rigtig glad for!
Avatar billede erikjacobsen Ekspert
15. januar 2005 - 07:26 #1
Hvad er det du siger, der bliver dobbelt? Mellemrum??
Avatar billede iss Novice
15. januar 2005 - 09:02 #2
Grm din tekst i databasen uden du laver dine $beskriv ting, og kun lav dem når du udskriver, så er alle dine problemer løst....
Avatar billede olebole Juniormester
15. januar 2005 - 14:30 #3
<ole>

Når du replacer, inden du lægger i DB, får du følgende gener ud af det:
1. Du fylder bunker af unødige data i databasen
2. Du vanskeliggør vedligeholdelse af sitet. F.eks, hvis du vil lave din mappestruktur om på sitet, er det ikke fedt at have stier liggende i DB'en. Eller hvis du pludselig ikke ønsker at indsætte smilies.

/mvh
</bole>
Avatar billede unsafe Nybegynder
16. januar 2005 - 02:20 #4
Hmm jamen, hvis jeg fjerner alt dette $beskriv ting ved oprettelsen så vises der da foreksempel ikke smilies på siden??
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 09:03 #5
Det de siger, er at du skal gøre det efter du har sagt SELECT. Det er bestemt en
god idé, men vi skal jo også lige finde ud af hvad der er galt.
Avatar billede unsafe Nybegynder
16. januar 2005 - 17:45 #6
den laver det doblte af hvad jeg har tilføjet og adder tags når jeg er inde og redigere.
Avatar billede erikjacobsen Ekspert
16. januar 2005 - 18:19 #7
Du skal først og fremmest lave din htmlentities før du sætter smilies på.
Og du behøver sikkert ikke addslashes.
Avatar billede unsafe Nybegynder
16. januar 2005 - 20:20 #8
hmm ok, forstod jeg ikke meget af.
Avatar billede martor Nybegynder
20. januar 2005 - 01:24 #9
Har du prøvet at lave det om, så $beskriv gemmes rent og først laves om til HTML ved visning? Tror det vil løse en hel del af dine problemer.
Avatar billede unsafe Nybegynder
23. januar 2005 - 23:05 #10
:D sådan.

mange tak ;)
Avatar billede unsafe Nybegynder
30. marts 2005 - 12:50 #11
:)
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