/ 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
PHP i Html
Fra : Torben Jepsen


Dato : 31-03-06 14:27

Hej
Jeg har prøvet at lave lidt php, men det virker ikke, er der nogle der
kan fortælle hvad jeg gør forkert?
Der kommer ingen email ved besøg og der er ingen tal i besøg.

</head>
<body>
<?php include("taeller.php"); ?>
<?php
$remote = $_SERVER['REMOTE_ADDR'];
$useragent = $_SERVER['HTTP_USER_AGENT'];
$message = "Remote user : ".$remote."\n";
$message.= "Useragent : ".$useragent."\n";
mail("mail@email.dk", $message);
?>
<p>&nbsp;</p>

......

<p>Besøg nr: <?php =counter('session','counter.txt')?></p>

include filen ser sådan ud:
<?php
session_start();
function counter($updateOn='always', $filename='counter.txt') {
if (file_exists($filename)) {
$myFile = fopen($filename,'r+');
} else {
$myFile = fopen($filename,'w+');
}
if (!$myFile) { return -1; }
$fcontent = fread($myFile, filesize($filename)+1);
if ($fcontent == '') $fcontent = 0;
$fsession = isset($_SESSION[$filename]);
if (($updateOn == 'session' && !$fsession)
|| $updateOn == 'always') {
// Session-sensitive, session false (not noted) OR update = always
$fcontent++;
$_SESSION[$filename] = 1;
rewind($myFile);
fwrite($myFile,$fcontent);
}
fclose($myFile);
return $fcontent;
}
?>

På forhånd tak
--
Torben Jepsen
www.tjepsen.dk

 
 
Erlend Klakegg Bergh~ (31-03-2006)
Kommentar
Fra : Erlend Klakegg Bergh~


Dato : 31-03-06 14:44

Torben Jepsen skrev:
> Hej
> Jeg har prøvet at lave lidt php, men det virker ikke, er der nogle der
> kan fortælle hvad jeg gør forkert?
> Der kommer ingen email ved besøg og der er ingen tal i besøg.
>
> </head>
> <body>
> <?php include("taeller.php"); ?>
> <?php
> $remote = $_SERVER['REMOTE_ADDR'];
> $useragent = $_SERVER['HTTP_USER_AGENT'];
> $message = "Remote user : ".$remote."\n";
> $message.= "Useragent : ".$useragent."\n";
> mail("mail@email.dk", $message);
> ?>
> <p>&nbsp;</p>
>
> .....
>
> <p>Besøg nr: <?php =counter('session','counter.txt')?></p>
>
> include filen ser sådan ud:
> <?php
> session_start();
> function counter($updateOn='always', $filename='counter.txt') {
> if (file_exists($filename)) {
> $myFile = fopen($filename,'r+');
> } else {
> $myFile = fopen($filename,'w+');
> }
> if (!$myFile) { return -1; }
> $fcontent = fread($myFile, filesize($filename)+1);
> if ($fcontent == '') $fcontent = 0;
> $fsession = isset($_SESSION[$filename]);
> if (($updateOn == 'session' && !$fsession)
> || $updateOn == 'always') {
> // Session-sensitive, session false (not noted) OR update = always
> $fcontent++;
> $_SESSION[$filename] = 1;
> rewind($myFile);
> fwrite($myFile,$fcontent);
> }
> fclose($myFile);
> return $fcontent;
> }
> ?>

Det første man må kontrollere er at det faktisk kjøres. Hvis du finner
koden igjen i kilden når du åpner siden er heller ikke koden kjørt.

Ellers kan det være at du har satt feil nivå på error_reporting, noe som
gjør at du ikke mottar feilmeldinger. Følgende kan være årsak til at det
ikke fungerer:

1. Sending av epost er ikke konfigurert ordentlig på serveren.

2. <?php = ... har jeg ikke sett før. Ifølge dokuementasjonen er det kun
<?= ... som er lovlig. Hvis det er lovlig er det ikke sikkert at
short_open_tag er satt til On.

For å lære PHP og å bruke PHP er det _ingen_ snarvei utenom
dokumentasjonen. Jeg har funnet en side som går på det sistenevnte punktet:

http://php.net/manual/en/language.basic-syntax.php

Det dummeste man kan gjøre er å ikke skrive ordentlig kode bare fordi
man skal "bare teste" noe. Skriv ordentlig med <?php og echo eller print
til å skrive ut innhold, kun da er man sikker på at feilen kan ligge en
annen plass.


--

Vennlig hilsen

Erlend Klakegg Bergheim

Torben Jepsen (31-03-2006)
Kommentar
Fra : Torben Jepsen


Dato : 31-03-06 17:11

Erlend Klakegg Bergheim <bergheim-remove@stud.ntnu.no> wrote in
news:e0jbpt$hd8$1@orkan.itea.ntnu.no:

> Torben Jepsen skrev:
>> Hej
>> Jeg har prøvet at lave lidt php, men det virker ikke, er der nogle
>> der kan fortælle hvad jeg gør forkert?
>> Der kommer ingen email ved besøg og der er ingen tal i besøg.
>>
>> </head>
>> <body>
>> <?php include("taeller.php"); ?>
>> <?php
>> $remote = $_SERVER['REMOTE_ADDR'];
>> $useragent = $_SERVER['HTTP_USER_AGENT'];
>> $message = "Remote user : ".$remote."\n";
>> $message.= "Useragent : ".$useragent."\n";
>> mail("mail@email.dk", $message);
>> ?>
>> <p>&nbsp;</p>
>>
>> .....
>>
>> <p>Besøg nr: <?php =counter('session','counter.txt')?></p>
>>
>> include filen ser sådan ud:
>> <?php
>> session_start();
>> function counter($updateOn='always', $filename='counter.txt') {
>> if (file_exists($filename)) {
>> $myFile = fopen($filename,'r+');
>> } else {
>> $myFile = fopen($filename,'w+');
>> }
>> if (!$myFile) { return -1; }
>> $fcontent = fread($myFile, filesize($filename)+1);
>> if ($fcontent == '') $fcontent = 0;
>> $fsession = isset($_SESSION[$filename]);
>> if (($updateOn == 'session' && !$fsession)
>> || $updateOn == 'always') {
>> // Session-sensitive, session false (not noted) OR update =
>> always $fcontent++;
>> $_SESSION[$filename] = 1;
>> rewind($myFile);
>> fwrite($myFile,$fcontent);
>> }
>> fclose($myFile);
>> return $fcontent;
>> }
>> ?>
>
> Det første man må kontrollere er at det faktisk kjøres. Hvis du finner
> koden igjen i kilden når du åpner siden er heller ikke koden kjørt.
>
> Ellers kan det være at du har satt feil nivå på error_reporting, noe
> som gjør at du ikke mottar feilmeldinger. Følgende kan være årsak til
> at det ikke fungerer:
>
> 1. Sending av epost er ikke konfigurert ordentlig på serveren.
>
> 2. <?php = ... har jeg ikke sett før. Ifølge dokuementasjonen er det
> kun <?= ... som er lovlig. Hvis det er lovlig er det ikke sikkert at
> short_open_tag er satt til On.
>
> For å lære PHP og å bruke PHP er det _ingen_ snarvei utenom
> dokumentasjonen. Jeg har funnet en side som går på det sistenevnte
> punktet:
>
> http://php.net/manual/en/language.basic-syntax.php
>
> Det dummeste man kan gjøre er å ikke skrive ordentlig kode bare fordi
> man skal "bare teste" noe. Skriv ordentlig med <?php og echo eller
> print til å skrive ut innhold, kun da er man sikker på at feilen kan
> ligge en annen plass.
>
>

Hej Erlend
Tak for dit hurtige svar, jeg har kigget på den nævnte side, du har ret,
der er meget at læse. Jeg har prøvet med echo, det virker ikke. Jeg har
kontaktet min udbyder, jeg tester det ikke lokalt, men loader det op på
serveren.
Endnu engang tak for hurtigt svar!

--
Torben Jepsen
www.tjepsen.dk

Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408926
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste