Anfängerfrage

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Anfängerfrage

    Hallo, bin dabei aus spass eine Homepage zu bauen. Bin mit der Materie nich wirklich bekannt. Daher hätte ich 2 kurze Fragen, wo ich für einen Ratschlag sehr dankbar wäre.

    1) Arbeite mit Frames (ist mir bekannt, dass es nicht gerade das mordernste ist, etc, aber möchte dies so) Bin dabei meinen Login zu Programmieren. Dabei sende ich die Logindaten mit "post" an ein Script, welches diese prüft. Möchte nun für den Bereich wo der user eingeloggt ist ein anderes Frame verwenden... wie mache ich dies? (Meine kann irgendwo was includen, aber das gilt ja jeweils nur für das entsprechende frameset...)

    2) Was ist die Ursache für folgende Fehlermeldung?
    Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/httpd/vhosts/rhv-avs.ch/subdomains/sandro/httpdocs/link_linklist.php:2)

    vielen dank im voraus
    TNT
    Immer langsam vollgas...

  • #2
    Zu 1. nichts, weil ich niemandem helfe Frames einzusetzen, wenn kein besserer Grund als "möchte dies so" vorliegt.

    Die Antwort zu 2. steht schon in der Frage. "Headers already sent ... output startet at link_linklist.php:2".
    Es ist sinnvoll, Fehlermeldungen erstmal zu lesen, bevor man sie in ein Forum wirft.

    Kommentar


    • #3
      Re: Anfängerfrage

      Original geschrieben von TNT

      2) Was ist die Ursache für folgende Fehlermeldung?
      Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at /home/httpd/vhosts/rhv-avs.ch/subdomains/sandro/httpdocs/link_linklist.php:2)
      TNT [/B]
      Ums freundlicher zu sagen :
      du hast irgendwas vor session_start() stehen,
      davor darf nichts stehen, weder ne ausgabe nochn leerzeichen,..

      PHP-Code:
      <?php
      session_start
      ()
      ....
      ?>

      Kommentar


      • #4
        zu 1
        mir reicht dein argument dass du es so willst.

        in jedem frame kannst du ebenfalls session_start(); einsetzen und dort deine sessions_variablen, die du in einem anderen script gesetzt hast auslesen.

        oder:
        du startest dein script im zweiten frame so, dass du die variablen, die du übergeben möchtest direkt in der url übergibst. die kannst du dann mit $_GET auslesen (also z.b. frame2.php?var1=tralala&amp;var2=blabla).

        Kommentar


        • #5
          Vielen dank ChristiaNN

          hat noch jemand einen tipp zu frage 2? (auch wenn frames den meisten gegen den strich gehen....)
          Immer langsam vollgas...

          Kommentar


          • #6
            Zu den Frames werde ich dir aus Prinzip auch nicht helfen.

            Was heißt denn noch einen Tipp zu Frage 2? ChrstiaNN hat dir doch schon die Antwort darauf gesagt, und das nachdem eigentlich auch genau das in der Fehlerausgabe steht, was willst du denn noch hören?
            Nur wenige wissen, wieviel man wissen muss, um zu wissen, wie wenig man weiß.

            Kommentar


            • #7
              ups meinte natürlich frage 1, frage 2 ist jetzt klar, wäre schön wenn jemand über seinen schatten springen könnte :-)
              Immer langsam vollgas...

              Kommentar


              • #8
                dein script, dass die daten prüft fängt mit session_start(); an. dort setzt du deine daten, die du an den frame übergeben willst in sessions variablen..

                z.b.
                PHP-Code:
                $_SESSION['login'] = 'ok'
                dann dein frameset:
                Code:
                	<frameset cols="150,*" frameborder="0" scrolling="auto">
                		<frame name="navi" src="seite1.php">
                		<frame name="main" src="seite2.php">
                		<noframes>
                		<body>
                		<p>Sie koennen keine Frames.</p>
                		</body>
                		</noframes>
                	</frameset>
                in seite2.php startest du wieder mit session_start();
                hier kannst du nun deine sessionsvariable deines prüfscripts ausgeben. also z.b.

                PHP-Code:
                echo $_SESSION['login']; 

                Kommentar


                • #9
                  @sysop: So wie ich das verstanden habe, will er das Frameset wechseln; z.B. von cols="150,*" zu rows="50,*,50". Da hilft es ihm nicht wirklich weiter, wenn du ihm erklärst wie er die Session von einem Frame in den benachbarten bekommt oder?

                  Kommentar


                  • #10
                    uuups, habe ich wohl fasch verstanden, sorry.

                    also ca so:
                    PHP-Code:
                    if($_SESSION['login'] == "ok") include("frame2.php"); // frame, wenn user eingeloggt ist
                    else include("frame1.php"); // frame, wenn user NICHT eingeloggt ist 

                    Kommentar


                    • #11
                      sysop
                      hatte ich auch so gedacht, leider funktionierts nicht...
                      ich kann an der entspechenden stelle was anderes includen, das funktioniert tiptop, aber wenn ich das file, welches etwa so aussieht wie bei dir oben, include, passiert einfach gar nix... (da es index.php heisst muss es zwangsläufig exestieren, sonst könnt ich auch das andere frame, welches vor dem login erscheint nicht laden...)

                      überseh ich was? was kann ich da falsch machen? kann man frames grundsätzlich nicht includen (meine wenn ich sonst was include, wirds in das entsprechende frameset includet...)

                      vielen dank TNT
                      Immer langsam vollgas...

                      Kommentar


                      • #12
                        Zu Deiner 2. Frage ist die Antwort recht einfach.
                        Du mußt die Session starten, bevor Du irgendwelche Ausgaben machst, also gleich zu Beginn des Scripts.

                        Kommentar


                        • #13
                          Wie wird die index.php denn aufgerufen?

                          Kommentar


                          • #14
                            ansatz auf die schnelle:
                            index.php:
                            PHP-Code:
                            session_start();

                            include(
                            "pruefen.php");

                            if(
                            $_SESSION['login'] == "ok") include("frame2.php"); // frame, wenn user eingeloggt ist
                            else include("frame1.php"); // frame, wenn user NICHT eingeloggt ist 
                            pruefen.php:
                            PHP-Code:
                            /**
                                pruefen.php checked ob benutzer=a und passwort=b
                            **/

                            if($_POST['benutzer'] == "a" and ($_POST['passwort'] == "b")) $_SESSION['login'] = "ok";
                            else 
                            $_SESSION['login'] = "no"
                            frame1.php:
                            PHP-Code:
                            // login script, eingabe user und passwort
                            ?>
                                <table>
                                <form method="post" action="index.php">
                                <table width="70%" border=0>
                                <tr>
                                    <td width="40%"><b>benutzername:</b></span></td>
                                    <td width="60%" >&nbsp;<input type="text" name="benutzer"></td>
                                </tr>
                                <tr>
                                    <td width="40%"><b>passwort:</b></span></td>
                                    <td width="60%" >&nbsp;<input type="text" name="passwort"></td>
                                </tr>
                                </table>
                                <input type="submit" value="1" name="check"></form>

                            <?PHP
                            frame2.php:
                            PHP-Code:
                            echo "frame 2"
                            den rest bekommst du selber sicher hin
                            Zuletzt geändert von sysop123; 05.09.2007, 12:12.

                            Kommentar


                            • #15
                              Seit doch net so Gemeihn zu ihm nur weil er es mit Frame machen möchte.

                              nun für den Bereich wo der user eingeloggt ist ein anderes Frame verwenden
                              Es ist ganze einfach ein anderes Frame Fenster anzusprechen das geht über den Befehl target="Framename".
                              Bei der Frame erstellung gibst du einfach noch einen name mit an das geht über den Befehl name="wunschname"

                              Also wenn du ein Frame so Deklariert hast kanste es immer wieder auch so ansprechen hier ein Bsp.

                              <frame name="Oben" scrolling="NO" noresize src="Header.php" >

                              Dann kanste diese Frame mit einen einfachen link aufrufen
                              <a href="Anderer_Header.php" target="Oben">

                              Mfg Splasch

                              Kommentar

                              Lädt...
                              X