13. September 200421 j Hallo zusammen, der Topic hört sich komplizierter an, als es wirklich ist :floet: also folgendes: $sVar = '_GET["id"]'; echo $$sVar; // Notice: Undefined variable: _GET["id"] in D:\Development\PHP\MyProjects\error.php on line 29 echo $_GET["id"]; // 5 [/PHP] Wie muss ich es anstellen, das ich auf diese Super-Gobale Variable referenzieren kann? Sinn?! Also gut... ich baue mir grad eine CustomErrorFunc und will dort bestimmte parameter abfragen, ob sie gesetzt sind: [PHP]function requireParameter( $aParams, $sFile, $iLine) { foreach( $aParams as $sType => $sName) { switch( $sType) { case 'GET' : break; case 'POST' : break; case 'SERVER' : break; case 'REQUEST' : break; default : triggerCustomErrorr( 'Unexpected parametertype "'. $sType .'"', $sFile, $iLine, E_USER_ERROR); } $bError = false; if ( is_array( $sName)) { foreach( $sName as $sVarName) { $sVar = '_'. $sType .'["'. $sVarName .'"]'; if ( !isset( $$sVar)) { $bError = true; break; } } } else { $sVar = '_'. $sType .'["'. $sName .'"]'; if ( !isset( $$sVar)) { $bError = true; } echo $sVar; // _GET["id"] echo $$sVar; // Undefined Var echo $_GET["id"]; // 5 } if( $bError) { triggerCustomError( 'Missing parameter "'. $sName .'"', $sFile, $iLine, E_USER_ERROR); } } } function triggerCustomError( $sMessage, $sFile, $iLine, $sErrorType) { trigger_error( trim( $sMessage) .' in <b>'. $sFile . '</b> on line <b>'. $iLine .'</b><br/> <b>Custom error call</b> ', $sErrorType); }
13. September 200421 j Wie wäre es denn mit der eval()-Funktion. Damit sollte sich dein Problem lösen lassen. Bsp: $value = eval("return \$_GET['id'];"); // oder in deinem Fall: $value = eval("return \$$sVar;"); [/PHP]
13. September 200421 j Wie wäre es denn mit der eval()-Funktion. Damit sollte sich dein Problem lösen lassen. Bsp: $value = eval("return \$_GET['id'];"); // oder in deinem Fall: $value = eval("return \$$sVar;"); [/PHP] ja so hab ich es mittlerweile auch gelöst, ich dachte nur das es vielleicht schöner geht. aber danke :-)
13. September 200421 j Unter Warnung steht folgender Hinweis: Bitte beachten Sie, dass variable Variablen nicht bei Superglobalen Arrays verwendet werden können. Das bedeutet, etwas wie ${$_GET} ist nicht möglich. Wenn Sie nach einer Möglichkeit suchen, die Verfügbarkeit von Superglobalen und den alten HTTP_*_VARS zu handhaben, können Sie das mit referenzieren versuchen.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.