OS X PHP fråga...

Tråden skapades och har fått 10 svar. Det senaste inlägget skrevs .
1
  • Medlem
  • Göteborg
  • 2003-03-14 13:50

Jag skulle testa att göra en enkel formulär i php för första gången på min OS X maskin, PHP är aktiverat. Jag skapade följande:

<snip>

form method="post" action="form.php"
input type="text" name="textfield"
input type="submit" name="Submit" value="Submit"
/form
?echo $textfield?

<snip>

Men jag får: "The requested method POST is not allowed for the url /form.php"

Vad skall jag ändra för att få det att fungera, har kollat httpd.conf men kan inte hitta någonstans som kan passa inte på detta....

/Jef

  • Medlem
  • Svedala
  • 2003-03-14 14:27

Tror du behöver lägga in följande i form.php:

?php
$textfield = $_POST["textfield"];

echo $textfield;

?

Så borde det funka, såvida inget är tokkonfigurerat nånstans.
Men när jag provade att installera php i Jaguar så funkade det "out of the box".

(Hmm, jag fick visst inte peta dit några "taggar"...)

Det har nog att göra med register_globals som diskuterats här.

  • Medlem
  • Stockholm
  • 2003-03-14 14:34

Av felmeddelandet att döma tror jag snarare på att problemet (och lösningen) finns i httpd.conf alternativt någon .htaccess-fil. Har dock aldrig sett det felmeddelandet själv.

  • Medlem
  • Stockholm
  • 2003-03-14 14:36

$_POST[´textfield´] är att föredra, men det borde inte ha någon betydelse i det här fallet.

Jag gissar på felkonfigurering i php.ini.

  • Medlem
  • Stockholm
  • 2003-03-14 14:41
Citat:

citera:Skapades ursprungligen av: Adrian B:
Det har nog att göra med register_globals som diskuterats här.

Låter som en vettig gissning. Tidigare har register_globals som default varit på, men nu är default av vilket kan skapa lite såna här saker.

  • Medlem
  • Göteborg
  • 2003-03-14 14:53
Citat:

citera:Skapades ursprungligen av: Adrian B:
Det har nog att göra med register_globals som diskuterats här.

Kan man på något sätt inaktivera detta då ?

php.ini ? hittar ingen sådan fil

/Jef

När jag tänker efter tror jag att HL kan ha rätt, att det egentligen inte är ett PHP-fel, utan ett annat fel. Men jag svarar på frågorna ändå.

Citat:

citera:Skapades ursprungligen av: jef:

Citat:

citera:Skapades ursprungligen av: Adrian B:
Det har nog att göra med register_globals som diskuterats här.

Kan man på något sätt inaktivera detta då ?

Hmm, vad är det du vill inaktivera egentligen? Det är rekommenderat att arbeta med register_globals satt till off för det ger ökad säkerhet. Nackdelen är att du inte kan accessa en variabel från en POST bara genom $varialbelnamn, utan måste använda dig av $_POST[´variabelnamn´], men det går att leva med.

Men som sagt, felet har nog inte med detta att göra.

Citat:

citera:Skapades ursprungligen av: jef:
php.ini ? hittar ingen sådan fil

Kolla här, det kanske kan hjälpa.

  • Medlem
  • Stockholm
  • 2003-03-17 12:34

Kollar man på felmeddelandet så ser det verkligen ut som att det är Apache som pratar och inte PHP, tycker jag i alla fall. Skulle problemet vara register_globals så skulle man inte få ett sådant felmeddelande, utan bara en tom $variabel.

Jag kollade i en http.conf-fil och fann detta:

Citat:

kod:<pre style="font-size:x-small; font-family: monospace;"><Direcory /sökväg>
/.../
[*]
Order allow,deny
Allow from all

[*]
Order deny,allow
Deny from all

</Directory></pre>

För den aktuella katalogan (/sökväg ovan) tillåter man alltså metoden POST men inte PUT till exempel. Tror att det kan vara nåt sånt som spökar.

Se Apache FAQ på http://httpd.apache.org/docs/misc/FAQ.html#POSTnotallowed

-----
Why do I keep getting "Method Not Allowed" for form POST requests?

This is almost always due to Apache not being configured to treat the file you are trying to POST to as a CGI script. You can not POST to a normal HTML file; the operation has no meaning. See the FAQ entry on CGIs outside ScriptAliased directories for details on how to configure Apache to treat the file in question as a CGI.
------

Ett tips vid felsökning: Använd felmeddelandet som söktext i en sökmotor, t.ex Google. Man kan alltid räkna med att någon annan redan haft samma problem och i så fall diskuterat det på något forum.

Vet inte om ovanstående ger dej svar på ditt problem med det är ju alltid värt att prova.

/Anders

  • Medlem
  • Göteborg
  • 2003-03-19 19:03

Det var register_globals som spökade, när jag fick php.ini filen på plats och lade in register_globals=off. Tack Adrian och alla andra.

PS. Google är min favoritsida, använder den dagligen. Men denna gång hade jag bråttom och helt enkelt orkade inte läsa igenom en massa sök träffar för att hitta svaret på mitt problem. DS

/Jef

1
Bevaka tråden