kostenloser Webspace werbefrei: lima-city


mysql variablen werden nicht angezeigt

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    dieb

    Kostenloser Webspace von dieb, auf Homepage erstellen warten

    dieb hat kostenlosen Webspace.

    heyho
    also ich hab dieses problem und hoffe das mir jemand kann :
    wenn man sich auf meiner seite eingeloggt hat wird man ins usermenü weitergeleitet .. so .. und jetz kommt der fehler .. wenn das hier einbaue :

    if(!session_is_registered('user') || $_SESSION['user'] == "") {  header("location:login.php");  die;  }


    kommt der fehler header already sent .. ( wenn ich das template usw. weglasse wird man direkt wieder zum login geleitet.

    und dann hab ich noch ein problem .. wenn das funktioniert bzw. wenn ich das if.. rauslasse (wodurch die seite unsicher wird) dann werden die variablen von mysql nicht angezeigt ..
    hier mal das ganze script vom usermenü :

    <?php
    session_start();
    require("config.inc.php");

    if (isset($_GET['hello'])) {
    echo 'Hello Master!';
    die;
    }
    $template = implode("",file("style.html"));
    $template = str_replace("<?inhalt?>", $inhalt, $template);
    echo ($template);

    if(!session_is_registered('user') || $_SESSION['user'] == "") {
    header("location:login.php");
    die;
    }

    $abfragen=mysql_query("select * from dieb_user_".$digit." WHERE `user` = '".$_SESSION['user']."'");
    $row2 = mysql_fetch_array($abfragen);
    $id = $row2["id"];
    $geld = $row2["geld"];
    $bekid = $row2["bekid"];
    echo $inhalt .= '<div align="center"><b>Willkommen '.$_SESSION['user'].'</b><br><table border="0" cellpsacing="0" cellpadding="4" width="100%">
    <tr><td><center><a href="userdaten.php?auswahl=password">Passwort &auml;ndern</a></center></td><td><center><a href="logout.php">LogOut</a></center></td></tr>
    </table>
    <BR>Du hast schon:<BR>
    '.$geld.' '.$waehrung.'<BR>
    <BR>Du hast schon:<BR>
    '.$bekid.' Leute <BR>
    <BR>Dein Link lautet:<BR>
    '.$domain.'/spiel.php?id='.$id.'
    </div>';
    ?>


    was ist falsch an dem script ?
    ich hoffe auf hilfe ... liebe grüße ^^


    EDIT : ich hatte das gestern schon gelöst aber irgendwie hat sich wieder verändert .. weiß gott wie >_<
    und jetzt weiß ich nicht mehr wie ich das geschafft hatte .. hab alles ausprobiert aber nichts funktioniert ..

    p.s. register globals ist ausgeschaltet (wenn das wichtig ist !? )

    Beitrag geändert: 2.1.2009 16:43:36 von dieb
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Vor dem Aufruf von header darf keine Ausgabe kommen, bei dir wird aber schon echo $template ausgegeben. Setze deine Überprüfung am besten direkt unter require('config.inc.php');, dann sollte sich das Problem von selbst lösen.
  4. Autor dieses Themas

    dieb

    Kostenloser Webspace von dieb, auf Homepage erstellen warten

    dieb hat kostenlosen Webspace.

    okay ..damit ist das header problem gelöst =) danke
    aber dann wird man direkt weitergeleitet .. man soll aber ja nicht weitergeleitet werden ..
  5. Wenn nur eine Meldung kommen soll, dass man nicht eingeloggt ist, würde ich das header dort lassen wo es jetzt ist, aber durch ein echo "Sie sind nicht eingeloggt"; erstezen. Wenn auch keine Meldung kommen soll, sondern eine Weiterleitung nach z.B. 5 sek, machst du einen "normalen" meta-refresh echo '<meta http-equiv="refresh" content="5; URL=login.php">'; auch ganz ohne header.
  6. Autor dieses Themas

    dieb

    Kostenloser Webspace von dieb, auf Homepage erstellen warten

    dieb hat kostenlosen Webspace.

    okay danke.. aber mein problem is ja jetzt das man immer umgeleitet wird .. bzw immer diese meldung kommt ..
    --->aber wenn man sich eingeloggt hat soll ja stattdessen der link und die punkte usw. angezeigt werden .....
  7. Bist du dir sicher, dass $_SESSION['user'] überhaupt belegt ist? Was gibt echo oder var_dump($_SESSION) aus?
    Wenn die Session stimmt, dann könnte auch die Logik deiner Überprüfung nicht stimmen. Bei negativen Überprüfungen, die man verknüpft, ist && besser als ||, denn sobald sonst nur eine Sache nicht erfüllt ist, wird die ganze Bedingung wahr. Außerdem kannst du dir sparen session_is_registered zu prüfen, das ist veraltet, $_SESSION['user']=='' sollte ausreichen.
  8. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!