Avatar billede technoas Nybegynder
24. oktober 2011 - 14:46 Der er 12 kommentarer

IIS7 PHP og $_POST der ikke virker

Hej,

Nu er jeg ved at få grå hår i hovedet af dette problem.

Vi har lige flyttet server fra en Hosted server til en dedikeret server, og jeg har fået installeret PHP og mySQL og det virker.

Men så lige pludselig holdt $_POST op med at modtage noget data. Og jeg får fejlen: Notice: Undefined index: type in C:\inetpub\Vhost\domain.dk\wwwroot\TMmap\addlocationdb.php

Jeg kan se med FireBug at formen er POST og der er POST data med, men php ser ikke den data.

Hvad kan jeg gøre for at få det til at virke?

MVH
Timo
Avatar billede michael_stim Ekspert
24. oktober 2011 - 14:49 #1
Kode?
Avatar billede technoas Nybegynder
24. oktober 2011 - 14:59 #2
Jeg har lige opretet en lille test for at teste POST, og den laver samme fejl.

test.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
    <body>
        <form action="getpost.php" method="post">
            <input name="text" id="text" type="text" />
            <input type="submit" />
        </form>
    </body>
</html>

getpost.php
<?php
error_reporting(E_ALL);
ini_set('display_errors',1);

echo $_POST['text'];

?>

Fejl:
Notice: Undefined index: text in C:\inetpub\Vhost\domain.dk\wwwroot\TMmap\getpost.php on line 5
Avatar billede technoas Nybegynder
24. oktober 2011 - 15:00 #3
Fra Firebug:
Content-Type: application/x-www-form-urlencoded
Content-Length: 10

text=12345


Så der bliver sendt et POST request.
Avatar billede michael_stim Ekspert
24. oktober 2011 - 15:15 #4
$tekst = $_POST['text'];
echo $tekst;

Prøv den.
Avatar billede technoas Nybegynder
25. oktober 2011 - 08:39 #5
$tekst = $_POST['text'];
echo $tekst;

Dette virkede desværre ikke.

Tror ikke der er så meget galt med scriptet, da det virker fint på en lokal apache server.

Jeg tror at det er noget med opsætningen af PHP eller IIS 7 på den server vi har.
Er der nogen der ved hvad det kan være?
Avatar billede michael_stim Ekspert
25. oktober 2011 - 10:25 #6
Er det alle post-, get-, sessionvariabler der failer? Eller er det bare den postvariabel? Hvis det er tilfældet, så prøv at omdøb den, så den ikke hedder text. $_POST['tekst'] og i din input, name="tekst".
Avatar billede technoas Nybegynder
25. oktober 2011 - 10:53 #7
$_GET['text'] virker fint hvis jeg bruger method="get" i min form.

Og har lige oplevet noget sjovt. Jeg genstartede serveren, og så virkede $_POST i ca 10-15 min, også begynde den at fejle igen.

at ændre til $_POST['tekst'] fik den desværre ikke til at virke.
Avatar billede michael_stim Ekspert
25. oktober 2011 - 11:41 #8
Check your IIS configuration and see what verbs are permitted for PHP.
My guess is that POST isn't included. You should have GET and POST
enabled at a minimum, or just make your life easy and allow all verbs.

Har ikke siddet med iis, så jeg fatter ikke hvad han mener ;o) Men man må kunne "adde" post variabler til de der "verbs", men spørg mig ikke hvor man gør det ;o)
Avatar billede technoas Nybegynder
25. oktober 2011 - 11:52 #9
POST verbs er enabled i IIS. Faktisk er alle (*) verbs enabled.
Har også prøvet at tilføje POST som verbs også, men det hjalp ikke.
Avatar billede michael_stim Ekspert
25. oktober 2011 - 11:57 #10
Så må jeg nok stå af her :( Apache er udelukket?
Avatar billede technoas Nybegynder
25. oktober 2011 - 12:07 #11
Ja, jeg er selv stået af her, så jeg søger hjælp alle de steder jeg kan.

Apache er desværre udlukket, da serveren også kører aspx og nogle .NET services.

Håber der er andre der har et bud.
Avatar billede MSI-AOC Nybegynder
15. december 2011 - 01:34 #12
Får du noget output overhovedet hvis du printer here $_POST ?

eg.:

<?php

var_dump($_POST);

?>
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester