Einzelnen Beitrag anzeigen

Benutzerbild von alcaeus
alcaeus

Registriert seit: 11. Aug 2003
Ort: München
6.537 Beiträge
 
#2

Re: PHP: Prüfen ob bestimmter Parameter gesetzt ist

  Alt 12. Okt 2005, 12:05
Moin malo,

bei aelteren Scripts verwende ich das:
Code:
if (isset($HTTP_GET_VARS['varname']) || isset($HTTP_POST_VARS['varname']))
{
  $varname = (isset($HTTP_GET_VARS['varname'])) ? $HTTP_GET_VARS['varname'] : $HTTP_POST_VARS['varname'];
}
else
{
  $varname = ''; //Default
}
Bei neueren Scripts gehe ich einfach ueber $_REQUEST:
Code:
$varname = (isset($_REQUEST['varname'])) ? $_REQUEST['varname'] : '';
Vergiss aber nicht, dass du alle input-Variablen validieren solltest, also integer mit intval() konvertieren, ueber strings evtl. htmlspecialchars() laufen lassen, Anfuehrungszeichen escapen (nur bei SQL-Queries) usw.

Ganz geschickt sind sog. varlists:
Code:
$int_varlist = array('post_id', 'topic_id', 'user_id');
foreach ($int_varlist as $varname)
{
  $$varname = (isset($_REQUEST[$varname])) ? intval($_REQUEST[$varname]) : 0;
}
So kannst du schnell und einfach aehnliche Variablen validieren und uebernehmen

Wenn du aber nur ueberpruefen willst, ob was gesetzt wurde, solltest du isset() verwenden.
Und abschliessend noch eine Frage: warum kopierst du das ganze $_GET-Array? Dir ist hoffentlich klar dass
Code:
$mode = $_GET;
das gesamte Array im Speicher kopiert?

Greetz
alcaeus
Andreas B.
Die Mutter der Dummen ist immer schwanger.
Ein Portal für Informatik-Studenten: www.infler.de
  Mit Zitat antworten Zitat