Wie ist es besser? (wegen $_GET & Co.)
Tom
- php
0 Christian Seiler0 Tom
Moin!
Wie ist es besser damit es bei unterschiedlichen PHP-Versionen geht, so:
<?php
if (isset($_GET['geklickt'])) echo "geklickt!"; else echo "<a href="test.php?geklickt=true">hier klicken</a>";
?>
...oder so:
<?php
if (isset($_GET['geklickt'])) $geklickt = $_GET['geklickt'];
if (isset($geklickt)) echo "geklickt!"; else echo "<a href="test.php?geklickt=true">hier klicken</a>";
?>
$_GET, $_POST & Co. gibt es ja erst seit PHP 4.1. Die zweite Variante würde aber auch mit älteren PHP-Versionen laufen, wenn register_globals (wie es da ja noch war) ON wäre, oder? Also lieber so schreiben?
Danke!
TOM
Hallo Tom,
$_GET, $_POST & Co. gibt es ja erst seit PHP 4.1. Die zweite Variante würde aber auch mit älteren PHP-Versionen laufen, wenn register_globals (wie es da ja noch war) ON wäre, oder? Also lieber so schreiben?
Nein. Wer immernoch PHP 4.0.x einsetzt, handelt meiner Ansicht nach gemeingefährlich, denn es gab einige Sicherheitslücken, die erst in neueren Versionen gefixed worden sind. Daher kannst Du getrost $_GET nehmen. Außerdem dürfte der Code viel logischer erscheinen, wenn Du überall $_GET verwendest, denn dann musst Du Dich nie fragen, woher diese Variable plötzlich herkommt, wenn Du den Code nach einiger Pause wieder sichtest.
Viele Grüße,
Christian
Moin!
Danke für die schnelle Antwort!
TOM