| 
					
							
        
    
        
						
			 | 
			
			
					    
					
        
         
          
         
	
            | Presette form? Fra : Ukendt | 
  Dato :  17-01-03 18:48 |  
  |   
            Først tak til alle jer som gav sig tid til at svare på mit tidligere
 spørgsmål.
 
 Well nu vil jeg gerne lave en FORM som jeg kan presette!
 
 Med andre ord så ønsker jeg nuligheden for vha. en variabel (eller flere) at
 flytte SELECTED-funktionen rundt mellem valgmulighederne i nedenstående.
 
 Er der nogen herinde som har en god idé til hvordan søren jeg gør det? Og vi
 er jo i en PHP-gruppe såå......
 
 <select name="test">
   <option SELECTED value="ikke angivet">
   Vælg et eller andet nedenforr</option>
   <option>value="1">
   Første valgmulighed</option>
   <option value="2">
   Anden valgmulighed</option>
 </select>
 
 
 På forhånd tak for hjælp og input
 Claus
 
 
  
            
             |   |   
            
        
 
            
         
           Lars Dybdahl (17-01-2003) 
         
	
            | Kommentar Fra : Lars Dybdahl | 
  Dato :  17-01-03 19:05 |  
  |   
            "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote:
 > Well nu vil jeg gerne lave en FORM som jeg kan presette!
 
 Lav en funktion:
 
 function seloption ($defvalue,$value,$title) {
   echo "<option ";
   if ($defvalue==$value) echo "selected=\"selected\" "; // xhtml compliant
   echo "value=\"".htmlspecialchars($value)."\">";
   echo htmlspecialchars($title)."</option>\n";
 }
 
 $defvalue="2";
 seloption ($defvalue,"1","Første valgmulighed");
 seloption ($defvalue,"2","Anden valgmulighed");
 seloption ($defvalue,"3","Tredje valgmulighed");
 
 I øvrigt - når jeg nu kigger på ovenstående kode har jeg et lille spørgsmål 
 til resten af forum - hvordan angiver man en quote som værdi i en value=""? 
 Skal det url encodes?
 
 Hilsen,
 
 Lars.
 
 -- 
 Freelance programmør
 Programmering mod timebetaling
  
            
             |   |   
            
        
 
            
         
           Ukendt (17-01-2003) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  17-01-03 23:40 |  
  |   
            "Lars Dybdahl" <lars@dybdahl.dk> skrev i en meddelelse
 news:3e2845c7$0$11043$edfadb0f@dread12.news.tele.dk...
 > "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote:
 > > Well nu vil jeg gerne lave en FORM som jeg kan presette!
 >
 > Lav en funktion:
 >
 > function seloption ($defvalue,$value,$title) {
 >   echo "<option ";
 >   if ($defvalue==$value) echo "selected=\"selected\" "; // xhtml compliant
 >   echo "value=\"".htmlspecialchars($value)."\">";
 >   echo htmlspecialchars($title)."</option>\n";
 > }
 >
 > $defvalue="2";
 > seloption ($defvalue,"1","Første valgmulighed");
 > seloption ($defvalue,"2","Anden valgmulighed");
 > seloption ($defvalue,"3","Tredje valgmulighed");
 
 Tusind tak Lars for et fremragende svar som ud over tilsyneladende at have
 løst mit problem også har gjort mig opmærksom på endnu en måde at anvende
 PHP & HTML (ja jeg kan se at du endda sværger til XHTML).
 
 Som så mange andre gode svar efterlader dette mig dog med yderligere
 spørgsmål:
 
 Din brug af tegnene " og \ er lidt mystisk for mig men fordi jeg ved hvad
 det skal ende op med kan jeg dog næsten regne ud hvilken funktion de har -
 Kan du evt. henvise til et site eller en artikel som beskriver disse tegns
 anvendelse?
 
 Det der \n til sidst........ Hvad er det godt for?
 
 Claus
 
 
  
            
             |   |   
            
        
 
            
         
            Jesper Brunholm (18-01-2003) 
         
	
            | Kommentar Fra : Jesper Brunholm | 
  Dato :  18-01-03 00:02 |  
  |  
 
            Claus Nygaard-Pedersen wrote:
 > Din brug af tegnene " og \ er lidt mystisk for mig men fordi jeg ved hvad
 > det skal ende op med kan jeg dog næsten regne ud hvilken funktion de har -
 Ja - hvis man skal sætte et " i en string som er defineret med "'er så 
 er man nødt til at escape kontrollen/udførelsen af det. Det gøres 
 (ligesom man escaper andre tegn) med \.
 > Kan du evt. henvise til et site eller en artikel som beskriver disse tegns
 > anvendelse?
 Er det i orden hvis jeg prøver?   
http://us.php.net/manual/en/language.types.string.php
> Det der \n til sidst........ Hvad er det godt for?
 det er et linieskift. I strings med "" bliver linieskift i koden ikke 
 overført til html-koden, så der må man sætte dem med \r\n (se igen siden 
 ovenfor). Hvis strengen derimod defineres med '' kan man nøjes med/må 
 man ty til \n
 mvh
 Jesper Brunholm
            
              |   |   
            
        
 
            
         
             Ukendt (18-01-2003) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  18-01-03 00:19 |  
  |  
 
            "Jesper Brunholm" <nospam@brunholm-scharff.dk> skrev i en meddelelse
 news:3e28888b$1@news.wineasy.se...
 > Claus Nygaard-Pedersen wrote:
 > > Din brug af tegnene " og \ er lidt mystisk for mig men fordi jeg ved
 hvad
 > > det skal ende op med kan jeg dog næsten regne ud hvilken funktion de
 har -
 >
 > Ja - hvis man skal sætte et " i en string som er defineret med "'er så
 > er man nødt til at escape kontrollen/udførelsen af det. Det gøres
 > (ligesom man escaper andre tegn) med \.
 >
 >
 > > Kan du evt. henvise til et site eller en artikel som beskriver disse
 tegns
 > > anvendelse?
 >
 > Er det i orden hvis jeg prøver?   
>
 >  http://us.php.net/manual/en/language.types.string.php
>
 > > Det der \n til sidst........ Hvad er det godt for?
 >
 > det er et linieskift. I strings med "" bliver linieskift i koden ikke
 > overført til html-koden, så der må man sætte dem med \r\n (se igen siden
 > ovenfor). Hvis strengen derimod defineres med '' kan man nøjes med/må
 > man ty til \n
 Tak for det gode svar Jesper!
 Så mangler jeg vist bare at få læst op på funktionen  htmlspecialchars  som
 forekommer mig lidt mystisk - Eller også er det bare fordi jeg aldrig helt
 har kunnet forliges med den måde PHP manualen er skrevet på.
 Claus
            
              |   |   
            
        
 
            
         
              Lars Dybdahl (18-01-2003) 
         
	
            | Kommentar Fra : Lars Dybdahl | 
  Dato :  18-01-03 01:42 |  
  |   
            "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote:
 > Så mangler jeg vist bare at få læst op på funktionen  htmlspecialchars 
 
 Al tekst skal køres igennem htmlspecialchars inden det kommer på en webside. 
 Funktionen returner almindelig tekst som "Øllebrød" uændret, men den laver:
 
 < om til <
 > om til >
 & om til &
 
 Det er jo således, at <b>a</b> i html-filer betyder et a, der er fed, men 
 hvad nu hvis man ønsker at der skal stå <b>a</b> hos den, der ser på siden? 
 Så skriver man:
 
 <b>a</b>
 
 I stedet for at skrive ovenstående skriver man bare:
 
 <?php echo htmlspecialchars("<b>a</b>"); ?>
 
 Hilsen,
 
 Lars.
 
 -- 
 Freelance programmør
 Programmering mod timebetaling
  
            
             |   |   
            
        
 
            
         
               Ukendt (18-01-2003) 
         
	
            | Kommentar Fra : Ukendt | 
  Dato :  18-01-03 07:06 |  
  |   
            "Lars Dybdahl" <lars@dybdahl.dk> skrev i en meddelelse
 news:3e28a2ac$0$10969$edfadb0f@dread12.news.tele.dk...
 > "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote:
 > > Så mangler jeg vist bare at få læst op på funktionen  htmlspecialchars
 >
 > Al tekst skal køres igennem htmlspecialchars inden det kommer på en
 webside.
 > Funktionen returner almindelig tekst som "Øllebrød" uændret, men den
 laver:
 >
 > < om til <
 > > om til >
 > & om til &
 >
 > Det er jo således, at <b>a</b> i html-filer betyder et a, der er fed, men
 > hvad nu hvis man ønsker at der skal stå <b>a</b> hos den, der ser på
 siden?
 > Så skriver man:
 >
 > <b>a</b>
 >
 > I stedet for at skrive ovenstående skriver man bare:
 >
 > <?php echo htmlspecialchars("<b>a</b>"); ?>
 
 Glimragende forklaring og noget nemmere at gå til end den i manualen, synes
 jeg!
 
 Den funktion kan jeg vist bruge en del!
 
 Takker Lars.
 
 Claus
 
 
  
            
             |   |   
            
        
 
            
         
                Lars Dybdahl (18-01-2003) 
         
	
            | Kommentar Fra : Lars Dybdahl | 
  Dato :  18-01-03 11:30 |  
  |  
 
            "Claus Nygaard-Pedersen" <cnpatofir.dk> wrote:
 > Glimragende forklaring og noget nemmere at gå til end den i manualen,
 > synes jeg!
 Jeg har lige prøvet at sammenligne min forklaring med den i manualen. 
 Umiddelbart kan jeg se følgende forskelle:
 - Min er på dansk
 - Jeg forsøger ikke at bruge ord som "html entities", som dog bør kendes når 
 man programmerer html
 - Jeg har ikke forklaret det hele - der er nemlig mulighed for en ekstra 
 parameter.
 En html entity er af formen & (betyder &) eller ø (betyder ø). 
 Hvis du prøver at glemme, at manualen måske fremtræder kompliceret, så vil 
 du lægge mærke til, at den faktisk ikke er kompliceret:
 http://dk.php.net/manual/en/function.htmlspecialchars.php
Jeg har stort set al min grundlæggende php viden fra håndbogen.
 Hilsen,
 Lars.
 -- 
 Freelance programmør
 Programmering mod timebetaling
            
              |   |   
            
        
 
            
         
               Niels Andersen (18-01-2003) 
         
	
            | Kommentar Fra : Niels Andersen | 
  Dato :  18-01-03 12:15 |  
  |  
 
            Lars Dybdahl wrote in <3e28a2ac$0$10969$edfadb0f@dread12.news.tele.dk>:
 >> Så mangler jeg vist bare at få læst op på funktionen  htmlspecialchars
 > den laver:
 > 
 > < om til <
 >> om til >
 > & om til &
 Tilføjelse:
 Se også min bemærkning om htmlspecialchars() og quotes andet sted her i 
 tråden.
 -- 
 Mvh.
 Niels Andersen
 http://myplace.dk/articles/getpost/?lang=da
            
             |   |   
            
        
 
            
         
             Niels Andersen (18-01-2003) 
         
	
            | Kommentar Fra : Niels Andersen | 
  Dato :  18-01-03 12:14 |  
  |  
 
            Jesper Brunholm wrote in <3e28888b$1@news.wineasy.se>:
 >> Det der \n til sidst........ Hvad er det godt for?
 > det er et linieskift. I strings med "" bliver linieskift i koden ikke
 > overført til html-koden,
 Jo.
 > så der må man sætte dem med \r\n (se igen siden ovenfor).
 Det kan man gøre. Laver man bare almindeligt linjeskift i PHP'en, så er 
 typen af linjeskift det, der bliver brugt i PHP-filen. Alternativt kan man 
 gøre som du nævner. Typerne er:
 \r\n - Windows
 \n - Unix
 \r - Mac
 > Hvis strengen derimod defineres med '' kan man nøjes med/må man ty til \n
 Med single quotes kan man også fint lave helt almindelige linjeskift. Til 
 gengæld virker diverse escape-codes ikke. I single-quotes er det kun 
 single-qotes og backslashes man kan escape.
 -- 
 Mvh.
 Niels Andersen
 http://myplace.dk/articles/getpost/?lang=da
            
             |   |   
            
        
 
            
         
              Jesper Brunholm (18-01-2003) 
         
	
            | Kommentar Fra : Jesper Brunholm | 
  Dato :  18-01-03 14:05 |  
  |  
 
            Niels Andersen wrote:
 >>Hvis strengen derimod defineres med '' kan man nøjes med/må man ty til \n
 > 
 > 
 > Med single quotes kan man også fint lave helt almindelige linjeskift. 
 Det var egl det jeg ville skrive, det må have været for sent   
/Jesper Brunholm
            
              |   |   
            
        
 
            
         
           Niels Andersen (18-01-2003) 
         
	
            | Kommentar Fra : Niels Andersen | 
  Dato :  18-01-03 12:11 |  
  |  
 
            Lars Dybdahl wrote in <3e2845c7$0$11043$edfadb0f@dread12.news.tele.dk>:
 >   echo "value=\"".htmlspecialchars($value)."\">";
 [...]
 > I øvrigt - når jeg nu kigger på ovenstående kode har jeg et lille
 > spørgsmål til resten af forum - hvordan angiver man en quote som værdi i
 > en value=""? Skal det url encodes?
 Det skal selvfølgelig HTML-encodes, og det har du allerede gjort.
 htmlspecialchars har en frivillig 2. parameter, som fortæller hvad den skal 
 gøre med quotes.
 ENT_COMPAT - encode double quotes (standard)
 ENT_QUOTES - encode både double og single quotes
 ENT_NOQUOTES  encoder ikke quotes
 Double quote: "
 Single quote: '
 -- 
 Mvh.
 Niels Andersen
 http://myplace.dk/articles/getpost/?lang=da
            
             |   |   
            
        
 
            
         
            Lars Dybdahl (18-01-2003) 
         
	
            | Kommentar Fra : Lars Dybdahl | 
  Dato :  18-01-03 13:59 |  
  |   
            Jeg er godt klar over dette - men at skrive <a href=""e;"> svarer jo til 
 at skrive <a href="""> og er dermed svarer <option value="""> vel også 
 til <option value="""> ?
 
 Lars.
 
 -- 
 Freelance programmør
 Programmering mod timebetaling
 
 
 
 Niels Andersen wrote:
 > Det skal selvfølgelig HTML-encodes, og det har du allerede gjort.
 > 
 > htmlspecialchars har en frivillig 2. parameter, som fortæller hvad den
 > skal gøre med quotes.
 > 
 > ENT_COMPAT - encode double quotes (standard)
 > ENT_QUOTES - encode både double og single quotes
 > ENT_NOQUOTES  encoder ikke quotes
 > 
 > Double quote: "
 > Single quote: '
 > 
 
 
  
            
             |   |   
            
        
 
            
         
             Thomas Lindgaard (18-01-2003) 
         
	
            | Kommentar Fra : Thomas Lindgaard | 
  Dato :  18-01-03 17:15 |  
  |   
            Lars Dybdahl <lars@dybdahl.dk> wrote in
 news:3e294fa7$0$11036$edfadb0f@dread12.news.tele.dk: 
 
 > Jeg er godt klar over dette - men at skrive <a href=""e;"> svarer
 > jo til at skrive <a href="""> og er dermed svarer <option
 > value="""> vel ogs† til <option value="""> ?
 
 Joh... men skal man så ikke bare bruge urlencode og urldecode?
 
 Mvh.
 /Thomas
  
            
             |   |   
            
        
 
            
         
             Peter Brodersen (18-01-2003) 
         
	
            | Kommentar Fra : Peter Brodersen | 
  Dato :  18-01-03 17:23 |  
  |   
            On Sat, 18 Jan 2003 13:59:28 +0100, Lars Dybdahl <lars@dybdahl.dk>
 wrote:
 
 >Jeg er godt klar over dette - men at skrive <a href=""e;"> svarer jo til 
 >at skrive <a href="""> 
 
 Nej, det er ikke det samme (og entity'en hedder ").
 
 At skrive <a href... svarer tilsvarende heller ikke til at skrive
 <a href...
 
 -- 
 - Peter Brodersen
  
            
             |   |   
            
        
 
            
         
              Lars Dybdahl (18-01-2003) 
         
	
            | Kommentar Fra : Lars Dybdahl | 
  Dato :  18-01-03 23:37 |  
  |   
            Peter Brodersen wrote:
 > At skrive <a href... svarer tilsvarende heller ikke til at skrive
 > <a href...
 
 Så sandt, så sandt... en ren tanketorsk. Heldigvis er det standard opførsel 
 for htmlspecialchars også at konvertere " tegn, så min kode passer.
 
 Lars.
 
 -- 
 Freelance programmør
 Programmering mod timebetaling
  
            
             |   |   
            
        
 
    
 
					
					 
			 | 
			
				
        
			 |