Problem bei Umstellung auf PHP5

Felix Weber

Angesehenes Mitglied
Hi!

Ich habe soeben meinen Webserver auf PHP5 umstellen lassen.
Und bumm, einiges klappt nicht!

Also es geht um folgendes:

Per
CODE <FORM ACTION="http://www.domain.de/verteiler.php" ENCTYPE="x-www-form-urlencoded"

METHOD="POST">
<INPUT TYPE="text" NAME="WORT" SIZE="20" MAXLENGTH="200">

<SELECT NAME="doit">

<OPTION VALUE="1">Option1

<OPTION VALUE="2">Option2
</SELECT>

<INPUT name="submit" TYPE="submit" VALUE="Suche">





wird ein Wort und eine Option an folgendes Script übergeben (dieses Script ist eigentlich nur eine Weiterleitung!


CODE
<?
# $suchwort und $doit kommt aus formular
# 3 Möglichkeiten Weiterleitungs-Script Nov. 05

$suche = stripslashes($suchwort)



if ( $_POST[doit]=="1" )
{
header("Location: http://www.domain.de/$suche");

exit();
}

if ( $_POST[doit]=="2" )
{
header("Location: http://www.domain.de/$suche");
exit();
}


?>




Das Weiterleiten funktion zwar richtig! Kommt immer bei der richtigen Option an, allerdings fehlt das Suchwort!


Woran liegt es ?

Danke !

Felix
 
Probier es mal mit $_POST['doit']

Grüsse, Crazy
 
QUOTE (Felix Weber @ Mi 18.07.2007, 04:55)

CODE <INPUT TYPE="text" NAME="WORT" SIZE="20" MAXLENGTH="200">




CODE
$suche = stripslashes($suchwort)




Mal abgesehen davon das du wirklich $_POST auch fürs Suchwort nehmen solltest gilt glaub ich
script1.WORT <> script2.suchwort

Du solltest die Übergabevariable in beiden Scripten schon gleich benennen sonst weiss das zweite Script nicht was du von ihm willst. Das hat wenig mit PHP4 oder PHP5 zu tun.
 
sollte das nicht $suchwort = $_POST['WORT']; heissen?
vll hat der threadstarter bevor er gepostet hat noch was am script geändert, das ganze riecht nämlich
ziemlich nach register_globals
smile.gif
 
Die Lösung wurde ja schon genannt, eigentlich hätte es so unter PHP4 auch nicht funktioniert.

Dass Du jetzt $_POST/$_GET anstatt $suchwort benutzen musst, liegt daran, dass mit PHP5 die Standardeinstellung für die PHP Variable register_globals endgültig auf "off" gesetzt wurde.

Rein theoretisch könntest Du diese in der php.ini (oder .htaccess) einfach wieder auf 1 (on) setzen, damit Du das selbe Verhalten simulierst wie in PHP4. Zu empfehlen ist das jedoch nicht, da es erhebliche Sicherheitslücken aufwirft und mit $_POST/$_GET/$_SESSION/$_COOKIE usw. viel eindeutiger festzustellen ist woher die Werte kommen.
 
Zurück
Oben