Avatar billede alexander_j Nybegynder
18. september 2004 - 12:00 Der er 12 kommentarer og
2 løsninger

Problemer med " i inputfelt

Hej jeg har et problem. Hvis brugeren indtaster gåseøjne ("), så virker ikke på serveren(den nægter simpelthen at gemme), men det virker lokalt - er der een der har en ide til hvad der går galt?
Avatar billede stalle Nybegynder
18. september 2004 - 12:02 #1
inden du smider i din database, eller hvad du gør, så tilføj
addslashes($besked)
Når du henter ud, bruger du så
stripslashes($besked)
Avatar billede hmortensen Nybegynder
18. september 2004 - 12:03 #2
$str = addslashes($str);
inden du gemmer, og så bruger du stripslashes inden udskrivning
Avatar billede alexander_j Nybegynder
18. september 2004 - 12:04 #3
Det lyder som et godt forslag - men ved du også noget om hvorfor der er forskel?
Avatar billede dennismp Nybegynder
18. september 2004 - 12:04 #4
prøv at bruge addslashes()

eg
$felt = addslashes($_POST['felt']);

$sql = "INSERT ............. '$felt'" );
Avatar billede Slettet bruger
18. september 2004 - 12:04 #5
Jeg vil anbefale denne lille funktion somerikjacobsen (vistnok) har skrevet:

#####AddSlashes hvis magic_quotes er slået fra
function MyAddSlashes($st) {
$st = str_replace("'","'", $st);
$st = str_replace('"','"', $st);
if (get_magic_quotes_gpc()==1) {
return $st;
} else {
return AddSlashes($st);
}
}
#######

Brug den på samme måde som addslashes, med denne undgår du dog problemer på din lokale server (hvor magic_quotes nok er slået til)
Avatar billede dennismp Nybegynder
18. september 2004 - 12:04 #6
heh :)
Avatar billede stalle Nybegynder
18. september 2004 - 12:08 #7
stor enighed om hvad løsningen kan være :-d
Avatar billede alexander_j Nybegynder
18. september 2004 - 12:09 #8
Ja jeg havde også mistænkt "magic_quotes" for at stå bag - og derfor troede jeg at serveren kørte en ældre version af PHP, men serveren kører i følge udbyderen med PHP 4.3.8 - og så burde den jo have "magic_quotes" slået til ik'!
Avatar billede stalle Nybegynder
18. september 2004 - 12:13 #9
Ikke nødvendigvis
man kan ha' valgt og slå det fra
Avatar billede hmortensen Nybegynder
18. september 2004 - 12:20 #10
Nå, du spurgte om forskellen. Hvis du har en streng som denne:

$str = "Hejsa "Jens". Går det godt?";
Så vil php tro at strengen er slut efter anden ", så derfor skal speciel tegn escapes.

$str = "Hejsa \"Jens\". Går det godt?";

Så vil php udskrive ", når den møder \"
Avatar billede alexander_j Nybegynder
18. september 2004 - 13:38 #11
Ja det ser ganske rigtigt ud til at de har slået magic_quotes fra på serveren - tak for hjælpen alle sammen!

stalle, hindu_skp og el_barto læg et svar - så fordeler jeg pointene efter brugbarhed og tidspunkt for jeres svar!
Avatar billede hmortensen Nybegynder
18. september 2004 - 16:13 #12
Det var så lidt
Avatar billede Slettet bruger
18. september 2004 - 16:47 #13
oki :)
Avatar billede alexander_j Nybegynder
30. september 2004 - 07:29 #14
Nå vi kan jo ikke holde spørgsmålet åbent i al evighed!
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