kills Geschrieben 13. September 2004 Teilen Geschrieben 13. September 2004 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); } Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 13. September 2004 Teilen Geschrieben 13. September 2004 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] Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 13. September 2004 Autor Teilen Geschrieben 13. September 2004 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 :-) Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
etreu Geschrieben 13. September 2004 Teilen Geschrieben 13. September 2004 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. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
kills Geschrieben 14. September 2004 Autor Teilen Geschrieben 14. September 2004 danke für den hinweis Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.