kostenloser Webspace werbefrei: lima-city


session() wird unterbrochen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    frank1960sep

    frank1960sep hat kostenlosen Webspace.

    Hallo liebe Gemeinde, ich bin wieder mal am Staunen.
    Ich hab eine Seite, auf der sich ref="/tag/mitglied">Mitglieder anmelden und dieser "nike" über session() global gemacht werden soll.
    Funktioniert eigentlich wie es soll, nur auf dem localhost.
    Wenn ich die Seiten hochgeladen habe, wird nach der dritten Seite der Name nicht mehr weiter gegeben. Damit lassen sich dann keine Auswahlen mehr realisieren.
    Es jkann kein Syntaxfehler sein, es läuft alles reibungslos.
    Sinnigerweise funktioniert es auf einem Browser meines Tablets, auf dem anderen wieder nicht.

    Mal zum Spaß einen Zugang ; Benutzer : test Passwort: test123

    Eben auf meiner dieser Seite

    Kann es sein dass Session() nur über eine bestimmte Anzahl an Verzwiegungen geht.
    Wird die Session nur einmal gestartet?, ich habe es auf jeder Seite neu eingegeben. Wie gesagt, auf dem localhost perfekt, auf dem Netz nicht.

    Ich danke mal schon im Vorraus.
    Frank
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Hallo

    mit Test-Login konnte ich problemlos mehrere Nachrichten senden,
    aber bei Aufruf einer .html Seite "sieht es so aus als ob" Login / Session nicht aktiv ist
    das liegt aber nur daran, dass man mit .html Seite (ohne Anpassung) kein PHP ausführen kann

    wenn Du zu einer .html Seite eine Link baust (mitgliederbereich.html)
    und nicht dafür gesort hast, das .html Seiten auch PHP können
    dann kann eine .html Seite nicht (mit PHP) prüfen, ob die SESSION (bzw. das Cookie) existiert

    damit man bei Aufruf einer .html Seite auch PHP nutzen kann,
    gibt es zwei Möglichkeiten mit .htaccess ... als rewrite oder mit AddType

    einfacher ... mach anstatt .html immer eine .php Datei, also: mitgliederbereich.php
    und dort kannst Du dann mit PHP prüfen, ob die Session läuft, / der Login aktiv ist.
    wenn ja, dann rein zum Mitgliederbereich, wenn nein, dann Login-Formular anzeigen.


    PS: zum Thema Login / Logout mit Session
    siehe auch dieser Beitrag: http://www.lima-city.de/thread/logout-mit-session_destroy
    dort findest Du ein Beispiel, wie man auf aktive SESSION (= Login) prüfen kann.

  4. Autor dieses Themas

    frank1960sep

    frank1960sep hat kostenlosen Webspace.

    Ich habe mittlerweile rausgefunden, dass die session() immer am Anfang der Seite gestartet werden muss. Das hat schon einen kleinen Teilerfolg gebracht.
    Auf der mitglieder.html Seite wird ja eigentlich erst das Formular zum Senden über Post bereitgestellt. Die Daten, in dem Fall der "nike-name" entstehen ja dann im Login, und ab da hab ich alles in php.
    Komisch ist jetzt, dass bis auf einen Namen es so läuft wie gewollt.
    <Mal sehen ob noch jemand eine Idee hat.
    Wenn ich den Quelltext reinstellen soll, mal Zeichen geben. Sind eben aber 2 / 3 Seiten.
    Trotzdem vielen Dank, bin immer begeistert, dass viele da sind um zu helfen.
    Ich hoffe ja, ich kann irgendwann auch mal helfen.
    Schönen Abend allen,Frank
  5. ja
    der Befehl session_start(); muss immer vor der ersten Ausgabe gemacht werden,
    und auf jeder Seite, auf der man auch Zugriff auf die $_SESSION Variable haben will.


    frank1960sep schrieb:
    ...
    Auf der mitglieder.html Seite wird ja eigentlich erst das Formular zum Senden über Post bereitgestellt
    ...


    genau da sehe ich das (ein) Problem.

    Wenn ein User sich erfolgreich eingeloggt hat,
    und dann als eingeloggter User wieder auf die Seite mitgliederbereich.html geht
    dann sieht er - obwohl er ja schon / noch eingeloggt ist - wieder das Login-Formular.

    wenn Du aber dafür eine .php Seite machst, wie z.B. mitgliederbereich.php
    dann kannst Du ganz oben in der Datei prüfen, ob der User eingeloggt ist,
    und nur, wenn nein, dann auch das Logon-Formular ausgeben.

    Den Quellcode kannst Du uns gerne mal zeigen,
    dann kann man sicher viel genauer helfen,
    wenn "zu viel" für hier im Forum, dann z.B. auf http://pastebin.com

    oder du machst einen neuen Unter-Ordner z.B. "mycode"
    und kopierst dort alle Dateien rein, und ergänzt alle Dateinamen mit .txt
    so dass dann z.B. aus der Datei mitgliederbereichpost.php wird: mitgliederbereichpost.php.txt
    dann können wir alle Dateien (als Text / deren Quellcode) sehen

    PS: ... mit "nike-name" meinst Du wohl "nick-name" ... bzw. "user-name" ... :oO

  6. Autor dieses Themas

    frank1960sep

    frank1960sep hat kostenlosen Webspace.

    Nach dem ich nun nicht weiter verzweifeln wollte, habe ich auch die "mitgliederbereich"seite auf php umgestellt, und nun funktioniert es auf allen Rechnern wie es soll.
    Aber ist schon richtig komisch, auf allen Rechnern, auf denen ich nicht programmiere, lief es.
    Trotzdem mal den Programmcode

    <?php
     session_start();
    ?>
    <html>
    <head>
        <title>Titel</title>
    
        <meta charset="ISO-8859-1">
        <meta name="description" content="">
        <meta name="author" content="">
        <meta name="keywords" content="">
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)">
    
        <link href="mitgliederbereich.css" type="text/css" rel="stylesheet">
    </head>
    <body>
    <div id="webseite">
    
    <div id="kopf">
    
    <img src="Bilder/sarawinter.png" style="float:right;"alt="JPEG-Datei jpeg muss sein"
    width="180" height="120"/>
    <p><H2>Hier reiten wir, hier sind wir gl&uuml;cklich</H2></p>
    
    </div>
    <div id="main">
    
    <div id="menue">
    <div id="menue1">
    <p>Men&uuml;</p>
    <p>
      <a href="http://www.tagesschau.de/">ARD Tagesschau</a> Nachrichten<br>
      <a href="hofhaupt.html"><br />Hofstart</a><br>
      <a href="login3.php">Mitgliederbereich<br/></a>Hier geht es zum Mitgliederbereich, um Nachrichten zu lesen und zu schicken <br/>
      <a href="index.html">Startseite<br/></a> zur&uuml;ck zum Eingang
    </p>
    </div>
    </div>
     <div id="inhalt">
     <h1>Einwahlseite</h1>
    <p>
      <font color="#FF0000"size="5">
      Gib deinen Nike-Namen ein, um dich im Nachrichtenbereich zu bewegen</font><br>
    
      <font color="#0000FF">Nat&uuml;lich auch das Passwort.</font>
    </p>>
           <form method="POST" action="login3.php">
            Dein  Username: <input name="nike"><br>  <br><br>
            Dein  Passwört: <input name="passw" type=password><br>
    
            <input type=submit name=submit value="Einloggen">
    </form>
                </div>
        <div id="fuss">
            <center>
        </div>
    
        </div>
    </div>
    </body>
    </html>

    Das die PostSeite, nun aber schon in php. Das müßtet ihr euch noch ohne den php kopf vorstellen
    Und nun noch das Login

    <?php
     session_start();
    
    
     $s1= $_POST["passw"] ;
     $s2= $_POST["nike"] ;
     $s3="alle" ;
     $_SESSION["nike"] = $s2;
      ?>
    <html>
    
    <head>
        <title>login</title>
    
        <meta charset="ISO-8859-1">
        <meta name="description" content="">
        <meta name="author" content="">
        <meta name="keywords" content="">
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)">
    
        <link href="mitgliederbereich.css" type="text/css" rel="stylesheet">
    </head>
    
    <style type="text/css">
    a:link { text-decoration:none; font-weight:bold; color:#e00000; }
    a:visited { text-decoration:none; font-weight:bold; color:#800000; }
    a:hover { text-decoration:none; font-weight:bold; background-color:#ff0; }
    a:active { text-decoration:none; font-weight:bold; background-color:#cff; }
    a:focus { text-decoration:none; font-weight:bold; background-color:#080; }
    </style>
    </head>
    <body>
    <p>
    <table border="5">
    <tr>
    <td align="center" valign="center" height="20" width="200" bgcolor="#E0ECC1"><a href="mitgliederbereichpost.php">Nachricht verschicken</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="#aeecc00"><a href="nachrichtloschen.php">Nachricht l&ouml;schen</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="lighgreen"><a href="hofhaupt.html">Hofstart</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="#A1C454"><a href="mitgliederbereich.php">zum Mitgliederbereich</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="#A1C454"><a href="mitgliederbereich.html">zum Mitgliederbereich</a></td>
    </tr>
    </p>
     <br /><hr />
    <div id="webseite">
    
    <div id="kopf">
    
    <img src="Bilder/sarawinter.png" style="float:right;"alt="JPEG-Datei jpeg muss sein"
    width="160" height="100"/>
    <p><H2>Hier reiten wir, hier sind wir gl&uuml;cklich</H2></p>
    
    </div>
    <div id="main">
    <br /><hr />
    
    <?php
    
    
    include 'host.php' ;
    
    
    $con = mysqli_connect ($_db_host,$_db_username,$_db_passwort);
    mysqli_select_db($con,$_db_datenbank) ;
    $sql = "SELECT * FROM mitglieder where passw = '$s1' and nike ='$s2'" ;
    
    $res = mysqli_query( $con, $sql );
    $num = mysqli_num_rows($res);
    
    if ($num > 0)
    {
    while ($zeile = mysqli_fetch_array( $res))
    {
      $nike  = $zeile['nike'];
      $vname = $zeile['vname'] ;
      $fname = $zeile['fname']  ;
      $gbdatum = $zeile['gbdatum'];
    }
    
    mysqli_free_result( $res );
    mysqli_close($con);
    
    
    Echo "<h2>Willkommen im Mitgliederbereich</h2> ";
    
    $con = mysqli_connect ($_db_host,$_db_username,$_db_passwort);
    mysqli_select_db($con,$_db_datenbank) ;
    $sql = "SELECT * FROM Nachrichten where adresse = '$s3'or adresse = '$s2'" ;
    
    $res = mysqli_query( $con, $sql )OR die("Error: $res <br>".mysql_error());
    $num = mysqli_num_rows($res);
    
    #echo " Datens&auml;ze :$num<br /><br />" ;
    
     echo "Hallo - : ".$s2.", du hast Nachrichten :". $num."<br /><br />" ;
     if ($num >0)
      {
           // Tabellenbeginn
         echo "<table border='1'>";
    
         // Überschrift
         echo "<tr> <td>Lfd. Nr.</td> <td>Nachricht von</td>";
         echo "<td>Gesendet</td> <td>Deine Nachricht</td></tr>";
         $lf = 1;
    
                while ($zeile = mysqli_fetch_array( $res))
                {
                $absender  = $zeile['absender'];
                 $adresse   = $zeile['adresse'] ;
                 $sendezeit = $zeile['sendezeit'];
                 $nachricht = $zeile['nachricht'];
    
                    echo "<td>$lf</td>";
                    echo "<td>" .$absender. "</td>";
                    echo "<td>" .$zeile['sendezeit']."</td>";
                    echo "<td>" .$zeile['nachricht']."</td>";
                    echo "</tr>" ;
    
                    $lf = $lf + 1;
    
                    }
                    echo "</table>"  ;
     }
    
        else
    {
        echo "Du hast keine Nachrichten";
    }
    mysqli_free_result( $res );
    mysqli_close($con);
     echo "</br>Was m&ouml;chtest du als n&auml;chstes tun?</br>" ;
    ?>
    
    
    <?php
    }
    
    else
    {
        echo "du hast hier nix zu suchen </br>" ;
        echo "du kannst dich &uuml;er den Betreiber der Seite anmelden</br>
                und bekommst dann deine Zugangsdaten &uuml;ber E-mail zugeschickt";
    }
    
     #http://www.schattenbaum.net/php/sessions.php
     # weitere Hilfe f&uuml; r mich
     # wenn ich eingabehilfen brauch: http://de.selfhtml.org/html/formulare/auswahl.htm#listen_absendewert
    ?>
    </div>
    </div>
    </body>
    </html>


    und das kam dann aber hier nicht an
    <?php
    session_start();
    echo $_SESSION["nike"];
    $s1=$_SESSION["nike"];
    ?>
    <html>
    <head>
        <title>login</title>
    
        <meta charset="ISO-8859-1">
        <meta name="description" content="">
        <meta name="author" content="">
        <meta name="keywords" content="">
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)">
    
        <link href="mitgliederbereich.css" type="text/css" rel="stylesheet">
    </head>
    
    <style type="text/css">
    a:link { text-decoration:none; font-weight:bold; color:#e00000; }
    a:visited { text-decoration:none; font-weight:bold; color:#800000; }
    a:hover { text-decoration:none; font-weight:bold; background-color:#ff0; }
    a:active { text-decoration:none; font-weight:bold; background-color:#cff; }
    a:focus { text-decoration:none; font-weight:bold; background-color:#080; }
    </style>
    </head>
    <body>
    <div id="webseite">
    <p>
    <table border="10">
    <tr>
    <td align="center" valign="center" height="20" width="200" bgcolor="#E0ECC1"><a href="mitgliederbereichpost.php">Nachricht verschicken</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="#aeecc00"><a href="nachrichtloschen.php">Nachricht l&ouml;schen</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="lighgreen"><a href="hofhaupt.html">Hofstart</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="#A1C454"><a href="mitgliederbereich.php">zum Mitgliederbereich</a></td>
    <td align="center" valign="center" height="20" width="200" bgcolor="#A1C454"><a href="mitgliederbereich.html">zum Mitgliederbereich</a></td>
    </tr>
    </p>
    <br /><hr />
    <div id="kopf">
    <img src="Bilder/sarawinter.png" style="float:right;"alt="JPEG-Datei jpeg muss sein"
    width="160" height="100"/>
    <p><H2>Hier reiten wir, hier sind wir gl&uuml;cklich</H2></p>
    <p>
    </p>
    </div>
    <div id="main">
    <?php
    if (isset($_POST["auswahl"]))
    {
    include 'host.php' ;
    $con = mysqli_connect ($_db_host,$_db_username,$_db_passwort);
    mysqli_select_db($con,$_db_datenbank) ;
    
       $sql = "delete from Nachrichten where"
         . " id = " . $_POST["auswahl"];
    
       mysqli_query($con, $sql);
    
       $num = mysqli_affected_rows($con);
       if ($num>0)
          echo "<p>Der Datensatz wurde gelöscht</p>";
       else
          echo "<p>Der Datensatz wurde nicht gelöscht</p>";
        mysqli_close($con);
    }
    else
       echo "<p>Es wurde kein Datensatz ausgewählt</p>";
    ?>
    <p>Zurück zur <a href="nachrichtloschen.php">Auswahl</a></p>
    </body>
    </html>


    Also, das ist jetzt nur für den, der sich auch dafür interessiert. Und ich hoffe es erschlägt nicht zu sehr.
    Und zur Übersichtlichkeit: sorry, ich bin blutiger Anfänger

    Achso, und wegen des Nike, oder Nicke... ich bin nicht so englisch-sicher. Bin jenseites der 50, also auch weit weg von den meisten hier. Aber heißt ja nicht, dass man nicht neues lernen kann...
    Vielen Dank den vielen Helfern, für jetzt, und ich Zukunft ;-)
    schönes Wochenende, wird schönes Wetter, also auch mal an die frische Luft
    Frank
  7. 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!