WCM Forum

WCM Forum (http://www.wcm.at/forum/index.php)
-   Programmierung (http://www.wcm.at/forum/forumdisplay.php?f=17)
-   -   PHP: Übergabe von Variablen aus Formular / Implemetierung W2kt & IIS5 (http://www.wcm.at/forum/showthread.php?t=66911)

Irv 19.08.2002 16:04

PHP: Übergabe von Variablen aus Formular / Implemetierung W2kt & IIS5
 
Nachdem mit Hilfe auch aus diesem Forum meine PHP-Skritps nun das machen, was sie sollen taucht auch schon das nächste Problem auf:

Ich möchte aus einem Formular eine Variable in einen PHP-Skript übernehmen. Doch genau dies gelingt mir nicht. Gilt auch für dieses Beispiel:

HTML:
~~~code~~~
<form name="form" method="get" action="bsp.php">
<input type="text" name="hostname" value="blank">
<input type="submit" name="Submit" value="Ausgeben">
</font>
</form>
~~~code~~~

bsp.php:
~~~code~~~
echo $hostname
~~~code~~~

Lt. den im Netz verfügbaren Dokus übernimmt PHP variablen automatisch aus Formularen. Desshalb glaube ich dass meine Implementierung von PHP auf W2k / IIS5 fehlerhaft ist.

Habe PHP sowohl über die Install-Shiled Datei als auch als SAPI-Modul konfiguriert, die oben beschriebene Variablenübergabe hat unter keine Konfiguration funktioniert.

Bitte um Ratschläge

Irv 19.08.2002 16:53

hab den beitrag zu früh abgeschickt, aus bsp wird natürlich foo ;-)

das resultat der ganzen sache ist, dass die variable $hostname keinen wert zugewiesen bekommt das heisst $hotanme ist "leer", wird also nicht an den php-skript übergeben.

mcs_ 19.08.2002 17:07

bin erst anfänger, aber was ist mit dem value="blank", bedeutet das, dass das feld leer sein soll, anfänglich?

hm, es gibt ja zwei methoden, schonmal <form method="POST"> versucht?

und nochwas: versuch auch mal PHP_SELF als action im formular und dann in derselben datei ein if(isset(submit)){ print"$hostname"; }

mit dem etwaigen serverproblem kenn ich mich leider nicht aus. :(

Irv 19.08.2002 17:40

ob get oder post ist egal. bei get wird auch die url korrekt angezeigt:

www.url.at?hostname=foo

auch wenn ich das ganze über PHP_SELF laufen lasse wird nichts übergeben. leider.

käptn 19.08.2002 18:35

Welche PHP Version?

sind register globals auf off?
-> standard ab 4.2

versuch mal:

$HTTP_GET_VARS['hostname']
oder neuer:
$_GET['hostname']

HTH

Irv 19.08.2002 21:19

ver 4.2(.?) kann die genaue ver morgen posten.

register globals ist off. muss ichs aktivieren? wieso?

~~~quote~~~
$HTTP_GET_VARS['hostname']
oder neuer:
$_GET['hostname']
~~~quote~~~

hab ich heute in der doku zu 4.2 gelesen, aber noch nicht ausprobiert. ist das neu in der 4.2 & können vars nicht mehr direkt übernommen werden?

danke.

käptn 19.08.2002 21:29

Zitat:

Original geschrieben von Irv
ver 4.2(.?) kann die genaue ver morgen posten.

register globals ist off. muss ichs aktivieren? wieso?

~~~quote~~~
$HTTP_GET_VARS['hostname']
oder neuer:
$_GET['hostname']
~~~quote~~~

hab ich heute in der doku zu 4.2 gelesen, aber noch nicht ausprobiert. ist das neu in der 4.2 & können vars nicht mehr direkt übernommen werden?

danke.

wenn du für die Zukunft arbeitest, solltest du IMHO die super-globals verwenden.

wenn du in der php.ini
--
register globals = Off
--
auf On stellst, kannst du die Variablen auch "nackt" übernehmen

HTH

Irv 19.08.2002 21:36

Zitat:

Original geschrieben von käptn


wenn du für die Zukunft arbeitest, solltest du IMHO die super-globals verwenden.

wenn du in der php.ini
--
register globals = Off
--
auf On stellst, kannst du die Variablen auch "nackt" übernehmen

HTH

mit super-globals ist also die syntax

$HTTP_GET_VARS['hostname']
oder neuer:
$_GET['hostname']

gemeint, und geht auch ohne register globals zu aktivieren. hab ich das richtig verstanden. (gibts die ab 4.2?)

dann sieht mein skript folgendermassen aus:

~~~code~~~
$hostname=$HTTP_GER_VARS['hostname'}
echo $hostname
~~~code~~~

wäre dankbar für eine überprüfung dieses mächtigen 2-zeilers.

käptn 19.08.2002 21:48

Zitat:

Original geschrieben von Irv


mit super-globals ist also die syntax

$HTTP_GET_VARS['hostname']
oder neuer:
$_GET['hostname']

gemeint, und geht auch ohne register globals zu aktivieren. hab ich das richtig verstanden. (gibts die ab 4.2?)

ja, die globalen Arrays $HTTP_[GET|POST|COOKIE|SESSION]_VARS gibt's schon einige Zeit.

$_GET - $_POST - $_COOKIE - $SEESION
sind die aktuelleren, die alten werden aus zukünftigen Versionen entfernt werden (jedenfalls ist davon die Rede)
Zitat:


dann sieht mein skript folgendermassen aus:

~~~code~~~
$hostname=$HTTP_GET_VARS['hostname'];
echo $hostname;
~~~code~~~

wäre dankbar für eine überprüfung dieses mächtigen 2-zeilers.

ja, so stimmts.

wie gesagt, ich würd auf die aktuelleren, und außerdem durch ihre Kürze auch hirgendwie praktischeren neuen Superglobals setzten...

HTH

schera 20.08.2002 09:43

Die Variable hostname sollte aber trotzdem übernommen werden können ...
nur bin ich mir nicht sicher ob blank funktioniert ...
blank == 0 ... oder?
Versuch einfach mal einen anderen Wert ....

käptn 20.08.2002 11:04

Zitat:

Original geschrieben von schera
Die Variable hostname sollte aber trotzdem übernommen werden können ...
Nur wenn register globals = On sind.

schera 20.08.2002 11:11

tja, zu schnell geschrieben ...

Irv 21.08.2002 01:02

danke funkt schon. ich lasse 'register globals = off' und verwende stattdessen die $HTTP_GET_VARS[...] (Bsp. f. GET / Superglobals wenn ich mich nicht irre...)
besser gehts wohl nicht ;-)


Alle Zeitangaben in WEZ +2. Es ist jetzt 21:03 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
© 2009 FSL Verlag