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

Script funktioniert nicht!!

Stimmt, das mit den Cookies und Sessions ist verwirrend, ich habe den Code jetzt etwas aufgeräumt:

PHP:
<?php
    session_start();
    // Datei(en) öffnen
    $datei_handle=fopen('log.txt',a);
    // Funtkionen erstellen
    function check ($in_var, &$out_var, $name_var) {
        if (isset($in_var)) {
            $out_var = $name_var; 
        }
    } 
    if (!isset($_SESSION['file_used'])) {$_SESSION['file_used'] = '0';}
    $datum = date("d.m.Y H:i");
    /*$wochentag = date("w");
    if ($wochentag == '1') { $datum_komplett = 'Montag, den '.$datum; }
    else if ($wochentag == '2') { $datum_komplett = 'Dienstag, den '.$datum; }
    else if ($wochentag == '3') { $datum_komplett = 'Mittwoch, den '.$datum; }
    else if ($wochentag == '4') { $datum_komplett = 'Donnerstag, den '.$datum; }
    else if ($wochentag == '5') { $datum_komplett = 'Freitag, den '.$datum; }
    else if ($wochentag == '6') { $datum_komplett = 'Samstag, den '.$datum; }
    else if ($wochentag == '7') { $datum_komplett = 'Sonntag, den '.$datum; } */
    check ($_GET['adm'], $_SESSION['cright'], 'ein Administrator');
    check ($_GET['mod'], $_SESSION['cright'], 'ein Moderator');
    check ($_GET['hel'], $_SESSION['cright'], 'ein Helfer');
    if ($_SESSION['cright'] != '' and $_SESSION['file_used'] == "0") {
        $_SESSION['file_used'] = "1";
        $information = $datum.' | '.$_SESSION['cright']." wurde gefunden. (IP-Adresse des Aufrufers: ".$_SERVER['REMOTE_ADDR'].")\n";
        fwrite($datei_handle,$information);
    }
    $file = basename($_SERVER['PHP_SELF']);
    if(isset($_POST['user'])){
        $user = $_POST['user'];
        echo '<h2 id="hallo" style="text-align:center;">Herzlich Willkommen, '.$user.'!</h2>';
        for ($i=1; $i<11; $i++) {
            echo 'Test-Nachricht '.$i.'.<br/>';
        } //
        echo 'Deine IP: <b>'.$_SERVER['REMOTE_ADDR'].'</b>.<br/>';
    } else if (!isset($_POST['user'])) {
        ?> 
            <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/>';
    } //
    if ($_SESSION['cright'] != '') { 
        echo 'Du bist '.$_SESSION['cright'].'!';
    } 
    fclose($datei_handle);
?>
 
Noch eine schöne beenden-FUnktion:

PHP:
<?php
    session_start();
    // Datei(en) öffnen
    $datei_handle=fopen('log.txt',a);
    // Funtkionen erstellen
    function check ($in_var, &$out_var, $name_var) {
        if (isset($in_var)) {
            $out_var = $name_var; 
        }
    } 
    if (!isset($_SESSION['file_used'])) {$_SESSION['file_used'] = '0';}
    $datum = date("d.m.Y H:i");
    /*$wochentag = date("w");
    if ($wochentag == '1') { $datum_komplett = 'Montag, den '.$datum; }
    else if ($wochentag == '2') { $datum_komplett = 'Dienstag, den '.$datum; }
    else if ($wochentag == '3') { $datum_komplett = 'Mittwoch, den '.$datum; }
    else if ($wochentag == '4') { $datum_komplett = 'Donnerstag, den '.$datum; }
    else if ($wochentag == '5') { $datum_komplett = 'Freitag, den '.$datum; }
    else if ($wochentag == '6') { $datum_komplett = 'Samstag, den '.$datum; }
    else if ($wochentag == '7') { $datum_komplett = 'Sonntag, den '.$datum; } */
    check ($_GET['adm'], $_SESSION['cright'], 'ein Administrator');
    check ($_GET['mod'], $_SESSION['cright'], 'ein Moderator');
    check ($_GET['hel'], $_SESSION['cright'], 'ein Helfer');
    check ($_GET['end'], $_SESSION['end'], '1');
    if ($_SESSION['cright'] != '' and $_SESSION['file_used'] == "0") {
        $_SESSION['file_used'] = "1";
        $information = $datum.' | '.$_SESSION['cright']." wurde gefunden. (IP-Adresse des Aufrufers: ".$_SERVER['REMOTE_ADDR'].")\n";
        fwrite($datei_handle,$information);
    }
    $file = basename($_SERVER['PHP_SELF']);
    if(isset($_POST['user'])){
        $user = $_POST['user'];
        echo '<h2 id="hallo" style="text-align:center;">Herzlich Willkommen, '.$user.'!</h2>';
        for ($i=1; $i<11; $i++) {
            echo 'Test-Nachricht '.$i.'.<br/>';
        } //
        echo 'Deine IP: <b>'.$_SERVER['REMOTE_ADDR'].'</b>.<br/>';
    } else if (!isset($_POST['user'])) {
        ?> 
            <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/>';
    } //
    if ($_SESSION['cright'] != '') { 
        echo 'Du bist '.$_SESSION['cright'].'!';
    } 
    if ($_SESSION['end'] == '1') {session_destroy();} else {$_SESSION['end'] = '0';}
    fclose($datei_handle);
?>
 
Jetz hab ich ein richtig komisches Problem!!! Mir wird folgender Fehler angezeigt:

Code:
[B]Parse error[/B]:  syntax error, unexpected $end in [B]/users/hansi3000/www/index.php[/B] on line [B]151[/B]

Doch in Zeile 151 existiert nur das Ende-Tag von PHP!!!:

Code:
?>

Hier mein aktueller, und laaaanger Code: (index.php)

PHP:
<?php
    session_start();
    include 'vars.php';
    $file = basename($_SERVER['PHP_SELF']);
?>
    <html>
    <head>
        <title><?php echo $title ?></title>
        <link rel="stylesheet" type="text/css" href="<?php echo $screen_css ?>"/>
    </head>
    <body>
<?php
    // Datei(en) öffnen
    $datei = $_SERVER['REMOTE_ADDR'];
    $datei = str_replace(".", "_", $datei);
    $datei_ver = md5($datei);
    $datei = $datei .'-'. $datei_ver . '.log.txt';
    $log = 'log.txt';
    $datei_handle=fopen($datei,a);
    $datei_handle_control=fopen($log,a);
    $datei_read=fopen($datei,"r+");
    $log_read=fopen($log,"r+");
    // Funtkionen erstellen
    function check ($in_var, &$out_var, $name_var) {
        if (isset($in_var)) {
            $out_var = $name_var; 
        }
    } 
    function cright ($in_var1, $inhalt_var1) {
        if (isset($in_var1)) {
            $_SESSION['cright'] = $inhalt_var;
        }
    }
    /*function ecright ($in_var2) {
        if (isset($_GET['.$in_var2.'])) {
            
        }
    }*/
    if (!isset($_SESSION['file_used'])) {$_SESSION['file_used'] = '0';} // file_used erstellen udn mit 0 beschreiben, falls nicht existiert
    $datum = date("d.m.Y H:i");
    /*$wochentag = date("w");
    if ($wochentag == '1') { $datum_komplett = 'Montag, den '.$datum; }
    else if ($wochentag == '2') { $datum_komplett = 'Dienstag, den '.$datum; }
    else if ($wochentag == '3') { $datum_komplett = 'Mittwoch, den '.$datum; }
    else if ($wochentag == '4') { $datum_komplett = 'Donnerstag, den '.$datum; }
    else if ($wochentag == '5') { $datum_komplett = 'Freitag, den '.$datum; }
    else if ($wochentag == '6') { $datum_komplett = 'Samstag, den '.$datum; }
    else if ($wochentag == '7') { $datum_komplett = 'Sonntag, den '.$datum; } */
    check ($_GET['adm'], $_SESSION['cright'], 'ein Administrator');
    check ($_GET['mod'], $_SESSION['cright'], 'ein Moderator');
    check ($_GET['hel'], $_SESSION['cright'], 'ein Helfer');
    check ($_GET['radm'], $_SESSION['adm_check'], 1);
    check ($_GET['sofie'], $_SESSION['cright'], 'Sofie');
    check ($_GET['end'], $_SESSION['end'], '1');
    check ($_GET['log_read'], $_SESSION['log_read'], '1');
    if ($_SESSION['adm_check'] == 1) {
        ?>
        <form action="<?php echo $file ?>?adm_check" method="post">
            <input type="password" name="pw" value="......."/>
            <input type="submit" value="Einloggen"/>
        </form>
        <?php
    }
    if ($_SESSION['adm_check'] == 1 and isset($_GET['adm_check'])) {
        if ($_POST['pw'] == 'istnichtsowichtig') {
            $_SESSION['cright'] = 'ein ECHTER Administrator';
            $_SESSION['adm_check'] = 0;
            $_SESSION['radm'] = 1;
        }
    }
    if ($_SESSION['cright'] != '') {
        $information = $datum.' | '.$_SESSION['cright']." wurde gefunden. (IP-Adresse des Aufrufers: ".$_SERVER['REMOTE_ADDR'].")\n";
        fwrite($datei_handle, $information);
    }
    if ($_SESSION['file_used'] == '0' and $_SESSION['cright'] != '') {
        $information_control = $datum." | ein Benutzer mit der IP: ".$_SERVER['REMOTE_ADDR']." wurde eingetragen.\n";
        fwrite($datei_handle_control, $information_control);
        $_SESSION['file_used'] = '1';
    }
    //if (!isset($_SESSION['end']) and $_SESSION['log_used'] == '0') {
        //$text = str_replace("ist", "war", $text);
    //}
    $file = basename($_SERVER['PHP_SELF']);
    if(isset($_POST['user'])){
        $user = $_POST['user'];
        echo '<h2 id="hallo" style="text-align:center;">Herzlich Willkommen, '.$user.'!</h2>';
        for ($i=1; $i<11; $i++) {
            echo 'Test-Nachricht '.$i.'.<br/>';
        } //
        echo '<a href="'.$file.'?log_read'.'">Meine Log-Datei ansehen.<br/></a>';
        if ($_SESSION['radm'] == 1) {
            echo '<a href="'.$file.'?log_control">Control-Log-Datei ansehen.<br/></a>';
        }
        ?>
            <form action="<?php $file ?>?end" method="post">
                <input type="submit" value="Ausloggen (Bitte nur einmal klicken!)"/>
            </form>
        <?php
        echo 'Deine IP: <b>'.$_SERVER['REMOTE_ADDR'].'</b>.<br/>';
    } else if (!isset($_POST['user'])) {
        ?> 
            <form action="<?php echo $file; ?>" method="post">
                <input type="text" name="user" value="Username"/>
                <input type="submit" value="&Uuml;bernehmen (Bitte nur einmal klicken!)"/>
            </form>
            <?php echo '<a href="'.$file.'?log_read'.'" target="_blank">Meine Log-Datei ansehen.<br/></a>'; ?>
        <?php 
        echo 'Deine IP: <b><u>'.$_SERVER['REMOTE_ADDR'].'</b></u><br/>';
    } //
    
    if ($_SESSION['cright'] != '') { 
        echo 'Du bist '.$_SESSION['cright'].'!<br/>';
    }
    if (isset($_GET['log_control']) and $_SESSION['radm'] == 1) {
        while(!feof($log_read)){
            $zeile = fgets($log_read,1000000);
            echo '<table border="1">';
            if (!isset($zeahler1)) {
                $zeahler = '0';
            }
            $zeahler1++;
            echo '<tr><th>'.$zeile."</th></tr>";
            echo '</table>';
    }
    if (isset($_GET['log_read'])) {
        while(!feof($datei_read)){
            $zeile = fgets($datei_read,1000000);
            echo '<table border="1">';
            if (!isset($zeahler)) {
                $zeahler = '0';
            }
            $zeahler++;
            echo '<tr><th>'.$zeile."</th></tr>";
            echo '</table>';
        }
    echo $zeahler.' Eintr&auml;ge insgesamt.<br/>';
    }
    if ($_SESSION['end'] == '1') {
    session_destroy();
    echo 'Es wurden alle Daten gelöscht!';
    $information = $datum." | ".$_SESSION['cright']." hat sich ausgeloggt.\n";
    $information_control = $datum." | ein Benutzer mit der IP: ".$_SERVER['REMOTE_ADDR']." wurde eingetragen.\n";
    fwrite($datei_handle, $information);
    fwrite($datei_handle_control, $information_control);
    } else {$_SESSION['end'] = '0';
    }
    fclose($datei_handle);
    fclose($datei_read);
    fclose($datei_handle_control);
    fclose($log_read);
?>

Hier die vars.php :

PHP:
<?php
    $title = 'Test-Seite';
    $screen_css = 'screen.css';
    $_SESSION['radm'] = 0;
?>

Und hier die screen.css:

Code:
body {
}
table {
    margin-left:250px;
}
Was ist das?!?!?!?!?
mfg hansi3000
 
Du hast eine geschweifte Klammer vergessen.

In Zeile 114:
PHP:
    if (isset($_GET['log_control']) and $_SESSION['radm'] == 1) {

Dieses if wird nirgendwo mit einem "}" beendet.
 
Vielen Dank, jetzt kommt so eine Warning-Meldung:
Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively in Unknown on line 0
Was hat das zu bedeutet?
 
Das tritt wohl immer dann auf, wenn du einem Feld in $_SESSION eine nicht initialisierte Variable zuweist.

PHP:
    function cright ($in_var1, $inhalt_var1) {
        if (isset($in_var1)) {
            $_SESSION['cright'] = $inhalt_var;
        }
    }

$inhalt_var muss $inhalt_var1 heißen.
 

Neueste Beiträge

Zurück
Oben