• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

EIgene Funktion funktioniert nicht!

hansi3000

Neues Mitglied
Ich habe eine Funktion erstellt, die es mir ermöglicht, nicht immer eine if-Abfrage mit isset zu erstellen, jedoch greift diese (Funktion) nicht zu! :

PHP:
function check ($in_var, $out_var, $name_var) {
        if (isset($in_var)) {
            $out_var = $name_var;
        }
    }
    check ($_GET['adm'], $cright, 'Administrator');
    check ($_GET['mod'], $cright, 'Moderator');
    check ($_GET['hel'], $cright, 'Helfer');

Kann mir jmd sagen warum? mfg hansi3000
 
Werbung:
Da müsstest du mit einer Referenz arbeiten.

PHP:
function check ($in_var, &$out_var, $name_var) {
        if (isset($in_var)) {
            $out_var = $name_var;
        }
    }
    
    check ($_GET['adm'], $cright, 'Administrator'); var_dump($cright);
    check ($_GET['mod'], $cright, 'Moderator');     var_dump($cright);
    check ($_GET['hel'], $cright, 'Helfer');        var_dump($cright);

Ein Problem dabei ist aber, dass das Übernehmen der $_GET-Werte bereits als Auslesen zählt. Das heißt, bei entsprechendem error_reporting und nicht gesetztem GET-Parameter würdest du eine Notice erhalten beim Aufruf der Funktion.
 
Kann ich jetzt noch irgendwie die Ausgaben von var_dump() verhinern? Sieht beim Anwender ein wenig komisch aus :D?
 
Zuletzt bearbeitet:
Werbung:
Jetzt geht wieder etwas nicht!!!!! Es wird kein Text ausgegeben, auch wenn ich ...?adm eingebe, erscheint kein Du bist ... . Warum??? Jetzt mal der komplette Quelltext:

PHP:
<?php
    $log_file = fopen("log.txt","r+");
    function check ($in_var, $out_var, $name_var) {
        if (isset($_GET['.$in_var.'])) {
            $out_var = $name_var;
        }
    }
    check ($_GET['adm'], $cright, 'ein Administrator'); //var_dump($cright);
    check ($_GET['mod'], $cright, 'ein Moderator');     //var_dump($cright);
    check ($_GET['hel'], $cright, 'ein Helfer');        //var_dump($cright); 
    $file = basename($_SERVER['PHP_SELF']); // Aktuellen Dateinamen in $file speichern.
    if(isset($_POST['user'])){ // Wenn Post 'user' existiert.
        $user = $_POST['user']; // $user ist gleich Post 'user'.
        echo '<h2 id="hallo" style="text-align:center;">Herzlich Willkommen, '.$user.'!</h2>'; // Soll die Überschrift in den HTML-Code schreiben.
        for ($i=1; $i<11; $i++) { // Eine Schleife mit der Anfangsanweisung, dass $i gleich 1 ist, der Bedingung, dass $i kleiner als 11 ist, und der Durchlaufanweisung, dass $i um 1 erhöht werden soll.
            echo 'Test-Nachricht '.$i.'.<br/>'; // Eine Nachricht soll in den HTML-Code geschrieben werden, zusätzlich soll die aktuelle Durchlaufnummer (Wert von $i) hineingeschrieben werden.
        } //
        echo 'Deine IP: <b>'.$_SERVER['REMOTE_ADDR'].'</b>.<br/>'; // Die IP des Nutzer's im HTML-Code ausgeben.
    } else if (!isset($_POST['user'])) { // Wenn Post 'user' NICHT existiert.
        ?> 
            <form action="<?php echo $file; ?>" method="post">
                <input type="text" name="user" value="Username"/>
                <input type="submit" value="&Uuml;bernehmen"/>
            </form>
        <?php 
        echo 'Deine IP: <b><u>'.$_SERVER['REMOTE_ADDR'].'</b></u><br/>'; // Die IP des Nutzer's im HTML-Code ausgeben.
    } //
    if ($cright != '') { 
        echo 'Du bist '.$cright;
    } 
    fclose($log_file);
?>
mfg hansi3000
 
Werbung:
Zurück
Oben