Mellemrum i varchar?

Tags:    php

Kan man ikke lave mellemrum i en "varchar" (mysql)? Jeg har lavet et nyhedssystem hvor man kan oprette, slette og redigere nyheder. Hvis jeg opretter en nyhed er der alt hvad der skal stå inde på index siden, men går jeg ind i rediger ser jeg kun teksten indtil det første mellemrum i felterne(undtagen i selve nyheden som er "text").

Skriv lige hvis i ikke forstår eller hvad jeg skal forklare bedre.

Håber på at i kan hjælpe den unge ziMpy (mig :p)



9 svar postet i denne tråd vises herunder
1 indlæg har modtaget i alt 1 karma
Sorter efter stemmer Sorter efter dato
Okay - kan så sige det ikke er omvendt, men præcis er den fejl jeg talte om. Problemet er at når PHP-siden er blevet fortolket og sendt ud til brugeren mangler de gåseøjne (se selv i vis kilde).

Fold kodeboks ind/udKode 


I den linje, betyder gåseøjet i ". at nu er vi færdige med en streng (dvs. ren tekst), og punktumet betyder at vi gerne vil sætte strengen sammen med noget andet, som her er en variabel. Tilsvarende betyder ." at nu vil vi godt have sat vores variabel sammen med en streng. Dvs. der kommer ikke nogle gåseøjne ud til HTML'en på den måde. Eks.:

Fold kodeboks ind/udKode 

Output: strenghejstreng

For at få et gåseøje med, bliver du nød til at lade det være en del af din streng. Men du kan ikke bare sætte et ekstra gåseøje, da det så bare bliver fortolket som enden af din streng. I stedet skal du escape gåseøjet med \\. Så du skal rette dine inputs til:

Fold kodeboks ind/udKode 


Håber det forklarede problemet.



Indlæg senest redigeret d. 12.03.2006 12:19 af Bruger #2416
Normalt er der ingen problemer med varchar og mellemrum. Bliver det gemt korrekt i databasen?



Normalt er der ingen problemer med varchar og mellemrum. Bliver det gemt korrekt i databasen?

Ja, det gør det



Kan man ikke lave mellemrum i en "varchar" (mysql)? Jeg har lavet et nyhedssystem hvor man kan oprette, slette og redigere nyheder. Hvis jeg opretter en nyhed er der alt hvad der skal stå inde på index siden, men går jeg ind i rediger ser jeg kun teksten indtil det første mellemrum i felterne(undtagen i selve nyheden som er "text").

Skriv lige hvis i ikke forstår eller hvad jeg skal forklare bedre.

Håber på at i kan hjælpe den unge ziMpy (mig :p)


Det kunne tyde på at du i dinne input felter på rediger siden, mangler gåseøjne rundt om din value værdi. Altså:

Fold kodeboks ind/udKode 


Kunne forestille mig, at det er problemet, og hvis det ikke er det, vil lidt kode fra rediger siden nok hjælpe.



Indlæg senest redigeret d. 12.03.2006 11:52 af Bruger #2416
Det kunne tyde på at du i dinne input felter på rediger siden, mangler gåseøjne rundt om din value værdi. Altså:

Fold kodeboks ind/udKode 


Kunne forestille mig, at det er problemet, og hvis det ikke er det, vil lidt kode fra rediger siden nok hjælpe.


Det er nærmest omvendt. I $text er der ikke " rundtom men det er der i de andre. Jeg har prøvet at fjerne ". og ." fra ".$net." men det virkede stadig ikke. Her er koden:

Fold kodeboks ind/udKode 


$rediger er en knap fra en form på en forrig side som sender id'et på "memberen" (Det er en cs clan side). Håber du kan hjælpe :D



Indlæg senest redigeret d. 12.03.2006 12:06 af Bruger #5766
JAA det virker! Mange tak Anders, du er en skat :D



En anden og lidt mere overskuelig måde er sådan:
Fold kodeboks ind/udKode 

Det tager jo en evighed at fylde alle de backslashes på, medmindre man ligefrem laver om på sit keyboard layout.

Nåja, og så skal du nok også huske at køre det gennem htmlentities() så du ikke risikerer at folk kan kaste valgfri html i hovedet på andre:
Fold kodeboks ind/udKode 




Indlæg senest redigeret d. 12.03.2006 12:52 af Bruger #2737
Hmm forstår ikke helt xyborx, hvad er det der htmlentities? Hvad gør det?



Hvad er det der htmlentities? Hvad gør det?


PHP.net er din ven (især hvis du kan engelsk :D)

Info om htmlentities: Tjek her.

M.v.h. Johnny Rasmussen.



t