Beiträge von Beatz

    Doch, GreenRover, nach absenden des Loginformulars wird praktisch direkt die Funktion check_login aufgerufen. Die erste Zeile darin enthält session_start()! Wie gesagt, in den anderen Browsern funktioniert es ja!

    Soweit ich das verstanden hatte, bin ich davon ausgegangen, dass session_start() einen Cookie anlegt, sofern er nicht vorhanden ist, oder? Rein Interesse halber habe ich die Annahme von Sitzungscookies per Hand aktiviert, leider ohne Erfolg. Natürlich wäre das keine Lösung, wie kann man das Problem denn umgehen? Vielleicht hast Du ja auf die Schnelle eine Lösung parat, ansonsten werde ich mich mal auf die Suche machen, nun habe ich ja schonmal einen Anhaltspunkt, danke!

    Heute ist nicht mein Tag, stehe mit den Sessions und PHP heute irgendwie auf Kriegsfuss. Ich habe einen Login realisiert. Die SID wird in einem Cookie gespeichert. Das ganze funktioniert im Firefox und Opera wunderbar, nur im IE wird der Cookie nicht gesetzt und ich kann mich nicht einloggen. Vielleicht hat ja mal jemand Zeit, über mein Skript zu fliegen???
    [php:1:fab3b59bc9]<?php
    if ($_POST['action']=="check_login") {
    check_login();
    }
    if ($_GET['action']=="logout") {
    logout();
    }

    function show_loginbox () {
    echo "<table border=0 cellpadding=3 cellspacing=1 width=800>";
    echo "<tr><td colspan=2 style=font-size:14px;font-weight:bold;>Login</td></tr>";
    echo "<tr><td width=300>";

    if ($_SESSION['login'] == 1) {
    include("config.php");
    include("includes/db.php");
    $result=$db->sql_query("SELECT * FROM user WHERE id LIKE '".$_SESSION['uid']."';");
    while ($row=$db->sql_fetchrow($result)) {
    $username = $row[username];
    }
    echo "Hallo $username [ <a href=login.php?action=logout>Logout</a> ]";
    } else {
    echo "<form action=login.php method=POST>Benutzername: <input type=text name=username></input></td>";
    echo "<td>Kennwort: <input type=password name=password></input><input type=submit value=Login></input>";
    echo "<input type=hidden name=action value=check_login></input></form>";
    }
    echo "</td></tr>";
    echo "</table>";
    }

    function check_login () {
    session_start();
    include("config.php");
    include("includes/db.php");
    $user_password = md5($_POST['password']);
    $result=$db->sql_query("SELECT * FROM user WHERE username LIKE '".$_POST['username']."';");
    while ($row=$db->sql_fetchrow($result)) {
    $db_password = $row[password];
    $uid = $row[id];
    $db_access = $row[access];
    }
    if ($user_password == $db_password) {
    $cookie_value = $uid;
    if ($db_access == 2) {$_SESSION['admin'] = 1;}
    $_SESSION['uid'] = $uid;
    $_SESSION['login'] = 1;
    header("Location:index.php");
    } else {
    echo "Passwort falsch";
    }
    }

    function logout () {
    session_start();
    session_destroy();
    header("Location:index.php");
    }
    ?>[/php:1:fab3b59bc9]

    Hmmm ... wie heißt denn die Datei? Gibt mal die komplette URL zu der PHP-Datei im Browser ein. Wenn sie nicht index.php heißt werden sie standardmäßig vom Webserver nicht automatisch angezeigt, wenn keine Datei angegeben ist.

    Da man meist die vertikale Zellausrichtung oben haben möchte, emfpehle ich, dies mittels CSS zu formatieren.

    Code
    td {vertical-align: top;}

    Schreibe dies in eine externe CSS-Datei und binde sie auf jeder HTML-Seite mit

    Code
    <link rel="stylesheet" href="pfad/style.css">

    ein. In dem Beispiel heißt die Datei style.css, kannst Du auch anders nennen, und Du musst natürlich auch noch den Pfad Deinen Bedürfnissen anpassen.

    Und wer bezahlt mich????
    @Gast
    Schon wieder die gleiche Frage, Du hast doch nun schon Links zu Forenbeiträgen hier bekommen, in denen die Mechanismen ausgelistet sind. Lesen musst Du schon selbst. Außerdem ... es bringt rein gar nichts. a) interessiert sich garantiert niemand für den Quellcode einer ersten HTML-Seite und selbst wenn, gehört keine Kunst dazu, den Quelltext zu bekommen.

    Hallo, ich habe gerade ein Problem mit Sessions in PHP. Und zwar lege ich mittels [php:1:72b042ac2d]<?php
    session_start();
    $_SESSION['eingetragen'] = 1;
    ?>[/php:1:72b042ac2d] einen Cookie an. Im entsprechenden verezcihnis auf dem Server (/tmp) wird die Session mit dem Wert auch angelegt. Ich möchte diese Werte in einer zweiten Datei mittels[php:1:72b042ac2d]<?php
    echo $_SESSION['eingetragen'];
    ?>[/php:1:72b042ac2d]
    wieder ausgeben. Fehlanzeige. Es wird nichts ausgegeben. Der Cookie wird richtig gesetzt.

    cookie.lifetime ist auf 0 gesetzt.

    Was mache ich falsch?

    Auch den DOCTYPE sollte man, wie Du Dir nun sicher denken kannst, auf jeder Seite einbinden. Der DOCTYPE beeinflusst die Darstellung des Quellcodes. Nur mit dem richtigen DOCTYPE kann eine Seite standardkonform dargestellt werden. Da technisch gesehen jede Seite in einem Framelayout - dazu zählen auch iframes - eigenständig ist, musst Du diesen auf jeder Seite angeben.