lørdag, januar 23, 2021

str_replace (PHP)

Daily Rush Debat Programmering str_replace (PHP)

  • Forfatter
    Emne
  • #0

    papa62
    Bruger
    157 indlæg
    Offline

    Jeg kan ikke gennemskue hvorfor flg ikke virker.. Er der nogen der ved hvad der kan være galt?

    Den gør ikke det den skal, ø kommer stadig til at være ø :S

    $tekst = str_replace(“ø”,”ø”,$_POST[‘tekst’]);

    Mange tak

Viser 13 kommentarer - 1 til 13 (af 13 i alt)
  • Forfatter
    Kommentarer
  • #1

    papa62
    Bruger
    157 indlæg
    Offline

    Ø nr 2 skal selvfølgelig være: “& o s l a s h ;”

    #2

    Picco
    Bruger
    4.216 indlæg
    Offline

    Hvad forsøger du at gøre, og hvordan ved du at det ikke virker? Hvis du bare echo’er strengen, vil du jo ikke kunne se forskel på de to tegn (HTML-mæssigt).

    Måske mener du $_POST[‘tekst’] i stedet for $tekst?

    "Kind of like a drunken Batman with a huge cock."

    #3

    papa62
    Bruger
    157 indlæg
    Offline

    Det er fordi ø bliver gemt i min db som “& o s l a s h ;” så når jeg skal søge efter ø i min db så kan den ikke finde noget med mindre jeg søger “& o s l a s h ;”… Hvis du forstår

    #4

    Picco
    Bruger
    4.216 indlæg
    Offline

    Ville det så ikke være bedre at sørge for at ø ikke blive gemt som oslash? Problemet er vel at strengen bliver smidt igennem htmlspecialchars() eller tilsvarende, før den bliver gemt i databasen.

    "Kind of like a drunken Batman with a huge cock."

    #5

    Holger-IST-
    Bruger
    6.970 indlæg
    Offline

    kender ikke lige konteksten, men kunne du så ikke encode din søgestreng før du søger? eller måske, encode db indholdet før det bliver skrevet ud ?

    altså hvis du kører noget der encoder din tekst før du gemmer det, kører du det også på en søgestreng…

    men ok kender ikke noget det du vil og slet ikke PHP… (som du måske godt lige kunne have skrevet det drejede sig om i indlægget)

    - Holger "A woman drove me to drink and I didn't even have the decency to thank her." - W. C. Fields

    #6

    papa62
    Bruger
    157 indlæg
    Offline

    Det eneste strengen løber igennem inden den bliver gemt er htmlentities, kan det være derfor den laver et slash ø?

    #7

    Happyfeet
    Bruger
    1.436 indlæg
    Offline

    #6 Ja – det er sku da det som #4 lige har sagt.

    Jævnfør: http://dk.php.net/htmlentities

    Tag forbehold for tossede, sarkastiske, dumme, grove, unødvendigt aggressive og fejlagtige forumindlæg og kommentarer. Jeg beklager.

    #8

    Prise
    Bruger
    607 indlæg
    Offline

    En god tommelfingerregel, er at gemme præcis hvad brugeren taster ind, og så vente med at html/url escape, trimme osv. til du skal vise det igen

    #9

    papa62
    Bruger
    157 indlæg
    Offline

    #7 Nå sku da.. Det må du satme undskylde

    #8 Det må vel være løsningen.. Takker

    #10

    JJohnsenDK
    Bruger
    958 indlæg
    Offline

    #8 WHAT!?! Det er da bare guffe nam nam for en hacker det du nævner der!

    Gør ALT hvad du kan for, at få specialtegn ud af en string, som interagere direkte med databasen!

    Du skal nok mere kigge på den encoding du bruger på henholdsvis dit html og database. Brug UTF-8 på begge.

    #11

    Happyfeet
    Bruger
    1.436 indlæg
    Offline

    Det som betyder noget i forhold til enkodning mellem browser og db, så det der betyder noget er hvorvidt data er indtastet og hvordan den vises, hvis du indtaster med ISO 8895 eller hvad den nu hedder, og viser med samme enkodning, er databasens indstilling ligegyldig.

    #8 Ak! Som Johnsen siger, så er hele ideen at forebygge injections vel.

    Tag forbehold for tossede, sarkastiske, dumme, grove, unødvendigt aggressive og fejlagtige forumindlæg og kommentarer. Jeg beklager.

    #12

    Holger-IST-
    Bruger
    6.970 indlæg
    Offline

    så kunne man jo også bruge et framework som forhindrede sql injections…

    men ok så begynder vi jo bare en religionskrig…

    - Holger "A woman drove me to drink and I didn't even have the decency to thank her." - W. C. Fields

    #13

    Prise
    Bruger
    607 indlæg
    Offline

    #10 SQL injections er intet problem, for selvfølgelig parametriserer man sine SQL queries. Ikke noget religion i det, det er bare ordentligt håndværk.

Viser 13 kommentarer - 1 til 13 (af 13 i alt)
  • Du skal være logget ind for at kommentere på dette indlæg.