Gå till innehåll
Just nu i M3-nätverket

PHP lägger till "tab" tecken i URL:er


MrGarvin

Rekommendera Poster

Hej!

 

Jag har ett märkligt problem som jag hoppas någon intellischent person kan klura ut åt mig.

 

Har en PHP-fil som innehåller en bildknapp som öppnar ett utskriftsfönster som ska lista alla personer inom en avdelning. Länken är skriven enligt informationen som står i databasen, t ex:

<img src="../resurser/knappar/print.png" onClick="MM_openBrWindow('utskriftslista-avdelning.php?authorDepartment=<?php echo $row_personal['authorDepartment']; ?>','Utskrift','scrollbars=yes,resizable=yes,width=600,height=500')" />

 

Den sidan gör en koll för att lista alla personer som har authorDepartment angivet som t ex "Verksamhetsstödet" i sig.

 

Så långt allt väl... MEN när sidan visas så listas inget därför att URL:en nu visar på följande:

utskriftslista-avdelning.php?authorDepartment=Verksamhetsst%F6det%09%09%09

 

Jag har upptäckt att när URL:en i länken innehåller %F6 (som är tecknet för ö) så uppstår det knasiga att det läggs till tre styck tecken för tabb (%09) i URL:en hos mottagande fil. ALDRIG annars, BARA när tecknet för ö finns med. Jag har flera olika avdelningsnamn. Vissa innehåller ö, andra inte, så jag vet att det hänger ihop. Tecknen för Å eller Ä ger inte problemet.

 

Någon som har en förklaring till detta? och...nej, det finns inga tabblägen med i databasens tabeller och tabellen är i ISO 8159. :shifty:

 

Tackar på förhand....

Länk till kommentar
Dela på andra webbplatser

Tabulator är \t.

 

För att PHP ska lägga till ett \t krävs det helt enkelt att det finns i databasen du läser ifrån - eller att du möjligtvis pillar med variabeln före du skriver ut resultatet. Så, då måste helt enkelt kika runt i din kod, såvida du är absolut helsäker på att du inte råkat ha med en extra tabulator i databascellen (tabulatorn blir olika lång beroende på vart din caret befinner sig. Kontrollera därmed samtliga mellanslag genom att helt enkelt radera dem och därefter återskapa dem med spacebar.)

 

(Använd urlencode() när du ska ge textsträngar till en HTTP-adress!)

Länk till kommentar
Dela på andra webbplatser

Jag hittade problemet. Som du sa... det måste finnas någonstans.

 

Problemet var en radbrytning i koden som Dreamweaver hade gjort. Av någon anledning skapades det då tab-lägen (som inte syns som kod) i bakgrunden. Har råkat ut för det här tidigare...att dreamweaver skapar mystiska problem p g a hur den skrivit koden. Inte för att jag fattar HUR det kan bli det, men efter att ha dragit ihop raden igen så fungerar det som det skall.

 

<img src="../resurser/knappar/print.png" alt="Skriv ut" width="36" height="37" border="0" align="absmiddle" onClick="MM_openBrWindow('utskriftslista-avdelning.php?authorDepartment=

<?php echo $row_personalRecordset1['authorDepartment'];?>', 'Utskrift','scrollbars=yes,resizable=yes,width=600,height=500')" />

 

Problemet återfanns mellan slutbocken och lilla citattecknet i javascriptskoden (rödmärkt). Det var där radbrytningen hade uppstått p g a utrymmesbrist.

 

Märkligt...

Länk till kommentar
Dela på andra webbplatser

Arkiverat

Det här ämnet är nu arkiverat och är stängt för ytterligare svar.



×
×
  • Skapa nytt...