Homepage selbermachen 7.851 Themen, 35.616 Beiträge

PHP Umfrage script mit register globals off

mmeyer1922 / 6 Antworten / Flachansicht Nickles

Hallo,


um es kurz zu machen:


seit geraumer zeit beschäftige ich mich mit php. meine kenntnisse reichen aber noch nicht aus um ein umfragescript zu schreiben. aus faulheit ;-(   wollte ich daher ein fertiges script benutzen, haber aber auf www.phparchiv.de und www.phpwelt.de  kein script gefunden welches mit register globals off funktioniert.


kennt ihr ein script welches meinen wünschen gercht wird ?


umfragescript mit admin function welches unter register globals off funktioniert.


 


danke für eure antworten.


ciao


mani

bei Antwort benachrichtigen
Dumistvieh mmeyer1922 „PHP Umfrage script mit register globals off“
Optionen

Hallo,

wenn Du zukunftssicher sein möchtest, dann verwende die "superglobalen" Arrays, welche ab PHP 4.2.0 funktionieren. Die wichtigsten sind da $_GET, $_POST, $_COOKIE, $_SESSION und $_SERVER. Früher waren das, und die klappen auch heute noch, $HTTP_GET_VARS, $HTTP_POST_VARS und so weiter. Wahrscheinlich wird dieses Modell für PHP 5 übernommen und dann alles "alte" entfernt werden. Aber ich denke, daß PHP 5 erst Anfang 2004 größere Verbreitung erreicht, wenn es in einigen Monaten (4-6) herauskommt. Wenn Du früher in der URL das hattest: file.php?foo=bar, dann war die Variable $foo mit dem Wert bar verfügbar. Ohne register_globals mußt Du nun $_GET['foo'] benutzen. Soweit sollte das aber klar sein, wenn Du schon etwas Erfahrung hast. Ob nun GET oder POST spielt keine Rolle. Sieht im HTTP-Request fast gleich aus, nur transportiert POST wesentlich mehr Daten - eben das eingestellte Maximum aus der php.ini (post_max_size). POST läßt sich am einfachsten mit Formularen machen, aber nicht nur :)

Jeder ernstzunehmende Hoster hat mindestens PHP 4.2 installiert und aktiviert auf Wunsch noch die register_globals. Die neue Version deshalb, weil einige Sicherheitslöcher in der Upload- und HTTP-Bearbeitung gestopft wurden. Alle anderen Betreiber nehmen, meiner Meinung nach, ihre Pflichten sonst nicht ernst.

Wenn Du des Englischen mächtig bist, kannst Du auch mal www.hotscripts.com probieren. Leider schreiben viele nicht bei, ob es für neueres PHP geeignet ist. Aber das hast Du ja schon gemerkt. Bei fertigen Umfragen kenne ich mich leider überhaupt nicht aus, da ich bisher alle selber geschrieben habe. Du kannst aber mit Deinem Apachen fallweise die register_globals an- oder ausschalten, je nach Verzeichnis. Das geht mit ".htaccess"-Dateien - zusätzlich sollte in der httpd.conf die "AllowOverride" für das Stammverzeichnis auf "all" stehen:

php_flag register_globals On/Off

Oder eine einfache Konvertierung zu Beginn:

foreach ( $_GET as $key=>$value )
${$key} = $value;

Das funktioniert hervorragend und simuliert "globals" ;)

Gruß
Dumistvieh

--- wie immer: ALLE ANGABEN OHNE GEWEHR ÄH GEWÄHR!
bei Antwort benachrichtigen