/ 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
ACTION=GET virker ikke
Fra : Michael


Dato : 30-12-10 19:42

Hej,

Jeg har lavet to filer, text.html og text.php, som kan ses herunder. Jeg
kan i adresse feltet se at text.html "overføre" den tekst jeg skriver,
men text.php viser det ikke. Kan nogen se hvad der skulle være galt for
jeg kan ikke? Eller er der nogen der har en idé om hvad der kan være galt.

Hvis jeg skriver, phpinfo( ); så kommer der en masse infor om php så jeg
går ud fra at programmet virker.


// text.html

<html>
<head>
</head>
<body>

<FORM METHOD=POST ACTION="text.php">
   <INPUT NAME="author" TYPE="TEXT">
   <br>
   <br>
   <INPUT TYPE=SUBMIT>
</FORM>

</body>
</html>







// text.php

<html>
<head>
</head>
<body>

<?php
echo $author;
?>

</body>
</html>

 
 
Sune Storgaard (30-12-2010)
Kommentar
Fra : Sune Storgaard


Dato : 30-12-10 20:00

Den 30-12-2010 19:41, Michael skrev:

<klip


> <?php
> echo $author;
> ?>

Sådan her:
echo $_POST['author'];

http://www.php.net/manual/en/reserved.variables.post.php


$_POST og $_GET kan og bliver misbrugt, da man kan poste hvad man vil,
derfor er kontrol i den del som behandler data utrolig vigtig.

Der skal også kontrolleres om variablen faktisk er sat

Bertel Lund Hansen (30-12-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 30-12-10 20:02

Michael skrev:

> Jeg har lavet to filer, text.html og text.php, som kan ses herunder. Jeg
> kan i adresse feltet se at text.html "overføre" den tekst jeg skriver,
> men text.php viser det ikke. Kan nogen se hvad der skulle være galt for
> jeg kan ikke?

> <?php
> echo $author;
> ?>

<?php
echo $_POST['author'];
?>

Sådan tilgår man POST-variable.

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

Michael (30-12-2010)
Kommentar
Fra : Michael


Dato : 30-12-10 21:44

On 30-12-2010 20:01, Bertel Lund Hansen wrote:
> <?php
> echo $_POST['author'];
> ?>
>
> Sådan tilgår man POST-variable.
>

Cool. Tak skal I ha'.

Er det fordi det er en php 4 bog jeg sidder med og det er ændrede side
dag eller er det en fejl i bogen? Har skrevet som der står i bogen.


/michael

Kim Ludvigsen (30-12-2010)
Kommentar
Fra : Kim Ludvigsen


Dato : 30-12-10 22:26

Den 30-12-2010 21:44, Michael skrev:
> On 30-12-2010 20:01, Bertel Lund Hansen wrote:
>> <?php
>> echo $_POST['author'];
>> ?>
> Er det fordi det er en php 4 bog jeg sidder med og det er
> ændrede side dag eller er det en fejl i bogen? Har skrevet
> som der står i bogen.

Måske du har overset noget højere oppe i koden? Det er ikke
unormalt at "oversætte" variablerne øverst i koden, så man
kan bruge mere mundrette variabler længere nede i koden. Det
kan gøres med denne kode:
<?php
$author = $_POST['author'];
?>

Med det øverst i koden, vil din kode virke helt fint.

--
Mvh. Kim Ludvigsen
Tips til hjemmesidesnedkeren:
http://kimludvigsen.dk/tips-internet-websnedker.php

Michael (31-12-2010)
Kommentar
Fra : Michael


Dato : 31-12-10 13:13

On 30-12-2010 22:25, Kim Ludvigsen wrote:
> Den 30-12-2010 21:44, Michael skrev:
>> On 30-12-2010 20:01, Bertel Lund Hansen wrote:
>>> <?php
>>> echo $_POST['author'];
>>> ?>
>> Er det fordi det er en php 4 bog jeg sidder med og det er
>> ændrede side dag eller er det en fejl i bogen? Har skrevet
>> som der står i bogen.
>
> Måske du har overset noget højere oppe i koden? Det er ikke unormalt at

Jeg har kigget de få linjer kode igennem og jeg har skrevet fulstændigt,
som der står. Men det er også lige meget. Nu ved jeg hvordan det fungere
og det takker jeg for. Også tak til Bertel mht. til sikkerheden.

Jeg vender jo nok tilbage senere med andre spørgsmål jeg har
programmeret før, om end det er en del år siden og i andre sprog så helt
på bar bund er jeg ikke.

Godt nytår til alle

/michael

Bertel Lund Hansen (31-12-2010)
Kommentar
Fra : Bertel Lund Hansen


Dato : 31-12-10 00:06

Michael skrev:

> Er det fordi det er en php 4 bog jeg sidder med og det er ændrede side
> dag eller er det en fejl i bogen? Har skrevet som der står i bogen.

Hvis en server er sat forkert op - som mange var i gamle dage -
ville man automatisk kunne bruge $action i stedet for
$_POST['action'], men det gør det nemt for hackere at bryde
sikkerheden.

Som Kim omtaler, kan man nemt starte sin PHP-fil med:

   $action = $_POST['action'];

men selv det vil jeg ikke anbefale. Behold POST-variablen, så er
det nemt at se hele vejen i koden hvor den kommer fra.

Som Sune siger, skal man sikre sig imod at variablen bliver sat
til noget risikabelt. Tjek på at indholdet kun accepteres hvis
det svarer til nogle foruddefinerede værdier.

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

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

Månedens bedste
Årets bedste
Sidste års bedste