Homepage selbermachen 7.851 Themen, 35.615 Beiträge

PHP Umfrage script mit register globals off

mmeyer1922 / 6 Antworten / Baumansicht 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
xafford mmeyer1922 „PHP Umfrage script mit register globals off“
Optionen

stelle einfach die formulare von method="post" auf method="get" um, dann sollte es auch ohne globals funktionieren.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen
mmeyer1922 xafford „stelle einfach die formulare von method post auf method get um, dann sollte es...“
Optionen

werde ich mal testen, bzw wohl wirklich versuchen mir ein eigenes script zu schreiben.

danke für deine antwort,

ciao
mani

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

Kann es sein, dass du Omnihttpd verwendest? Dort ist nämlich ohne weiteres seit der neuen Version kein PHP mehr mit den von dir gewünschten Versionen möglich. Lösung: Nach der Option suchen, mit der du die auf ON stellst oder gleich WAMP installieren

bei Antwort benachrichtigen
mmeyer1922 Heinz_Malcher „Kann es sein, dass du Omnihttpd verwendest? Dort ist nämlich ohne weiteres seit...“
Optionen

nein, ich benutze kein omnihttpd, jedenfalls weiß ich gar nicht was das ist. :-(((
ich habe apache 1.3.xyz, php 4.2 , mysql usw. per hand installiert. ich möchte einfach nur "zukunftssicher sein... d.h. wenn mein zukünftiger provider- weiß noch nicht wer es sein wird - auf eine "aktuelle" php version updatet; ich nicht alles ändern muß. ich möchte meine künftige site also nur nach dem neuseten php regeln programmieren.

also danke für deine hilfe,

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
xafford Dumistvieh „hmm, probiere es mal so...“
Optionen

sorry, daß ich in teilen widerspreche, aber get und post sieht im request ganz anders aus. bei get siehst du übergebene paramter im request, bei post werden die parameter über einen eigenen stream übertragen, den man im log nicht sieht, deswegen ist es auch die bessere wahl bei passwörtern und ähnlichem.

Pauschalurteile sind immer falsch!!!
bei Antwort benachrichtigen