|  | 		    
					
        
         
          
         
	
          | |  | Find og erstat dele af URL'er på bestemte ~ Fra : Ace
 | 
 Dato :  10-02-11 14:55
 | 
 |  | 
 
            Hejsa 
 Er det muligt at erstatte en del af en url (som optræder flere 
 steder på en side) med noget andet, på bestemte datoer? 
 ILLUSTRATION: 
 <html> 
 <head> 
 <script type="text/javascript"> 
 function chrisWeeklyEveningSubmit() { 
 myform = document.chrisEveningForm; 
 myform.target = "chrisStatsWeekly"; 
 myform.action =
 "period/2011/02.02.2011-01.03.2011/09.02.2011-15.02.2011/chris/ch
 risStats.php"; 
 myform.submit(); 
 return false;} 
 function chrisMonthlyEveningSubmit() { 
 myform = document.chrisEveningForm; 
 myform.target = "chrisStatsMonthly"; 
 myform.action = "period/2011/02.02.2011-01.03.2011/
 chris/chrisStats.php"; 
 myform.submit(); 
 return false;} 
 </script> 
 </head> 
 <body> 
 <form name="chrisEveningForm" 
 action="http://clubace.dk/bestsheller/period/2011/02.02.2011-01.0 3.2011/09.02.2011-15.02.2011/chris/chrisStats.php" method="post">
 <input type="text" name="chrisWeeklyScore"> 
 <input type="button" value="Gem" 
 onClick="chrisWeeklyEveningSubmit(); 
 chrisMonthlyEveningSubmit();"></form> 
 <iframe name="chrisStatsWeekly"
 src="http://clubace.dk/bestsheller/period/2011/02.02.2011-01.03.2 011/09.02.2011-15.02.2011/chris/chrisStats.php"></iframe> 
 <iframe name="chrisStatsMonthly"
 src="http://clubace.dk/bestsheller/period/2011/02.02.2011-01.03.2 011/chris/chrisStats.php"></iframe> 
 </body> 
 </html> 
 Som det ses gør jeg brug af et script der tillader mig at sende 
 data fra én <form> til to <iframe> target. 
 Hver onsdag skal en del af url'erne som behandler uge-dataen 
 udskiftes. Delene der skal erstattes giver næsten sig selv, 
 nemlig ugeperiode-delen ("09.02.2011-15.02.2011"). I dette 
 tilfælde skulle erstatningen blive "16.02.2011-22.02.2011". 
 Én gang om måneden skal det samme ligeledes ske - denne gang bare
 på alle for url'erne på hele siden. Det der skal ændres da, er 
 månedsperiode-delen ("02.02.2011-01.03.2011"), hvilket i dette 
 tilfælde skulle blive "02.03.2011-29.03.2011". 
 Hagen ved dette er selvfølgelig at også url'erne, som befinder 
 sig ovenstående javascript, også skal erstattes på samme måde. 
 Umiddelbart havde jeg forestillet mig noget i retning af, at man 
 finde dags dato, og laver en array() hvori man har ståedende de 
 fremtidige datoer på hvornår erstatningerne skal ske, med 
 tilhørende string som indeholder det som der skal erstattes med. 
 Dernæst skal alle de eksisterende url'er på hele siden findes, og
 have udspecificeret hvad i url'erne der præcist skal erstattes og
 hvad der skal erstattes med. 
 Afslutningesvis tænker jeg, at men så sammenligner dags dato med 
 datoerne i array'en. Hvis datoerne stemmer overens, skal 
 erstatningen foretages. Ellers skal der ikke erstattes noget. 
 Jeg ved overhovedet ikke om noget af alt det her kan lade sig 
 gøre. Jeg ved i hvert fald ikke hvordan et sådan script ville se 
 ud. Jeg håber derfor at der er nogen, klogere end jeg, som har en
 idé om hvordan scriptet kunne se ud. 
 På forhånd tak. 
 Venligst 
 Ace 
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
  Birger Sørensen (10-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  10-02-11 15:41
 | 
 |  | 
 
            Ace har bragt dette til os:
 > Hejsa 
 >
 > Er det muligt at erstatte en del af en url (som optræder flere 
 > steder på en side) med noget andet, på bestemte datoer? 
 >
 > ILLUSTRATION: 
 > <html> 
 > <head> 
 > <script type="text/javascript"> 
 > function chrisWeeklyEveningSubmit() { 
 > myform = document.chrisEveningForm; 
 > myform.target = "chrisStatsWeekly"; 
 > myform.action =
 > "period/2011/02.02.2011-01.03.2011/09.02.2011-15.02.2011/chris/ch
 > risStats.php"; 
 > myform.submit(); 
 > return false;} 
 > function chrisMonthlyEveningSubmit() { 
 > myform = document.chrisEveningForm; 
 > myform.target = "chrisStatsMonthly"; 
 > myform.action = "period/2011/02.02.2011-01.03.2011/
 > chris/chrisStats.php"; 
 > myform.submit(); 
 > return false;} 
 > </script> 
 > </head> 
 > <body> 
 > <form name="chrisEveningForm" 
 > action="http://clubace.dk/bestsheller/period/2011/02.02.2011-01.0 > 3.2011/09.02.2011-15.02.2011/chris/chrisStats.php" method="post">
 > <input type="text" name="chrisWeeklyScore"> 
 > <input type="button" value="Gem" 
 > onClick="chrisWeeklyEveningSubmit(); 
 > chrisMonthlyEveningSubmit();"></form> 
 >
 > <iframe name="chrisStatsWeekly"
 > src="http://clubace.dk/bestsheller/period/2011/02.02.2011-01.03.2 > 011/09.02.2011-15.02.2011/chris/chrisStats.php"></iframe> 
 >
 > <iframe name="chrisStatsMonthly"
 > src="http://clubace.dk/bestsheller/period/2011/02.02.2011-01.03.2 > 011/chris/chrisStats.php"></iframe> 
 > </body> 
 > </html> 
 >
 > Som det ses gør jeg brug af et script der tillader mig at sende 
 > data fra én <form> til to <iframe> target. 
 >
 > Hver onsdag skal en del af url'erne som behandler uge-dataen 
 > udskiftes. Delene der skal erstattes giver næsten sig selv, 
 > nemlig ugeperiode-delen ("09.02.2011-15.02.2011"). I dette 
 > tilfælde skulle erstatningen blive "16.02.2011-22.02.2011". 
 > Én gang om måneden skal det samme ligeledes ske - denne gang bare
 > på alle for url'erne på hele siden. Det der skal ændres da, er 
 > månedsperiode-delen ("02.02.2011-01.03.2011"), hvilket i dette 
 > tilfælde skulle blive "02.03.2011-29.03.2011". 
 >
 > Hagen ved dette er selvfølgelig at også url'erne, som befinder 
 > sig ovenstående javascript, også skal erstattes på samme måde. 
 >
 > Umiddelbart havde jeg forestillet mig noget i retning af, at man 
 > finde dags dato, og laver en array() hvori man har ståedende de 
 > fremtidige datoer på hvornår erstatningerne skal ske, med 
 > tilhørende string som indeholder det som der skal erstattes med. 
 > Dernæst skal alle de eksisterende url'er på hele siden findes, og
 > have udspecificeret hvad i url'erne der præcist skal erstattes og
 > hvad der skal erstattes med. 
 > Afslutningesvis tænker jeg, at men så sammenligner dags dato med 
 > datoerne i array'en. Hvis datoerne stemmer overens, skal 
 > erstatningen foretages. Ellers skal der ikke erstattes noget. 
 >
 > Jeg ved overhovedet ikke om noget af alt det her kan lade sig 
 > gøre. Jeg ved i hvert fald ikke hvordan et sådan script ville se 
 > ud. Jeg håber derfor at der er nogen, klogere end jeg, som har en
 > idé om hvordan scriptet kunne se ud. 
 >
 > På forhånd tak. 
 >
 >
 > Venligst 
 > Ace 
 Det virker vældig kompliceret, og jeg har svært ved overblikket af hvad 
 du forsøger...
 Men umiddelbart, så har du en form, der skifter indholdet af to 
 iframes, afhængigt af ugedag/måned.
 Jeg ville nok bruge noget AJAX i stedet, og lade det skifte indholdet i 
 div'erne.
 Jeg tror også jeg ville lade PHP finde ud af hvilken dag det er, og 
 hvilke data der skal vises. Serveren ved lige så godt som brugerens PC, 
 hvilken dato det er. Så du kan faktisk nøjes med eet script, der selv 
 finder de rigtige data - hvis du ellers gemmer dem på en fornuftig 
 måde.
 Jeg har lidt indtryk af, at du taster dem i tekst-filer, og gemmer dem 
 ugevis, eller månedsvis - i separate foldere?
 Umiddelbart ville jeg bruge en database til det. Det kunne også gøre 
 indtastningen enklere - og måske ligefrem lette arbejdet, når du engang 
 bliver nødt til at fyre en eller ansætte en person mere...
 En lidt mere udførlig forklaring, er nok nødvendig - eller link til 
 noget illustrativt.    Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
  Ace (10-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  10-02-11 16:06
 | 
 |  | 
 
            Ace tilføjede:
 > Umiddelbart havde jeg forestillet mig noget i retning af, at man  
 > finde dags dato, og laver en array() hvori man har ståedende de  
 > fremtidige datoer på hvornår erstatningerne skal ske, med  
 > tilhørende string som indeholder det som der skal erstattes med.  
 > Dernæst skal alle de eksisterende url'er på hele siden findes, og 
 > have udspecificeret hvad i url'erne der præcist skal erstattes og 
 > hvad der skal erstattes med.  
 > Afslutningesvis tænker jeg, at men så sammenligner dags dato med  
 > datoerne i array'en. Hvis datoerne stemmer overens, skal  
 > erstatningen foretages. Ellers skal der ikke erstattes noget.  
 Er det her helt hen i vejret?
 <?php
 $dagsDato = Date("j.m.Y");
 if (dagsDato = "09.02.2011") {
 $ugePeriode = "09.02.2011-15.02.2011";
 }
 if (dagsDato = "16.02.2011") {
 $ugePeriode = "16.02.2011-22.02.2011";
 }
 if (dagsDato = "23.02.2011") {
 $ugePeriode = "23.02.2011-01.03.2011";
 }
 $data = "weekPeriod.txt";
 if ($ugePeriode) {
 $ugePeriode = "$ugePeriode"; 
 $comfile = fopen ($data, "w"); 
 fwrite ($comfile, $ugePeriode); 
 fclose ($comfile);}
 ?>
 ... og så havde jeg tænkt mig...
 <form action="period/2011/02.02.2011-01.03.2011/<?php include
 ('weekPeriod.txt'); ?>/chris/chrisStats.php" etc.>
 Er jeg overhovedet på rette spor?
 /Ace
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
  Ace (10-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  10-02-11 17:57
 | 
 |  | 
 
            Ace skrev:
 > Er det her helt hen i vejret? 
 >  
 > <?php 
 > $dagsDato = Date("j.m.Y"); 
 > if (dagsDato = "09.02.2011") { 
 > $ugePeriode = "09.02.2011-15.02.2011"; 
 > } 
 > if (dagsDato = "16.02.2011") { 
 > $ugePeriode = "16.02.2011-22.02.2011"; 
 > } 
 > if (dagsDato = "23.02.2011") { 
 > $ugePeriode = "23.02.2011-01.03.2011"; 
 > } 
 > $data = "weekPeriod.txt"; 
 > if ($ugePeriode) { 
 > $ugePeriode = "$ugePeriode";  
 > $comfile = fopen ($data, "w");  
 > fwrite ($comfile, $ugePeriode);  
 > fclose ($comfile);} 
 > ?> 
 >  
 > ... og så havde jeg tænkt mig... 
 >  
 > <form action="period/2011/02.02.2011-01.03.2011/<?php include 
 > ('weekPeriod.txt'); ?>/chris/chrisStats.php" etc.> 
 >  
 > Er jeg overhovedet på rette spor? 
 Hov, fandt lige et par fejl og lavede lige et par tilføjelser...
 <?php 
 $toDay = Date("j.m.Y"); 
 if ($toDay > "08.02.2011") { 
 $weekPeriod = "09.02.2011-15.02.2011";
 }
 if ($toDay > "15.02.2011") { 
 $weekPeriod = "16.02.2011-22.02.2011";
 }
 if ($toDay > "22.02.2011") { 
 $weekPeriod = "23.02.2011-01.03.2011";
 }
 if ($toDay > "01.03.2011") { 
 $weekPeriod = "02.03.2011-08.03.2011";
 }
 $data = "weekPeriod.txt"; 
 if ($weekPeriod) { 
 $weekPeriod = "$weekPeriod"; 
 $comfile = fopen ($data, "w"); 
 fwrite ($comfile, $weekPeriod); 
 fclose ($comfile);} ?>
 <?php 
 $toDay = Date("j.m.Y"); 
 if ($toDay > "01.02.2011") { 
 $monthPeriod = "02.02.2011-01.03.2011";
 }
 if ($toDay > "01.03.2011") { 
 $monthPeriod = "02.03.2011-29.03.2011";
 }
 if ($toDay > "29.03.2011") { 
 $monthPeriod = "30.03.2011-26.04.2011";
 }
 if ($toDay > "26.04.2011") { 
 $monthPeriod = "27.04.2011-24.05.2011";
 }
 $data = "monthPeriod.txt"; 
 if ($monthPeriod) { 
 $monthPeriod = "$monthPeriod"; 
 $comfile = fopen ($data, "w"); 
 fwrite ($comfile, $monthPeriod); 
 fclose ($comfile);} ?>
 action="period/2011/<?php include('monthPeriod.txt') ?>/<?php
 include('weekPeriod.txt') ?>/chris/chrisStats.php";"
 Umiddelbart tror jeg at jeg er inde på noget af "det rigtige". Men af
 en eller anden grund bliver reultatet af ovestående:
 action="period/2011/02.03.2011-29.03.2011/02.03.2011-08.03.2011/chris/c
 hrisStats.php";"
 Hvilket ikke er rigtigt da det i skrivende stund er d. 10.02.2011, så
 resultatet skulle self. se således ud:
 action="period/2011/02.02.2011-01.03.2011/09.02.2011-15.02.2011/chris/c
 hrisStats.php";"
 Håber at der nogen som kan se hvad det er at jeg gør forkert, og evt.
 kender en bedre måde at gøre det her på :)
 /Ace
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
   Birger Sørensen (10-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  10-02-11 18:06
 | 
 |  | 
 
            Følgende er skrevet af Ace:
 > Ace skrev:
 > En masse kode...
 Jeg mener at date fiaktisk kan returnere ugedagen.
 Hvis det er mandag i dag (eller hvilken dag det nu var) skal den altså 
 bare returnere en periode fra i dag og 7 dage frem - ellers tælle 
 baglæns til mandag, og returnere 7 dage derfra.
 Så er alle dine if'er overflødige, og scriptet kan anvendes fra nu og 
 til du eller din efterfølger bliver træt af det...
 Men ellers ser det vist nogenlunde fornuftigt ud.
 Selvom jeg vist stadig ikke har fattet hvor du får data fra...
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
    Ace (10-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  10-02-11 19:02
 | 
 |  | 
 
            Birger Sørensen kom med denne øjnåbner:
 > Jeg mener at date fiaktisk kan returnere ugedagen. 
 > Hvis det er mandag i dag (eller hvilken dag det nu var) skal den altså  
 > bare returnere en periode fra i dag og 7 dage frem - ellers tælle  
 > baglæns til mandag, og returnere 7 dage derfra. 
 > Så er alle dine if'er overflødige, og scriptet kan anvendes fra nu og  
 > til du eller din efterfølger bliver træt af det... 
 Nice :) Hvis det ikke er for meget besvær, ville du så have noget i mod at
 vise mig hvordan scriptet skal ændres for at gøre brug af denne
 date()-egenskab?
 > Men ellers ser det vist nogenlunde fornuftigt ud. 
 > Selvom jeg vist stadig ikke har fattet hvor du får data fra... 
 Den data som sendes via formularerne, har som sådan ikke noget at gøre med
 det her php-script som jeg har gang i nu :) Dette er udelukkende så jeg
 (forhåbentlig) er fri for manuelt, at skulle ændre på formularernes
 action-URL i kildekoden en gang om ugen og en gang om måneden, når dataen
 skal sendes til nye filer.
 For som du rigtig nok formodede, så forgår al datalagringen i mapper, i
 stedet for en database. Dette er dog blot en midlertidig løsning, indtil
 jeg får sat mig ordenlig ind i opsætning og brug af databaser. Men indtil
 da må jeg gøre med hvad mine evner rækker til ;)
 Men ellers har du forstået hvad det er at jeg prøver på med dette
 php-script?
 /Ace
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
     Birger Sørensen (10-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  10-02-11 20:30
 | 
 |  | 
 
            Ace kom med følgende:
 8X
 > Nice :) Hvis det ikke er for meget besvær, ville du så have noget i mod at
 > vise mig hvordan scriptet skal ændres for at gøre brug af denne
 > date()-egenskab?
 Skal se på det - men ikke før i morgen...
 8X
 > Men ellers har du forstået hvad det er at jeg prøver på med dette
 > php-script?
 Det handler om et mappenavn til form/iframes, i form af datoer for 
 uger.
 Også om månedsmapper?
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
      Ace (11-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  11-02-11 07:51
 | 
 |  | 
 
            Birger Sørensen skrev:
 > Skal se på det - men ikke før i morgen... 
 Tusind tak Birger :)
 > Det handler om et mappenavn til form/iframes, i form af datoer for  
 > uger. 
 > Også om månedsmapper? 
 Lige præcis :) Mapperne ér lavet, så der er til ca. 2 år udi fremtiden, så det
 er "bare" action-url'erne til form'ne der skal skal ændres hver onsdag og
 src-url'erne til iframe'erne der skal ændres hver fjerde onsdag.
 /Ace
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
       Birger Sørensen (11-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  11-02-11 12:31
 | 
 |  | 
 
            Ace skrev den 11-02-2011:
 > Birger Sørensen skrev:
 >
 >> Skal se på det - men ikke før i morgen... 
 >
 > Tusind tak Birger :)
 >
 >> Det handler om et mappenavn til form/iframes, i form af datoer for  
 >> uger. 
 >> Også om månedsmapper? 
 >
 > Lige præcis :) Mapperne ér lavet, så der er til ca. 2 år udi fremtiden, så 
 > det er "bare" action-url'erne til form'ne der skal skal ændres hver onsdag og
 > src-url'erne til iframe'erne der skal ændres hver fjerde onsdag.
 >
 >
 > /Ace
 Prøv noget i denne retning
 date_default_timezone_set( 'Europe/Copenhagen');
 $today = getdate();   // $today[ 'wday'] = ugedag: onsdag = 3
 $d_corr = ( $today[ 'wday'] < 3) ? ( $today[ 'wday]'+4) : ( $today[ 
 'wday']-3);
 // correktioner for ugedag - hvis før onsdag dagnummer+4, hvis onsdag 
 eller efter dagnummer-3
 $first_day = mkdate( 0, 0, 0, $today[ 'mon'], $today[ 'mday'] - 
 $d_corr, $today[ 'year']); // ugestart
 $last_day = mkdate( 0, 0, 0, $today[ 'mon'], $today[ 'mday'] - $d_corr 
 + 7, $today[ 'year']); // ugeslut
 $wk_path = date( 'd.m.Y', $first_day).'-'.date( 'd.m.Y', $last_day);
 $st_dt = getdate( $first_day);
 $first_mnd = FirstOns( $st_dt[ 'mon'], $st_dt[ 'year']);
 $last_mnd = FirstOns( $st_dt[ 'mon']+1, $st_dt[ 'year']);
 $mnd_path = date( 'd.m.Y', $first_mnd).'-'.date( 'd.m.Y', $last_mnd);
 function FirstOns( $md, $yr) {   // finder første onsdag i måneden
    $month = getdate( mkdate( 0, 0, 0, $md, 1, $yr));   // første dag i 
 aktuel måned
    $f_onsdag = ( $month[ 'wday'] <= 3) ? 4-$month[ 'wday'] : 11-$month[ 
 'wday'];
    return mkdate( 0, 0, 0, $md, $f_onsdag, $yr);
    }
 Det ser lidt kryptisk ud her - copy/paste til din editor, så skulle det 
 gerne stå læsbart.
 Der er ikke testet, så der kan være slåfejl, men funktionelt skulle det 
 være OK.
 Finder sidste onsdag før aktuel dato, ogbruger den til at sætte 
 uge-stien.
 Bruger så den første dato til at bestemme måneden - finder så første 
 onsdag i den og den næste måned, som derefter bruges til måneds-sti.
 Jeg ved ikke om det lige bliver skift hver fjerde onsdag. Men det er 
 vist nogenlunde det du er på jagt efter.
 $wk_path og $mnd_path er de stier du er efter - du kan selv finde ud af 
 hvordan de skal bruges (du gemmer dem i filer..)
 Skal du have yderligere forklaring, så spørg    Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
        Ace (12-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  12-02-11 12:10
 | 
 |  | 
 
            Birger Sørensen skrev:
 
 > Det ser lidt kryptisk ud her - copy/paste til din editor, så skulle det  
 > gerne stå læsbart. 
 > Der er ikke testet, så der kan være slåfejl, men funktionelt skulle det  
 > være OK. 
 > Finder sidste onsdag før aktuel dato, ogbruger den til at sætte  
 > uge-stien. 
 > Bruger så den første dato til at bestemme måneden - finder så første  
 > onsdag i den og den næste måned, som derefter bruges til måneds-sti. 
 > Jeg ved ikke om det lige bliver skift hver fjerde onsdag. Men det er  
 > vist nogenlunde det du er på jagt efter. 
 > $wk_path og $mnd_path er de stier du er efter - du kan selv finde ud af  
 > hvordan de skal bruges (du gemmer dem i filer..) 
 >  
 > Skal du have yderligere forklaring, så spørg    Kanon Birger! :) Funktionelt er din idé lige i vinkel ;) Jeg har dog nu siddet
 siden i går og prøvet på at få scriptet til at afvikle korrekt. Jeg troede på et
 tidspunkt lige at jeg have spottet fejlen (et ' var sneget sig ind et forkert
 sted), men uden held... Scriptet har jeg placeret øverst i head-sektionen på min
 side, men når jeg lige nu åbner siden i min browser, er siden tom, og ved et kig
 i kildekoden er <html><head> det eneste der der bliver afviklet :S
 Ved ikke om du har mulighed for at lave en hurtig test af scriptet for at se om
 du oplever samme som jeg?
 Med hensyn til $wk_path og $mnd_path vil jeg meget gerne have sendt til
 henholdsvis weekPeriod.txt og monthPeriod.txt - men jeg kan overhovedet ikke
 huske hvordan man sender til to forskellige txt-filer i ét PHP-script :S
 /Ace
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
         Birger Sørensen (12-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  12-02-11 16:22
 | 
 |  | 
 
            Ace tastede følgende:
 8X
 > Kanon Birger! :) Funktionelt er din idé lige i vinkel ;) Jeg har dog nu 
 > siddet siden i går og prøvet på at få scriptet til at afvikle korrekt. Jeg 
 > troede på et tidspunkt lige at jeg have spottet fejlen (et ' var sneget sig 
 > ind et forkert sted), men uden held... Scriptet har jeg placeret øverst i 
 > head-sektionen på min side, men når jeg lige nu åbner siden i min browser, er 
 > siden tom, og ved et kig i kildekoden er <html><head> det eneste der der 
 > bliver afviklet :S
 >
 > Ved ikke om du har mulighed for at lave en hurtig test af scriptet for at se 
 > om du oplever samme som jeg?
 >
 > Med hensyn til $wk_path og $mnd_path vil jeg meget gerne have sendt til
 > henholdsvis weekPeriod.txt og monthPeriod.txt - men jeg kan overhovedet ikke
 > huske hvordan man sender til to forskellige txt-filer i ét PHP-script :S
 Jeg har lige været omkring Køge Sygehus i et døgns tid, deraf det sene 
 svar.
 mkdate skal hedde mktime...
http://bbsorensen.com/test/weektest/ du kan test andre datoer, ved at tilføje ?d=D&m=M&y=YYYY
 hvor D, Mog YYY erstattes med respektive værdier (du kan også udelade 
 dem der ikke er aktuelle - f.eks. ?D=24&m=4 svarer til 24/4-2011
 og det ser ud til at fungere, herfra hvor jeg sidder.
 koden til siden er sådan :
 <?php
 date_default_timezone_set( 'Europe/Copenhagen');
 $d = (isset( $_GET[ 'd'])) ? $_GET[ 'd'] : date( 'd');
 $m = (isset( $_GET[ 'm'])) ? $_GET[ 'm'] : date( 'm');
 $y = (isset( $_GET[ 'y'])) ? $_GET[ 'y'] : date( 'Y');
 $now = mktime ( 0, 0, 0, $m, $d, $y);
 $today = getdate( $now);    // $today[ 'wday'] = ugedag: onsdag = 3
 $d_corr = ( $today[ 'wday'] < 3) ? $today[ 'wday']+4 : $today[ 
 'wday']-3;
 // correktioner for ugedag - hvis før onsdag dagnummer+4, hvis onsdag 
 eller efter dagnummer-3
 $first_day = mktime ( 0, 0, 0, $today[ 'mon'], $today[ 'mday'] - 
 $d_corr, $today[ 'year']); // ugestart
 $last_day = mktime ( 0, 0, 0, $today[ 'mon'], $today[ 'mday'] - $d_corr 
 + 7, $today[ 'year']); // ugeslut
 $wk_path = date( 'd.m.Y', $first_day).'-'.date( 'd.m.Y', $last_day);
 $st_dt = getdate( $first_day);
 $first_mnd = FirstOns( $st_dt[ 'mon'], $st_dt[ 'year']);
 $last_mnd = FirstOns( $st_dt[ 'mon']+1, $st_dt[ 'year']);
 $mnd_path = date( 'd.m.Y', $first_mnd).'-'.date( 'd.m.Y', $last_mnd);
 function FirstOns( $md, $yr) {    // finder første onsdag i måneden
     $month = getdate( mktime ( 0, 0, 0, $md, 1, $yr));    // første dag 
 i aktuel måned
     $f_onsdag = ( $month[ 'wday'] <= 3) ? 4-$month[ 'wday'] : 
 11-$month[ 'wday'];
     return mktime ( 0, 0, 0, $md, $f_onsdag, $yr);
     }
 ?>
 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" 
 "http://www.w3.org/TR/html4/strict.dtd"> <html>
 <head>
 <title>Ugetest</title>
 <meta http-equiv="Content-Type" content="text/html; 
 charset=ISO-8859-1">
 <meta http-equiv="Content-Language" content="DK">
 </head>
 <body>
 <div>Dato: <?php echo $d.'/'.$m,'-'.$y; ?></div>
 <div>uge-folder: <?php echo $wk_path; ?></div>
 <div>måned-folder: <?php echo $mnd_path; ?></div>
 </body>
 </html>
 Jegg kan ikke lige samle mig om at skrive filer - men umiddelbart er 
 det også en skidt metode, idet filen vil blive skrevet hver gang nogen 
 besøger siden.
 Jeg vil foreslå dig at bruge samme teknik som jeg har gjort, med at 
 indsætte php variablen direkte i HTML'en. Du kan se hvordan i min kode 
 ovenfor (men ikke med vis kilde).
 Du skal være opmærksom på, at den aktuelle fil *skal* hedde .php og 
 ikke htm eller html...
 Håber det hjælper.
 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
          Ace (12-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  12-02-11 19:07
 | 
 |  | 
 
            Birger Sørensen skrev:
 > PHP-script der virker...
 OMG you're a lifesaver :O Jeg kan slet ikke beskrive hvor taknemlig jeg er for din
 hjælp Birger :)
 > Jegg kan ikke lige samle mig om at skrive filer - men umiddelbart er  
 > det også en skidt metode, idet filen vil blive skrevet hver gang nogen  
 > besøger siden. 
 > Jeg vil foreslå dig at bruge samme teknik som jeg har gjort, med at  
 > indsætte php variablen direkte i HTML'en. Du kan se hvordan i min kode  
 > ovenfor (men ikke med vis kilde). 
 > Du skal være opmærksom på, at den aktuelle fil *skal* hedde .php og  
 > ikke htm eller html... 
 Ja okay, det er afgjort det mest hensigtsmæssige at echo'e php variablen i url'en
 :)
 Det eneste der bare til allersidst lige skal rettes til, er perioderne som lige nu
 går fra onsdag til onsdag, men de skal helst gå fra onsdag til tirsdag. Jeg fandt
 hurtig ud af hvordan jeg skulle ændre dét for ugeperioderne:
 $last_day = mktime ( 0, 0, 0, $today[ 'mon'], $today[ 'mday'] - $d_corr + 6,
 $today[ 'year']); // ugeslut 
 Her var det jo bare $d_corr + 7, der i stedet skulle hedde $d_corr + 6. Men hvad i
 scriptet skal ændres, så det samme sker for månedsperioderne? Eksempelvis skal den
 nuværrende månedsperiode jo hedde 02.02.2011-01.03.2011 i stedet for
 02.02.2011-02.03.2011.
 Uanset hvad, skal du dog have mange tak for al din tid :)
 /Ace
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
           Birger Sørensen (12-02-2011) 
 
	
          | |  | Kommentar Fra : Birger Sørensen
 | 
 Dato :  12-02-11 19:37
 | 
 |  | 
 
            Efter mange tanker skrev Ace:
 8X
 > $last_day = mktime ( 0, 0, 0, $today[ 'mon'], $today[ 'mday'] - $d_corr + 6,
 > $today[ 'year']); // ugeslut 
 >
 > Her var det jo bare $d_corr + 7, der i stedet skulle hedde $d_corr + 6. Men 
 > hvad i scriptet skal ændres, så det samme sker for månedsperioderne? 
 > Eksempelvis skal den nuværrende månedsperiode jo hedde 02.02.2011-01.03.2011 
 > i stedet for 02.02.2011-02.03.2011.
 >
 > Uanset hvad, skal du dog have mange tak for al din tid :)
 Jeg havde faktisk selv tænkt tanken, at den sidste dag skulle være 
 tirsdag og ikke onsdag....
 Og det er nemt nok for ugen, men måneden er lidt værre. Det er jo ikke 
 nødvendigvis den første tirsdag i måneden, men kan være den sidste i 
 den forrige måned (hvis den 1. er en onsdag...)
 Du skal fjerne linien der beregner $last_mnd og erstatte den med disse 
 to:
 $last_dag = getdate( FirstOns( $st_dt[ 'mon']+1, $st_dt[ 'year']));
 $last_mnd = mktime( 0, 0, 0, $last_dag[ 'mon'], $last_dag[ 'mday']-1, 
 $last_dag[ 'year']);
 Den første finder stadig den første onsdag i måneden. ($last_dag)
 Den næste finder dagen før - altså tirsdagen før den første onsdag i 
 måneden. ( Og det er her værd at bemærke at mktime selv korrigerer for 
 ugyldige datoer. Så selv om den første skulle være en onsdag og man 
 trækker 1 fra, og altså beder om den 0. i en måned, returneres sidste 
 dag i forrige månedd - så det burde virke efter hensigten, og en test 
 på maj måned giver også det rigtige... )
http://bbsorensen.com/test/weektest/?m=5 Birger
 -- 
http://varmeretter.dk  - billig, sund og hurtig mad
http://bbsorensen.dk |  |  | 
            Ace (12-02-2011) 
 
	
          | |  | Kommentar Fra : Ace
 | 
 Dato :  12-02-11 20:10
 | 
 |  | 
 
            Birger Sørensen blev dagens høvding med:
 > Jeg havde faktisk selv tænkt tanken, at den sidste dag skulle være  
 > tirsdag og ikke onsdag.... 
 > Og det er nemt nok for ugen, men måneden er lidt værre. Det er jo ikke  
 > nødvendigvis den første tirsdag i måneden, men kan være den sidste i  
 > den forrige måned (hvis den 1. er en onsdag...) 
 > Du skal fjerne linien der beregner $last_mnd og erstatte den med disse  
 > to: 
 >  
 > $last_dag = getdate( FirstOns( $st_dt[ 'mon']+1, $st_dt[ 'year'])); 
 > $last_mnd = mktime( 0, 0, 0, $last_dag[ 'mon'], $last_dag[ 'mday']-1,  
 > $last_dag[ 'year']); 
 >  
 > Den første finder stadig den første onsdag i måneden. ($last_dag) 
 > Den næste finder dagen før - altså tirsdagen før den første onsdag i  
 > måneden. ( Og det er her værd at bemærke at mktime selv korrigerer for  
 > ugyldige datoer. Så selv om den første skulle være en onsdag og man  
 > trækker 1 fra, og altså beder om den 0. i en måned, returneres sidste  
 > dag i forrige månedd - så det burde virke efter hensigten, og en test  
 > på maj måned giver også det rigtige... ) 
 Fantastisk!! You're the MAN! :D 1000 tak Birger for den absolut bedste hjælp jeg
 længe har modtaget :)
 -- 
 Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
  - Pædagogiske tutorials på dansk
  - Kom godt i gang med koderne
 KLIK HER! => http://www.html.dk/tutorials |  |  | 
 |  |