Avatar billede kolme Nybegynder
12. april 2006 - 19:28 Der er 15 kommentarer og
1 løsning

Problem med '

Hej

Jeg har et problem som jeg ikke tidligere har haft. Når jeg i et input felt eks. skriver: jeg t'e'ster virker det godt det ene sted, men ikke det andet... Hvordan kan det være? Jeg ved godt at man normalt ikke skal gøre det men lave en replace eller lignende. Men når nu det virker det ene sted? Det sted det virker kan jeg både bruge " og '....

REgister globals står til off.
Avatar billede showsource Seniormester
12. april 2006 - 20:52 #1
det er get_magic_quotes() du skal kikke på.
Det ene sted escapes tegn som ' og " med \
\' \"
men ikke det andet sted.

Kik på http://dk.php.net/manual/en/function.mysql-real-escape-string.php

Og brug gerne eksemplet med en funktion som kan bruges til at sikre data,

Example 3. A "Best Practice" query
Avatar billede kolme Nybegynder
12. april 2006 - 21:00 #2
Problemet forekommer ved en POST (Men sikkert også ved en query)
Og det, der undrer mig er, at det min nuværende løsning virker det ene sted, men ikke det andet. Begge steder anvender jeg " og ' på de samme måder...
Avatar billede showsource Seniormester
12. april 2006 - 21:03 #3
Og det ene sted er get_magic_quotes_gpc() slået fra, men ikke det andet.

Glemte lige den "gpc" .....
Avatar billede kolme Nybegynder
12. april 2006 - 21:07 #4
Ok, måske forstår jeg det ikke helt eller også har jeg ikke være helt klar i mælet: Det er på samme webhotel, men bare to forskellige sider. Jeg har ikke aktivt anvendt get_magic_quotes_gpc() nogle steder.
Avatar billede kolme Nybegynder
12. april 2006 - 21:24 #5
Jeg glemte helt at fortælle hvad det er der præcist er problemet. Når jeg eks. skriver:
dette er 'en' test
vises det som det er skrevet i det ene tilfælde, men i det andet tilfælde bliver resultatet:
dette er \
Avatar billede showsource Seniormester
12. april 2006 - 21:25 #6
Prøv med en
<?php
if(get_magic_quotes_gpc() ) {
echo "OK";
}else{
echo"Nix, skla fixes!!";
}
?>
Avatar billede kolme Nybegynder
12. april 2006 - 21:28 #7
Det giver OK
Avatar billede showsource Seniormester
12. april 2006 - 21:33 #8
Men ikke begge steder?
Avatar billede kolme Nybegynder
12. april 2006 - 21:34 #9
Jeg har fundet ud af hvor problemet opstår. Jeg kan godt gemme et input med ' i en query, men det går galt fordi at jeg først overfører det til en anden input-boks inden jeg gemmer. Spørg ikke hvorfor jeg har gjort det. Jeg kan godt komme uden om det, men synes bare at det var det mest brugervenlige på det tidspunkt.
Avatar billede kolme Nybegynder
12. april 2006 - 21:34 #10
Det tester jeg lige
Avatar billede kolme Nybegynder
12. april 2006 - 21:35 #11
Jo, det skriver OK begge steder
Avatar billede showsource Seniormester
12. april 2006 - 21:39 #12
hmm, ja, så er jeg på bar bund!

<form action="<?php echo $_SERVER["PHP_SELF"]; ?>" method="post">
<input type="text" name="test" value="Nog'et griser'i"><input type="submit">
</form>
<?php
if(isset($_POST["test"])) {
echo $_POST["test"];
}
?>
Avatar billede showsource Seniormester
12. april 2006 - 21:40 #13
Hvis den viser det samme på begge sider, så er det noget andet som er galt.
Avatar billede kolme Nybegynder
12. april 2006 - 21:45 #14
Ja, det der er gået galt er at jeg ikke lige tænkte på at jeg ikke bare kan putte en variabel ind i en inputboks, hvis den indeholder ' og inputboksen er sådan:
<input type='text' name='test' value='Nog'et griser'i'>

Lidt dumt! beklager at jeg har spildt din tid. Smid et svar, så du får dine point - Det har du da fortjent!
Avatar billede showsource Seniormester
12. april 2006 - 21:58 #15
ahhh, du fandt selv ud af det, så svar du bare selv!
Avatar billede kolme Nybegynder
12. april 2006 - 22:05 #16
hmm, ok. Men du skal nu have mange tak fordi at du gav dig tid til at hjælpe!
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