/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
mailformular samt script driller
Fra : Anders Boholdt-Peter~


Dato : 25-12-06 22:30

Hej,

I forbindelse med, at jeg har lavet min side i en version der kan kører
under php, driller det mail script mig, som jeg tidligere under tråden
"Konvertering fra asp til php" fik tilsendt.

Det er ikke mit navn som dukker op når jeg modtager en mail, men blot noget
med http-daimon eller sådan noget.

Der er også noget med selve html-formularen, der bruges til selve formularen
jeg er i tvivl om.

Jeg har et felt ved navn "textarea", som jeg ikke lige kan gennemskue
hvordan jeg skal blive ved med at beholde, da jeg i følge den tidligere
nævnte tråd mangler et navn på mit tekstfelt.

For bedre fejlsøgning kan koderne til henholdsvis formularen samt selve
scriptet ses i TXT-filer på nedenstående adresser:
http://www.boholdt-petersen.dk/kontakt.txt
http://www.boholdt-petersen.dk/sendmail.txt

Jeg ville blive rigtig glad, hvis der er nogle derude der har mulighed for
at kikké på hvad der går galt i hendholdsvis formularen og selve scriptet,
således at det kommer til at virke efter hensigten.

I skriver bare, hvis der er noget som I ikke forstår.

Svarene kan I enten poste her i gruppen eller I kan hvis I har lyst sende
filerne til mig på adressen anders (snabela)boholdt-petersen.dk
Erstat lige (snabela) med et almindeligt @.

Jeg siger på forhånd mange tak for eventuelle svar.

--

/ Anders
http://www.boholdt-petersen.dk



 
 
Erik Ginnerskov (25-12-2006)
Kommentar
Fra : Erik Ginnerskov


Dato : 25-12-06 22:52

Anders Boholdt-Petersen wrote:

> http://www.boholdt-petersen.dk/kontakt.txt

Jeg synes, det ser underligt ud omkring dit textarea til indtastning af
$mesage:

Skriv din besked/kommentar her: <name="tekstbesked"<br>
<textarea name="Skriv din besked/kommentar her" cols="40"
rows="5"></textarea>

Mon ikke det skal se sådan ud:

Skriv din besked/kommentar her:<br>
<textarea name="Skriv din besked/kommentar her" cols="40"
rows="5"></textarea>

> http://www.boholdt-petersen.dk/sendmail.txt

Så vidt jeg kan se, får du ikke medsendt afsenders navn og email-adresse:

mail($webmaster, $subject, $message);

Hvor er variablen $sender blevet af? skal det ikke være noget i retning af

mail($sender, $webmaster, $subject, $message);

--
Fortsat god jul
Erik Ginnerskov
http://hjemmesideskolen.dk/ - http://ginnerskov.dk/
http://html-faq.dk



Dan Storm (25-12-2006)
Kommentar
Fra : Dan Storm


Dato : 25-12-06 23:12

Erik Ginnerskov skrev:
> mail($sender, $webmaster, $subject, $message);
Det der duer ikke...
Så bliver $sender til modtager, $webmaster til emne, $subject til
indholdet og $message til headerne...

Med lidt kodeopfriskning også, bliver koden (med lidt makeup) til:

<?
$recipent = 'Anders Boholdt-Petersen <post-removethis@boholdt-petersen.dk>';
$sender = urldecode($_POST['navn']).' <'.urldecode($_POST['email']).'>';
$subject = strip_tags($_POST['emne']);
$message = strip_tags($_POST['tekstbesked'])
$headers = "From: ".$sender."\r\n";

if (eregi("\r", $sender) || eregi("\n", $sender))
Die('spam protection');

if(@mail($recipent, $subject, $message, $headers))
{
   echo 'Mailen er sendt.';
}
else
{
   echo 'Det var ikke muligt at afsende mailen...';
   exit;
}

if(isset($_POST['kopi']))
{
   if(@mail($sender, $subject, $message, $headers))
      echo '<br />En kopi er også sendt til dig.';
}


?>

--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Anders Boholdt-Peter~ (26-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 26-12-06 00:31

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:45904c9f$0$20284$edfadb0f@dread16.news.tele.dk...
> Med lidt kodeopfriskning også, bliver koden (med lidt makeup) til:
>
> <?
> $recipent = 'Anders Boholdt-Petersen
> <post-removethis@boholdt-petersen.dk>';
> $sender = urldecode($_POST['navn']).' <'.urldecode($_POST['email']).'>';
> $subject = strip_tags($_POST['emne']);
> $message = strip_tags($_POST['tekstbesked'])
> $headers = "From: ".$sender."\r\n";
>
> if (eregi("\r", $sender) || eregi("\n", $sender))
> Die('spam protection');
>
> if(@mail($recipent, $subject, $message, $headers))
> {
> echo 'Mailen er sendt.';
> }
> else
> {
> echo 'Det var ikke muligt at afsende mailen...';
> exit;
> }
>
> if(isset($_POST['kopi']))
> {
> if(@mail($sender, $subject, $message, $headers))
> echo '<br />En kopi er også sendt til dig.';
> }
>
>
> ?>

Tak for koden!

Det driller desværre stadig.

Jeg får uanset hvad jeg gør ikke noget i mailens krop (body)!

Hvis jeg klikker i min checkbox hvor folk skal afkrydse om e ønsker en kopi,
sker der ikke hverken på skræmen (meddelelsen om at man skulle have modtaget
en kopi dukker ikke op), eller i ens mailboks.

Den eneste der får en mail med rigtig header og emne, men altså ingen
tekstindhold i selve mailen på trods af at jeg med min anden mailadresse
lader som om jeg er en anden skriver på livet løs er mig som skal modtage
mailsne.

Er der nogle der kan gennemskue hvor fejlen ligger?

For god ordensskyld får I lige et link til de aktuelle scripts og formulare
i txt-versioner, så I kan kikke på det som jeg har testet med:

Linket til selve formularen (hvor jeg har mistanke om at der mangler noget)
er:
http://www.boholdt-petersen.dk/kontakt.txt

Linket til selve scriptet (som jeg også har mistanke om driller) er:
http://www.boholdt-petersen.dk/sendmail.php

Glæder mig til eventuelle svar!

--

/ Anders
http://www.boholdt-petersen.dk



Dan Storm (26-12-2006)
Kommentar
Fra : Dan Storm


Dato : 26-12-06 00:44

Anders Boholdt-Petersen skrev:
> Tak for koden!
>
> Det driller desværre stadig.
>
> Jeg får uanset hvad jeg gør ikke noget i mailens krop (body)!
Kig din html igennem:
<textarea name="Skriv din besked/kommentar her" cols="40"
rows="5"></textarea>
name burde ifølge sendmail.php være 'tekstbesked'.

> Hvis jeg klikker i min checkbox hvor folk skal afkrydse om e ønsker en kopi,
> sker der ikke hverken på skræmen (meddelelsen om at man skulle have modtaget
> en kopi dukker ikke op), eller i ens mailboks.

Igen, kig i din html:
input type="checkbox" id="Kopi" name="Kopi" />

Skriv ALTID med _små_ bogstaver... prøv at rette det til 'kopi'.


--
Dan Storm - storm at err0r dot dk / http://err0r.dk

Tro ikke brugerne vil gøre noget for at undgå dit killfilter
- Så vigtig er du heller ikke!

Anders Boholdt-Peter~ (26-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 26-12-06 01:25

"Dan Storm" <shadyz@_REMOVETHIS_err0r.dk> skrev i en meddelelse
news:4590625d$0$20299$edfadb0f@dread16.news.tele.dk...
> Kig din html igennem:

Er gjort, og nu virker det (så fik jeg også lært lidt om HTML i dag).

Nu modtager jeg en mail, og de får en kopi, hvis de (den der skriver) beder
om det!

Hvordan får man scriptet til at tjekke, at folk har husket at indtaste deres
mailadresse?

Som det er nu, får man blot meddelelsen "mailen er sendt", hvis man klikker
på knappen Send uden at man har indtastet en mail i formularen!

På forhånd mange tak for hjælpen - det er virkelig fedt!

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (26-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 26-12-06 02:22

Anders Boholdt-Petersen skrev:

> Hvordan får man scriptet til at tjekke, at folk har husket at indtaste deres
> mailadresse?

Princippet er at du skal tjekke den variabel der skal indeholde
en værdi. Hvis mailadressen modtages i $_POST['mailadresse'],
ser det sådan ud:

if ($_POST['mailadresse']=='') echo "Du har glemt at angive en mailadresse!";

Men brugeren ser på det tidspunkt kun modtageside og ikke den
formular han har indtastet i. Hvis det skal laves brugervenligt,
bliver det lidt mere komplekst. Det er nok nemmest hvis du først
får det til at fungere uden denne brugervenlighed, for der er en
del der skal laves om ellers:


Der er to principper:

1. Der skal kun være én side der både rummer formularen og
behandlingen af den. Den skal kalde sig selv via
action-parameteren.

2. Alle variable skal huskes fra det ene kald til det næste sådan
så brugeren stadig ser sine indtastninger selv om han har
trykket [Send]. Det er specielt vigtigt hvis han får en fejl og
skal udfylde igen.

Det første klares ved at man tjekker om der er trykket 'Send':

if (isset($_POST['send']) {
   Tjek indtastede data, og giv fejlbesked eller send mailen og fortæl at den er afsendt.
}
else {
   Præsentér formularen med alle hjælpeteksterne.
}

Punkt 2 klares ved at man giver hvert input en værdi som præcis
er den variabel som hører til samme felt. Jeg bruger lige
"mailadresse" igen:

<?
$address=$_POST['mailadresse'];
echo "<input type='text' name='mailadresse' value='$address'>";
?>

Brugen af $address er ikke nødvendig, men forenkler brugen af
anførselstegn en hel del.
Første linje henter POST-værdien. Den er tom hvis brugeren ikke
har tastet noget, men den rummer det indtastede hvis han har.
Anden linje laver bare et normalt inputfelt, men sætter den
hentede værdi ind som forudfyldt værdi via parameteren "value".

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (26-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 26-12-06 10:19

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:1bv92h7pwiih6$.mait9wcait1w$.dlg@40tude.net...
> Men brugeren ser på det tidspunkt kun modtageside og ikke den
> formular han har indtastet i. Hvis det skal laves brugervenligt,
> bliver det lidt mere komplekst. Det er nok nemmest hvis du først
> får det til at fungere uden denne brugervenlighed, for der er en
> del der skal laves om ellers:

Jeg kan ligeså godt starte med at lave systemet brugervenligt.

Jeg har nu forsøgt at tilrette filen der ligger på adressen
http://www.boholdt-petersen.dk/kontakt.txt
så den burde kalde sig selv, der kommer blot en fejl i linie 51 når jet
klikker på send.

Er de en derude der har mulighed for at kikke koden igennem, og lige poste
hvad der skal rettes, dels så den virker, og dels så brugeren får besked om,
at der mangler en mailadresse?

På forhånd mange tak for hjælpen.

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (27-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 27-12-06 21:31

Anders Boholdt-Petersen skrev:

> Jeg har nu forsøgt at tilrette filen der ligger på adressen
> http://www.boholdt-petersen.dk/kontakt.txt
> så den burde kalde sig selv, der kommer blot en fejl i linie 51 når jet
> klikker på send.

Du har misforstået min forklaring. Når jeg skriver:

   if (isset($_POST['send']) {
      Tjek indtastede data, og giv fejlbesked eller send mailen og
      fortæl at den er afsendt.
   }
   else {
      Præsentér formularen med alle hjælpeteksterne.
   }

Så er det bare en forklaring og ikke en færdig kode der står
mellem krølleparenteserne.

En anden ting: Lad afslutningen med "</body></html>" stå
allernederst i din PHP-fil. Browseren vil nemlig holde helt op
med at vise mere når den møder "</html>" uanset om du i PHP
bruger echo længere nede (eller evt. bare skriver rå tekst).

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (27-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 27-12-06 21:49

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:1bodzo9tu8ae0$.1nwzcx39yef1x.dlg@40tude.net...
> Du har misforstået min forklaring. Når jeg skriver:
>
> if (isset($_POST['send']) {
> Tjek indtastede data, og giv fejlbesked eller send mailen og
> fortæl at den er afsendt.
> }
> else {
> Præsentér formularen med alle hjælpeteksterne.
> }
>
> Så er det bare en forklaring og ikke en færdig kode der står
> mellem krølleparenteserne.

Har du eller en anden venlig person mulighed med at hjælpe med at tilrette
koden (ligger på samme filplacering som før), så den kommer til at virke i
praksis?

Jeg er meget ny i php, så ved ikke så meget om det endnu.

Det ville jeg være meget taknemmelig for!!!

> En anden ting: Lad afslutningen med "</body></html>" stå
> allernederst i din PHP-fil. Browseren vil nemlig holde helt op
> med at vise mere når den møder "</html>" uanset om du i PHP
> bruger echo længere nede (eller evt. bare skriver rå tekst).

Tak for tippet, det burde hermed være rettet.

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 10:33

Anders Boholdt-Petersen skrev:

> Har du eller en anden venlig person mulighed med at hjælpe med at tilrette
> koden (ligger på samme filplacering som før), så den kommer til at virke i
> praksis?

Nu har jeg skrevet koden helt færdig så den skulle være lige til at kopiere. Jeg
har testet den (dog ikke grundigt), og den virker og validerer.

================================
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
<title>Kontakt webmaster ved at udfylde dette skema</title>
<link rel="stylesheet" type="text/css" href="style.css">
</head>

<body>
<?php
// Sørg for at datoudskriften følger dansk standard.
setlocale(LC_ALL, 'danish');
echo "<p>".strftime('Denne side er sidst opdateret %d. %B %Y kl. %T')."</p>\n";

// Hvis der er trykket "Slet", skal alle felter tømmes.
// Det skal ske før formularen præsenteres.
if (isset($_POST['slet'])) {
   $_POST['navn']='';
   $_POST['email']='';
   $_POST['emne']='';
   $_POST['tekstbesked']='';
   $_POST['kopi']=false;
}
?>

<form name="Mail" action="<?php echo $_SERVER['PHP_SELF']?>" method="post">
<h1>Her kan du skrive til webmasteren for Boholdt-Petersen.dk</h1>
<p>Udfyld felterne nedenfor, og klik derefter på send knappen.</p>
<p>Bemærk at feltet E-mail adresse skal udfyldes, ellers får du en fejlmeddelelse!</p>
<p>Navn: <input name="navn" type="text" size="30" value="<?php echo $_POST['navn'] ?>"></p>
<p>E-mail adresse: <input name="email" type="text" size="30" value="<?php echo $_POST['email'] ?>"></p>
<p>Emne: <input name="emne" type="text" size="30" value="<?php echo $_POST['emne'] ?>"><br>
   Skriv din besked/kommentar her:<br>
   <textarea name='tekstbesked' cols="40" rows="5"><?php echo $_POST['tekstbesked'] ?></textarea>
</p>
<p><label for="kopi_id">Send mig en kopi</label>
<input type="checkbox" id="kopi_id" name="kopi"
<?php if ($_POST['kopi']) echo "checked"; ?>
></p>
<p>
<input name="send" type="submit" value="Send din besked">
<!-- Sletteknappen skal være af typen submit fordi jeg har sat PHP til at genindsætte indholdet i felterne. -->
<input name="slet" type="submit" value="Slet alt og start forfra">
</p>
</form>

<p>
<a href="http://validator.w3.org/check?uri=referer">
<img src="http://www.w3.org/Icons/valid-html401"
alt="Valid HTML 4.01 Transitional" height="31" width="88">
</a>
</p>
<p>
<a href="http://jigsaw.w3.org/css-validator/">
<img style="border:0; width:88px; height:31px"
src="http://jigsaw.w3.org/css-validator/images/vcss"
alt="Valid CSS!">
</a>
</p>

<p><a href="side.php?id=0">Tilbage til forsiden</a></p>

<?php
// $usermessage skal indeholde beskeden til brugeren. Den bruges i første omgang til at tjekke
// om alle felter er udfyldt. Den forbliver tom hvis alt er i orden.
$usermessage='';
if (isset($_POST['send'])) {
/*
   // Her er der gjort klar til at man kan give en fejlmeddelelse hvis navn og overskrift mangler:
   if (!$_POST['navn']>'')
      $usermessage.="Du skal angive dit navn.\n";
   if (!$_POST['emne']>'')
      $usermessage.="Du skal angive en overskrift.\n";
*/
   if (!$_POST['email']>'' or strpos($_POST['email'],'@')===false)
      $usermessage.="Du skal angive din mailadresse.\n";

   // Her testes det så om $usermessage er tom:
   if ($usermessage=='') {
      $recipent = 'Anders Boholdt-Petersen <post-removethis@boholdt-petersen.dk>';
      $sender = urldecode($_POST['navn']).' <'.urldecode($_POST['email']).'>';
      $subject = strip_tags($_POST['emne']);
      $message = strip_tags($_POST['tekstbesked']);
      $headers = "From: ".$sender."\r\n";

      if (eregi("\r", $sender) || eregi("\n", $sender)) {
         die('spam protection');
      }
      if (@mail($recipent, $subject, $message, $headers)) {
         $usermessage='Mailen er sendt.';
         if(isset($_POST['kopi']))
            if (@mail($sender, $subject, $message, $headers))
               $usermessage.="<br>En kopi er også sendt til dig.\n";
         }
      else
         $usermessage='Det var ikke muligt at afsende mailen...';
   }
   // Under alle omstændigheder udskrives $usermessage -
   // enten med en fejlbesked eller også med besked om at mailen er sendt.
   // Jeg har givet den en <div> og en klasse, 'kvittering'. Så er det forberedt at den kan styles i CSS.
   echo "<div class='kvittering'>$usermessage</div>\n";
}

?>

</body>
</html>
================================

Forklaring til visse punkter:

1. Hvorfor har jeg lavet om på doctypen?

Fordi det er nemmere at få browserne til at opføre sig ens med en strict-type.
I øvrigt hat jeg også fjernet de skråstreger der blev brugt i visse tags, f.eks. <br />.
De er nemlig forkerte i HTML (de hører hjemme i XML).


2. Hvordan sørger man for at brugerens input bliver stående når siden hentes igen?

Normalt ville man lave et input således:
<p>Navn: <input name="navn" type="text" size="30"></p>

Hvis man vil tildele en værdi på forhånd, skriver man:
<p>Navn: <input name="navn" type="text" size="30" value="Børge"></p>
men det er jo ikke alle der hedder Børge, og værdien Børge ville bare overskrive
det som brugeren møjsommeligt havde indtastet.

Derfor benytter jeg mig af at PHP har registreret hvad brugeren har tastet, og jeg sørger
for at det bliver skrevet som value-parameter:
<p>Navn: <input name="navn" type="text" size="30" value="<?php echo $_POST['navn'] ?>"></p>

Sådan skal det stå i et HTML-afsnit. Man er nødt til at bruge <?php og ?>. Hvis man nu var
i et PHP-afsnit, skulle HTML'en udskrives med echo, og så ville det se sådan ud:
echo "<p>Navn: <input name="navn" type="text" size="30" value='".$_POST['navn']."'></p>";
Bemærk den omhyggelige brug af anførselstegnene. HTML er ligeglad med om man bruger ' eller "
men de bruges lidt forskelligt i PHP. Prøv at hente siden i en browser og så kik på den kode
som PHP har produceret. Det kan måske hjælpe dig til at se hvordan anførselstegnene fungerer.


3. Hvorfor er det anderledes ved det felt der er et textarea?

Fordi textarea opfører sig anderledes. Der skal man bare skrive den forudfyldte tekst
mellem de to tags <textarea> og </textarea>.


4. Hvordan laves det så ved en checkbox?

Ved den skal der stå "checked" hvis der skal være hak, og POST-variablen har værdien
true eller false. Derfor tjekker jeg og udskriver "checked" hvis værdien er true.
Jeg tjkekker på den 'korte' måde. Det er nemlig som regel ligegyldigt om man skriver:
   if ($input==true)
eller bare
   if ($input)


5. Hvorfor har jeg lavet om på navnene "submit" og "reset" og ændret dem til "send" og "slet"?

Det har jeg fordi det er en skidt idé at bruge reserverede navne til variabler
uanset om det er tilladt eller ej. Det virker forvirrende.
Jeg har også ændret "Kopi" til "kopi_id" fordi man sparer sig selv for problemer ved
kun at bruge små bogstaver og ved aldrig at genbruge et navn hvor man blot ændrer nogle af
bogstaverne til modsat størrelse.


6. Hvorfor er reset-knappen blevet lavet om til typen submit?

Det er den fordi en reset-type ikke vil virke når man får PHP til at indsætte værdier
i felterne på forhånd. Så er man nødt til at slette indholdet i alle POST-variablene,
men det må kun ske når siden genhentes, og derfor skal der et submit til.


7. Hvad er det for noget $_SERVER['PHP_SELF'] der er dukket op i action-parameteren?

Det er såmænd en automatisk måde at få filnavnet skrevet ind i koden på. Det betyder
at siden vil kalde sig selv uanset hvilket filnavn man vælger at give den. Det er en god idé
at bruge det ved selvkaldende sider. Så er der en ting mindre at rette hvis man vil genbruge koden,
og så er man også sikret at det virker hvis man skulle få lyst til at ændre filnnavnet.


8. Alle kommentarerne i koden kan naturligvis slettes.

HTML-kommentarer står mellem <!-- og -->.
PHP-kommentarer er enten en-linjers, og de starter bare med //
eller også strækker de sig over flere linjer, og så skal de omkranses
af /* og */. Det sidste har jeg benyttet til at deaktivere tjekket af to brugerinput.
Det tjek havde du ikke selv lavet, men nu er det en smal sag at få det med hvis du skulle få lyst.


--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 10:37

Bertel Lund Hansen skrev:

Koden er god nok, men der er en svipser i kommentaren:

> Sådan skal det stå i et HTML-afsnit. Man er nødt til at bruge <?php og ?>. Hvis man nu var
> i et PHP-afsnit, skulle HTML'en udskrives med echo, og så ville det se sådan ud:
> echo "<p>Navn: <input name="navn" type="text" size="30" value='".$_POST['navn']."'></p>";

Der burde have stået:

echo "<p>Navn: <input name='navn' type='text' size='30' value='".$_POST['navn']."'></p>";

Fidusen er nemlig at man bruger " til de ydre tegn og så ' til
alle de indre. Så bliver der ingen konflikt.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (28-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 28-12-06 11:17


"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:evzb6e468fp8$.18p61bphghymu.dlg@40tude.net...
> Nu har jeg skrevet koden helt færdig så den skulle være lige til at
> kopiere. Jeg
> har testet den (dog ikke grundigt), og den virker og validerer.

Super - tusind tak!!!

Jeg har dog et par enkelte spørgsmål, og måske lige et par rettelser, som vi
måske i fællesskab kan få lagt ind i scriptet:

1. Kan man lave det sådan, at felterne tømmes, når man klikker på
Send-knappen, og alle felter er udfyldt korrekt?

Som det er nu, kan man nemlig stadig se det indtastede i felterne, også
selvom alle felter er udfyldt.

2. Hvis ovenstående spørgsmål ikke kan lade sig gøre, kan man så lave noget
der gør, at felterne simpelthen forsvinder når mailen er afsendt korrekt, og
man kun ser teksten "Mailen er afsendt, og eventuelt en kopi er også sendt
til dig"?

Jeg vil hvis det kan lade sig gøre helt bruge mulighed nummer 2.

3. Hvordan laver man det der med tjek af 2 brugerinput?

Endnu en gang tak for hjælpen - uden nyhedsgrupperne var jeg virkelig på bar
bund!!!

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 13:21

Anders Boholdt-Petersen skrev:

> 1. Kan man lave det sådan, at felterne tømmes, når man klikker på
> Send-knappen, og alle felter er udfyldt korrekt?

Sagtens. Det vil jeg bare fraråde. Det får uvægerligt brugeren
til at sidde og spekulere på om det nu bare er en tom mail der
farer afsted.

I øjeblikket tjekker jeg i starten om der er trykket på "Slet".
hvis man ændrer tjekket til:

   if (enten send eller slet) så tøm alle variable.

vil det virke på den måde.

> 2. Hvis ovenstående spørgsmål ikke kan lade sig gøre, kan man
> så lave noget der gør, at felterne simpelthen forsvinder når
> mailen er afsendt korrekt, og man kun ser teksten "Mailen er
> afsendt, og eventuelt en kopi er også sendt til dig"?

Det kan man også. Det klares ved at hele det afsnit der viser
formularen, skal lægges ind under en betingelse:

   if (der er ikke trykket på Send)
      Vis hele formularen.
   ellers
      Skriv at mailen er sendt (eller at der er fejl).

Hvis du vil bruge den måde, er det bedst at lave en udskrift hvor
man viser hvad der er sendt.

Men jeg vil ikke kode mere på siden fordi ellers ender det med at
blive en strøm af nye ønsker og kodeopgaver til mig. Hvis du vil
lave mulighed nummer 2, skal der ændres en hel del i koden.

> 3. Hvordan laver man det der med tjek af 2 brugerinput?

Ved at fjerne /* og */ fordi jeg allerede har forberedt det. Så
bliver kodestumpen aktiveret (fordi den så ikke længere er en
kommentar).

Hvis du mener hvordan tjekket virker, så er det ret enkelt.
Eksempel:

   if (!$_POST['navn']>'')
      $usermessage.="Du skal angive dit navn.\n";

Jeg tester på om strenegen som kommer fra feltet med navnet
'navn', er større end en tom streng. Det vil den kun være hvis
brugeren har skrevet noget.

Hvis han ikke har, vil $usermessage blive tilføjet en besked om
at man skal angive navnet, og det er i forvejen indbygget i koden
at $usermessage skal udskrives.

Det eneste der sådan set mangler, er på forhånd at gøre opmærksom
på at de felter også skal udfyldes.

Det var nok en god idé at tilføje en stjerne, *, til den
forklarende tekst til felterne, og så skrive at felter med
stjerne skal udfyldes. Den måde er der mange der laver det på.

Jeg har forresten et spørgsmål om hvordan opstillinger fungerer
for blinde. Jeg er vant til at lave tomme linjer mellem logiske
kodeblokke, og jeg bruger også ofte mellemrum eller tabulering
inden i en blok så det er nemmere at se at linjerne er indlemmet
i blokken.

Er det noget der hjælper blinde, generer det, eller er det
ligemeget?


PS. Brug af punktum sammen med lighedstegn i PHP:

Måske ved du ikke hvordan punktummet bruges. Her er nogle
eksempler:

   $besked='Dette er en besked.';

$besked indeholder nu teksten 'Dette er en besked.' og ikke
andet.

   $besked='Dette er en besked.';
   $besked='Dette er en besked mere.';

$besked indeholder nu teksten 'Dette er en besked mere.' og ikke
andet. Den første tekst er glemt (overskrevet).

   $besked='Dette er en besked.';
   $besked.='Dette er en besked mere.';

$besked indeholder nu teksten 'Dette er en besked.Dette er en
besked mere.'. Den anden tekst er blevet tilføjet den første.
Bemærk at der mangler et mellemrum efter punktum. Det skal man jo
selv sørge for når man laver den slags.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (28-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 28-12-06 17:24

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:smwfuq2jlw3d$.1tgmk5f2b3um4.dlg@40tude.net...
>> 2. Hvis ovenstående spørgsmål ikke kan lade sig gøre, kan man
>> så lave noget der gør, at felterne simpelthen forsvinder når
>> mailen er afsendt korrekt, og man kun ser teksten "Mailen er
>> afsendt, og eventuelt en kopi er også sendt til dig"?
>
> Det kan man også. Det klares ved at hele det afsnit der viser
> formularen, skal lægges ind under en betingelse:
>
> if (der er ikke trykket på Send)
> Vis hele formularen.
> ellers
> Skriv at mailen er sendt (eller at der er fejl).
>
> Hvis du vil bruge den måde, er det bedst at lave en udskrift hvor
> man viser hvad der er sendt.
>
> Men jeg vil ikke kode mere på siden fordi ellers ender det med at
> blive en strøm af nye ønsker og kodeopgaver til mig. Hvis du vil
> lave mulighed nummer 2, skal der ændres en hel del i koden.

Bare OK.

Grunden til spørgsmål nummer 2 skyldtes, at jeg med min skærmlæser først til
sidst på siden ser teksen "Mailen er sendt".

Hvis man i stedet blot kunne flytte beskeden om at mailen er sendt op over
selve formularen ville det være bedre, da man så kunne få fokus på denne
tekst til at starte med i stedet for først at skulle kikke på hele
formularen.

Du kan eventuelt bare skrive hvordan jeg skal gøre.

> Det var nok en god idé at tilføje en stjerne, *, til den
> forklarende tekst til felterne, og så skrive at felter med
> stjerne skal udfyldes. Den måde er der mange der laver det på.

Jeg skal lige være helt med:

Skal jeg blot tilføje stjerner i koden der hvor navn, send og alle de andre
ting står, for at dette virker?

> Jeg har forresten et spørgsmål om hvordan opstillinger fungerer
> for blinde. Jeg er vant til at lave tomme linjer mellem logiske
> kodeblokke, og jeg bruger også ofte mellemrum eller tabulering
> inden i en blok så det er nemmere at se at linjerne er indlemmet
> i blokken.
>
> Er det noget der hjælper blinde, generer det, eller er det
> ligemeget?

Det betyder ingen ting.

Skærmlæseren er ligeglad med tomme linier.

Dem kan jeg se hvis jeg bruger piletasterne, men jeg kan også blot lade den
læse op i et langt stykke, og så får jeg ikke annonceret tomme linier.

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 18:01

Anders Boholdt-Petersen skrev:

> Hvis man i stedet blot kunne flytte beskeden om at mailen er sendt op over
> selve formularen ville det være bedre, da man så kunne få fokus på denne
> tekst til at starte med i stedet for først at skulle kikke på hele
> formularen.

Jeg er helt enig, og det er let at ændre. Hele den sidste
PHP-blok skal bare flyttes op lige efter det tjek med if
(isset($_POST['slet'])), sådan så der kun er én samlet blok.

Tænk på at HTML-siden vil vise teksterne i den rækkefølge de
bliver produceret (skrevet direkte eller frembragt af PHP's
echo).

Ved samme lejlighed kunne du overveje at flytte opdateringsdatoen
ned som det allersidste. Det gør du ved at lave en ny PHP-blok
med de to datolinjer i allernederst.

>> Det var nok en god idé at tilføje en stjerne, *, til den
>> forklarende tekst til felterne, og så skrive at felter med
>> stjerne skal udfyldes. Den måde er der mange der laver det på.

> Jeg skal lige være helt med:

> Skal jeg blot tilføje stjerner i koden der hvor navn, send og alle de andre
> ting står, for at dette virker?

Stjernen betyder intet i sig selv. Det er kun et mærke som skal
gøre brugeren opmærksom på at der er noget særligt ved et
inputfelt. Man kunne også skrive "NB!" ud for felterne, men der en
en del der bruger en stjerne, så nogle brugere vil være vant til
det mærke. Eksempel:

<p>Navn *: <input name="navn" type="text" size="30" value="<?php echo $_POST['navn'] ?>"></p>

Hvis du vil bruge stjernerne, skal du forklare hvad de betyder.
Selv om nogle kender dem, er der mange der ikke gør - og det er
ikke en fastsat standard, så man kunne godt risikere at de betød
noget helt andet på en eller anden hjemmeside.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (28-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 28-12-06 19:31

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:1su0mg2of8g9h$.b15flafpodn3.dlg@40tude.net...
> Jeg er helt enig, og det er let at ændre. Hele den sidste
> PHP-blok skal bare flyttes op lige efter det tjek med if
> (isset($_POST['slet'])), sådan så der kun er én samlet blok.

Super - tusind tak for hjælpen!!!

Nu er der bare en ting tilbage:

Se, når jeg kalder mine filer, kalder jeg dem gennem en fil som jeg har
kaldt for side.php

I selve linket jeg opretter i mine html-filer, henviser jeg så blot til et
id, f.eks. er side.php?id=+ filen index.php.

Men når jeg forsøger at afvikle filen kontakt.php igennem filen side.php,
får jeg blot beskeden "ugyldig id", når jeg klikker på send.

Jeg har forsøgt at tilføje formularen som et id (altså selve den formular
der afvikles når jeg trykker send), men det virker ikke.

Selve side.php-filen kan findes i txt-version fra adressen
http://www.boholdt-petersen.dk/side.txt

Hvis der var nogle der kunne gennemskue hvor denne fejl ligger, således at
jeg kan afvikle min formular gennem side.php, vil jeg blive meget glad!!!

På forhånd tusind tak for hjælpen!!!

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 20:38

Anders Boholdt-Petersen skrev:

> Jeg har forsøgt at tilføje formularen som et id (altså selve den formular
> der afvikles når jeg trykker send), men det virker ikke.

Jeg forstår ikke helt din beskrivelse, men heller ikke problemet.

Jeg har lagt din sidefil sammen med den kontakt.php jeg har
skrevet, og hvis jeg åbner

   http://test.lundhansen.dk/side.php?id=8

i min browser, så kommer kontaktsiden som den skal.

Hvad præcis skriver du i adressefeltet som giver problemet?

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (28-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 28-12-06 20:56

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:xyypxad8wkvn$.yg484s07d9gk$.dlg@40tude.net...
> Hvad præcis skriver du i adressefeltet som giver problemet?

UBS, vi er gået forbi hinanden.

Problemet opstår når jeg har udfyldt felterne og trykker på send-knappen.

Så er det at den siger ugyldigt id.

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 21:24

Anders Boholdt-Petersen skrev:

> Problemet opstår når jeg har udfyldt felterne og trykker på send-knappen.

Åh. I mit forslag skrev jeg en PHP-kode der kalder filen selv
direkte. Hvis du vil omkring side.php, skal du lave
action-parameteren om sådan her:

   action="side.php?id=8"

Det er dog ikke så fikst for hvis du senere ændrer på
rækkefølgen, har kontaktsiden måske ikke længere id=8?

Når jeg laver sådan en konstruktion, bruger jeg et ord som id.
Det kunne f.eks. være

$sites_arr = array(
....
"kontakt" => "kontakt.php",
....

På den måde kan man flytte rundt på elementerne uden problemer.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (28-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 28-12-06 21:34

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:1h5zv9hrtriky.ncdyi450e7ff$.dlg@40tude.net...
> Åh. I mit forslag skrev jeg en PHP-kode der kalder filen selv
> direkte. Hvis du vil omkring side.php, skal du lave
> action-parameteren om sådan her:
>
> action="side.php?id=8"
>
> Det er dog ikke så fikst for hvis du senere ændrer på
> rækkefølgen, har kontaktsiden måske ikke længere id=8?

Jo, ellers kan jeg jo bare rette det pågældende id.

> Når jeg laver sådan en konstruktion, bruger jeg et ord som id.
> Det kunne f.eks. være
>
> $sites_arr = array(
> ...
> "kontakt" => "kontakt.php",
> ...

Hvad skal man så skrive i sin URL for at kalde filen, hvis man laver det som
vist ovenfor?

Har jeg forstået det korrekt, at man blot fortsætter med at tilføje nye
filer, f.eks. ved at man skriver følgende:

---
> $sites_arr = array(
....
"kontakt" => "kontakt.php",
....
---

Hvis ja, hvad skal man så bruge de 4 punktummer til eller hvor mange der nu
er i starten og i slutningen (min skærmlæser siger kun 3 punktummer også
selvom der er 20)?

Undskyld hvis jeg spørger lidt dumt!

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (28-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 28-12-06 21:39

Anders Boholdt-Petersen skrev:

>> $sites_arr = array(
>> ...
>> "kontakt" => "kontakt.php",
>> ...

> Hvad skal man så skrive i sin URL for at kalde filen, hvis man laver det som
> vist ovenfor?

side.php?id=kontakt

og action-parameteren:

action="side.php?id=kontakt"

> Har jeg forstået det korrekt, at man blot fortsætter med at tilføje nye
> filer, f.eks. ved at man skriver følgende:

Nej. Punktummerne er kun til for at vise at linjen står mellem
nogle andre tilsvarende linjer. Alternativet var at skrive hele
side.php af, og det var blevet for meget.

Du tilføjer nye filer blot ved at indføje en linje i dit array
med en nøgle og et filnavn (ligesom de andre).

> Undskyld hvis jeg spørger lidt dumt!

Spørg du bare løs.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Martin Mouritzen (28-12-2006)
Kommentar
Fra : Martin Mouritzen


Dato : 28-12-06 22:37

On Thu, 28 Dec 2006 19:30:50 +0100, "Anders Boholdt-Petersen"
<post-REMOVETHIS-@boholdt-petersen.dk> wrote:

>I selve linket jeg opretter i mine html-filer, henviser jeg så blot til et
>id, f.eks. er side.php?id=+ filen index.php.
>
>Men når jeg forsøger at afvikle filen kontakt.php igennem filen side.php,
>får jeg blot beskeden "ugyldig id", når jeg klikker på send.

Det lyder som om at du bare mangler en <input type="hidden" name="id"
value="kontakt.php"> eller hvad kontakt-siden nu hedder.

Men det lyder også som et muligt sikkerhedshul, hvis du bare requirer
eller includer den fil der står i "id".

--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

Martin Mouritzen (28-12-2006)
Kommentar
Fra : Martin Mouritzen


Dato : 28-12-06 22:38

On Thu, 28 Dec 2006 22:37:03 +0100, Martin Mouritzen
<martin@siteloom.dk> wrote:

>Men det lyder også som et muligt sikkerhedshul, hvis du bare requirer
>eller includer den fil der står i "id".

Hov, jeg misforstod vist lige den del af problematikken (Jeg troede du
brugte filnavnet, og ikke et tal)

--
Med venlig hilsen,
Martin Mouritzen.
http://www.siteloom.dk

Anders Boholdt-Peter~ (28-12-2006)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 28-12-06 22:51

"Martin Mouritzen" <martin@siteloom.dk> skrev i en meddelelse
news:m5e8p2hs6bdjfd2bkpkgotj6e89buijqcd@4ax.com...
> Men det lyder også som et muligt sikkerhedshul, hvis du bare requirer
> eller includer den fil der står i "id".

Tak for informationen!!!

Fejlen lå som du kan se senere i tråden i selve kontakt-filen, denne fejl er
nu rettet, og formularen virker!!!

Er det OK mht. sikkerheden hvis jeg kalder filen med et tal?

Hvis nej, må vi finde en bedre løsning, så vi kan få rettet eventuelle
sikkerhedshuller!

--

/ Anders
http://www.boholdt-petersen.dk



Bertel Lund Hansen (29-12-2006)
Kommentar
Fra : Bertel Lund Hansen


Dato : 29-12-06 00:03

Anders Boholdt-Petersen skrev:

> Er det OK mht. sikkerheden hvis jeg kalder filen med et tal?

Jeps. Fidusen er bare at du ikke må kalde filen direkte med
filnavnet. Når du bruger en nøgle og bagefter finder filnavnet i
et array som kun du selv kontrollerer, så kan der kun afvikles de
filer du selv bestemmer.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Anders Boholdt-Peter~ (02-01-2007)
Kommentar
Fra : Anders Boholdt-Peter~


Dato : 02-01-07 21:05

"Bertel Lund Hansen" <unospamo@lundhansen.dk> skrev i en meddelelse
news:evzb6e468fp8$.18p61bphghymu.dlg@40tude.net...
> har testet den (dog ikke grundigt), og den virker og validerer.

Her i det nye år opdager jeg pludselig, at opdateringsdatoen hele tiden
bliver ændret, så det bliver vist som om, at siden sidst er opdateret når
den besøgende åbner siden, i stedet for at opdateringsdatoen kommer af
hvornår filen sidst er gemt.

Ved en hvad der går galt i nedenstående kode?
>
> ================================
> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
> "http://www.w3.org/TR/html4/strict.dtd">
> <html>
> <head>
> <meta content="text/html; charset=ISO-8859-1" http-equiv="content-type">
> <title>Kontakt webmaster ved at udfylde dette skema</title>
> <link rel="stylesheet" type="text/css" href="style.css">
> </head>
>
> <body>
> <?php
> // Sørg for at datoudskriften følger dansk standard.
> setlocale(LC_ALL, 'danish');
> echo "<p>".strftime('Denne side er sidst opdateret %d. %B %Y kl.
> %T')."</p>\n";
>
> // Hvis der er trykket "Slet", skal alle felter tømmes.
> // Det skal ske før formularen præsenteres.
> if (isset($_POST['slet'])) {
> $_POST['navn']='';
> $_POST['email']='';
> $_POST['emne']='';
> $_POST['tekstbesked']='';
> $_POST['kopi']=false;
> }
> ?>
>
> <form name="Mail" action="<?php echo $_SERVER['PHP_SELF']?>"
> method="post">
> <h1>Her kan du skrive til webmasteren for Boholdt-Petersen.dk</h1>
> <p>Udfyld felterne nedenfor, og klik derefter på send knappen.</p>
> <p>Bemærk at feltet E-mail adresse skal udfyldes, ellers får du en
> fejlmeddelelse!</p>
> <p>Navn: <input name="navn" type="text" size="30" value="<?php echo
> $_POST['navn'] ?>"></p>
> <p>E-mail adresse: <input name="email" type="text" size="30" value="<?php
> echo $_POST['email'] ?>"></p>
> <p>Emne: <input name="emne" type="text" size="30" value="<?php echo
> $_POST['emne'] ?>"><br>
> Skriv din besked/kommentar her:<br>
> <textarea name='tekstbesked' cols="40" rows="5"><?php echo
> $_POST['tekstbesked'] ?></textarea>
> </p>
> <p><label for="kopi_id">Send mig en kopi</label>
> <input type="checkbox" id="kopi_id" name="kopi"
> <?php if ($_POST['kopi']) echo "checked"; ?>
>></p>
> <p>
> <input name="send" type="submit" value="Send din besked">
> <!-- Sletteknappen skal være af typen submit fordi jeg har sat PHP til at
> genindsætte indholdet i felterne. -->
> <input name="slet" type="submit" value="Slet alt og start forfra">
> </p>
> </form>
>
> <p>
> <a href="http://validator.w3.org/check?uri=referer">
> <img src="http://www.w3.org/Icons/valid-html401"
> alt="Valid HTML 4.01 Transitional" height="31" width="88">
> </a>
> </p>
> <p>
> <a href="http://jigsaw.w3.org/css-validator/">
> <img style="border:0; width:88px; height:31px"
> src="http://jigsaw.w3.org/css-validator/images/vcss"
> alt="Valid CSS!">
> </a>
> </p>
>
> <p><a href="side.php?id=0">Tilbage til forsiden</a></p>
>
> <?php
> // $usermessage skal indeholde beskeden til brugeren. Den bruges i første
> omgang til at tjekke
> // om alle felter er udfyldt. Den forbliver tom hvis alt er i orden.
> $usermessage='';
> if (isset($_POST['send'])) {
> /*
> // Her er der gjort klar til at man kan give en fejlmeddelelse hvis navn
> og overskrift mangler:
> if (!$_POST['navn']>'')
> $usermessage.="Du skal angive dit navn.\n";
> if (!$_POST['emne']>'')
> $usermessage.="Du skal angive en overskrift.\n";
> */
> if (!$_POST['email']>'' or strpos($_POST['email'],'@')===false)
> $usermessage.="Du skal angive din mailadresse.\n";
>
> // Her testes det så om $usermessage er tom:
> if ($usermessage=='') {
> $recipent = 'Anders Boholdt-Petersen
> <post-removethis@boholdt-petersen.dk>';
> $sender = urldecode($_POST['navn']).' <'.urldecode($_POST['email']).'>';
> $subject = strip_tags($_POST['emne']);
> $message = strip_tags($_POST['tekstbesked']);
> $headers = "From: ".$sender."\r\n";
>
> if (eregi("\r", $sender) || eregi("\n", $sender)) {
> die('spam protection');
> }
> if (@mail($recipent, $subject, $message, $headers)) {
> $usermessage='Mailen er sendt.';
> if(isset($_POST['kopi']))
> if (@mail($sender, $subject, $message, $headers))
> $usermessage.="<br>En kopi er også sendt til dig.\n";
> }
> else
> $usermessage='Det var ikke muligt at afsende mailen...';
> }
> // Under alle omstændigheder udskrives $usermessage -
> // enten med en fejlbesked eller også med besked om at mailen er sendt.
> // Jeg har givet den en <div> og en klasse, 'kvittering'. Så er det
> forberedt at den kan styles i CSS.
> echo "<div class='kvittering'>$usermessage</div>\n";
> }
>
> ?>
>
> </body>
> </html>
> ================================

Godt nytår til alle!

--

/ Anders
http://www.boholdt-petersen.dk



Arne Feldborg (03-01-2007)
Kommentar
Fra : Arne Feldborg


Dato : 03-01-07 00:38

"Anders Boholdt-Petersen" <post-REMOVETHIS-@boholdt-petersen.dk> skrev
Tue, 2 Jan 2007 21:04:59 +0100

>Ved en hvad der går galt i nedenstående kode?
> // Sørg for at datoudskriften følger dansk standard.
> setlocale(LC_ALL, 'danish');
> echo "<p>".strftime('Denne side er sidst opdateret %d. %B %Y kl.
> %T')."</p>\n";
>
Der er sådan set ikke noget galt. Koden viser den aktuelle dato og
klokkeslet.!

Hvis du vil have den til at vise hvornår filen sidst er ændret, så skal
du fodre strftime() med et timestamp som du henter med getlastmod ()

Noget i denne hersens stil:

echo "<p>".strftime("Denne side er sidst opdateret den %d %B %Y kl.
%H:%M:%S", getlastmod())."</p>\n";


--
mvh, A:\Feldborg

Slægtsforskning og lokalhistorie i midt- vestjylland
http://hammerum-herred.dk/

Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste