Avatar billede morpheus Nybegynder
19. november 2003 - 15:24 Der er 15 kommentarer og
2 løsninger

If-sætning crasher IE

Hej,

Jeg har følgende if-sætning liggende på en side:

if ($_SESSION['logon'] == 1) {
        print "<div align=\"center\"><b><a href=\"".START_URL."&amp;oact=add\">Indtast oplevelse</a> - Rediger i oplevelse</b></div>\n";
    }

Hvis jeg trykker på back space knappen, crasher IE.
Nogen forslag til hvorfor?

På andre sider, hvor jeg bruger lignende sætninger, er der ingen problemer
Avatar billede ohmish Nybegynder
19. november 2003 - 15:29 #1
måske skal du kigge på den side du trykke tilbage til
Avatar billede jakoba Nybegynder
19. november 2003 - 15:49 #2
Det er ikke php der charsher browseren. det der den sourcode du skriver i det output der skrives til browseren.

lave en 'vis kilde' af siden før du trykker på space knappen og vis os hvad der står i det link.

den eneste fejl jeg lige kan se er at du skriver '&' lige efter din URL hvor der skulle stå '?':
  print "<div align=\"center\"><b><a href=\"".START_URL."?oact=add\">Indtast oplevelse</a> - Rediger i oplevelse</b></div>\n";
Avatar billede jakoba Nybegynder
19. november 2003 - 15:50 #3
Og det er måske endda ikke nogen fejl.
Avatar billede tipsen Nybegynder
19. november 2003 - 15:51 #4
Rettet til:

if ($_SESSION['logon'] == 1) {
  echo '<div align="center"><b><a href="' . START_URL . '&oact=add">Indtast oplevelse</a> - Rediger i oplevelse</b></div>' . "\n";
}

-Du er sikker på, at START_URL er en konstant og ikke en variabel? (START_URL vs. $START_URL)
-Husk også forskel på små/store bogstaver - variabelnavne er case-sensitive i PHP!
Avatar billede morpheus Nybegynder
19. november 2003 - 15:57 #5
define('START_URL', "?sid=".$_GET['sid']."&amp;page=".$_GET['page']);

Jeg vil lige prøve den rettelse, hvilket giver nogen logik.
Skidtet er lavet i nat..
Avatar billede morpheus Nybegynder
19. november 2003 - 15:58 #6
Hov... Der står da &amp; (==&)
Avatar billede jakoba Nybegynder
19. november 2003 - 16:22 #7
hvis værdien i $_GET['page'] eller andre af dine url-variable indeholder sære tegn som '?', ':', ',', '.' og mange andre bør den url-encodes

define('START_URL', "?sid=".urlencode($_GET['sid'])."&amp;page=".urlencode($_GET['page']) );

det skader ikke at gøre det selv når det ikke er nødvendigt.

med den værdi i START_URL  skal '&amp;' ikke ændres til '?' som jeg foreslog først.

jeg vil stadig gerne se den htmlkode der bliver sendt til browseren.

mvh JakobA
Avatar billede tipsen Nybegynder
19. november 2003 - 16:36 #8
"&amp;" skal da også bare være "&" - det er jo ikke fordi &-tegnet skal vises på websiden og dermed skal skrives som html-ækvivalent...
Avatar billede morpheus Nybegynder
19. november 2003 - 17:03 #9
det med at ændre &amp; til &, mener jeg ikke har nogen betydning.
- Det har det ikke på resten af siden, hvor jeg bruger &amp;
Avatar billede morpheus Nybegynder
19. november 2003 - 17:12 #10
Jeg har som test erstattet alle &amp;'s med &... Dette løste ikke problemet
Avatar billede morpheus Nybegynder
19. november 2003 - 17:22 #11
http://www.dotdotdotdot.dk/test/oplev.html
http://www.dotdotdotdot.dk/test/oplevvis.html

Her er det, at jeg på den kørende side ikke kan bruge backspace fra oplevvis.html, til oplev.html
Avatar billede jakoba Nybegynder
19. november 2003 - 17:27 #12
>> &amp:  er faktisk det korrekte at bruge i et links href= (og andre steder). Jeg troede også det var fjolleri indtil erikjacobsen tvang mig til at kikke efter i specifikationen http://www.faqs.org/rfcs/rfc1808.html

De fleste browsere er pølseligeglade og godtager begge dele.

mvh JakobA
Avatar billede morpheus Nybegynder
19. november 2003 - 17:35 #13
Men hvad er så løsningen på problemet?
Avatar billede jakoba Nybegynder
19. november 2003 - 17:42 #14
Jeg kan ikke finde hoved eller hale i de sider du linker til. ingen af dem har et link med linkteksten "Indtast oplevelse".

hvad er det præcis du trykker på når du siger "bruge backspace" ?
    den 'back'-knap der er i browserens værktøjsbjælke,
    den 'pil tilvenstre' der er over returtasten på tastaturet,
    den 'pil tilvenstre' der er en af den lille flok pil-taster for sig selv,
    noget helt fjerde.

Hvad får dig til at mene at den stump php kode du skrev i toppen har noget med problemet at gøre?

findes problemet på den side du kommer til ved at følge det link, eller kommer problemt på den side hvor det link står?
Avatar billede tipsen Nybegynder
19. november 2003 - 17:42 #15
morpheus: Hvor på oplev.html linker du til oplevvis, så vi kan prøve det?
jakoba: Så har jeg lært noget nyt i dag - det er jo ikke så ringe!
Avatar billede morpheus Nybegynder
22. november 2003 - 09:59 #16
Jeg har leget lidt med det, og er nået frem til den konklusion at det er min egen browser der har problemet.

Jeg har fået nogen venner til at teste siden af, uden der opstod problemer eller fejl.

- Så det må bero på en lokal software fejl.
Avatar billede morpheus Nybegynder
22. januar 2005 - 14:02 #17
Skal vi sige en deler?
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