[php] testen ob get oder postvariable übergeben wurde?

fi**en32

Lieutenant
Registriert
Mai 2007
Beiträge
967
hi leute


geht so etwas zb:

if(!isset($_GET['']))

um zu testen ob keine get-variable übergeben wurde?

oder muss ich das etwas so machen?

if(!isset($_GET))

oder ganz anders?

eventuell zählen?

$anzahl = count($_GET);

kanns gerade nich testen da ich nich daheim bin.
 
if(!isset($GET_['test']))...

dürfte funktionieren
 
habs jetzt so gemacht, der vorteil ich kann gleich den wert und den namen der variable auslesen

Code:
<?php

foreach($_GET as $key=>$feld)
{
    echo $key." -> ".$feld;
	$a++;
} 

if($a>=1)
	echo "funzt";
	
?>
 
Möglicherweise kannst du da $_REQUEST[] verwenden. (dieses beinhaltet ja die POST und GET Arrays)

wenn jetzt:

PHP:
(count($_REQUEST) > 0)

dann wurden POST oder GET Parameter übertragen.
 
$_REQUEST birgt aber auch ein Sicherheitsrisiko, weil man die Variablen unter Umständen manuell manipulieren kann, wo es zu Fehlern oder anderen schwerwiegenden Folgen kommen könnte.

Gruß
FreeZeY
 
$_REQUEST birgt aber auch ein Sicherheitsrisiko,

Dies ist mir durchaus bekannt, da man über $_REQUEST auch auf die $_GET und $_POST Variablen zugreifen kann, und dann nicht genau weis, ob es jetzt eine GET oder POST Variable ist. Dies kann dazu führen, dass man Daten erhält, die nicht von einem Formular stammen, sondern aus manipulierten URLs.

Wenn du jedoch nur feststellen willst, ob überhaupt GET oder POST Variablen übermittelt wurden, kannst du auf die REQUEST Variablen zurück greifen.

oder einfach folgendes if() else verwenden:
PHP:
if (count($_GET) > 0 || count($_POST) > 0) {
  // ...
} else  {
  // ...
}
 
Zurück
Oben