Login System von mrhappiness

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

  • Login System von mrhappiness

    Moin,
    ich habe das Loginsystem von mrhappiness durchegarbeitet...klappr auch ganz gut,es gibt nur ein Problem:Wie kann ich mri auf einer "eingebauten Seite" also auf einer Seite,die nur Regestrierte User sehen können,den Usernamen anzeigen lassen.Also z.b.:"Hi,$member" oder so ähnlich.Ich hab kp wie das mit der ID geht,da ich noch zeimlich am anfang von PHP stehe.

    THX 4 every Help!

    mfg
    EDIT:
    by TobiaZ: Werbeurl gelöscht
    Zuletzt geändert von TobiaZ; 01.10.2005, 21:29.

  • #2
    Hab das Tut/Script nicht mehr vor augen.

    SELECT username FROM tabelle WHERE id = $iddesusers

    einfach die Query an die DB senden.

    username ist der Spaltenname in dem die Usernamen drin stehen.
    tabelle muss der Name der Tabelle sein, in der die Userdaten stehen.
    id muss der Spaltenname von den IDs sein.

    Kommentar


    • #3
      Einbindung in fertige html

      Hallo,

      ich bin ein totaler Neuling auf dem html- und php-Gebiet, so dass ich nicht jeden Parameter und jeden Tag aus dem Tutorial verstehe. Ich habe das Tutorial durchgearbeitet und bisher funktioniert es auch. Ich möchte aber den Login-Code in eine fertige html-Datei einbinden, und zwar nach einem einleitenden (in html bereits geschriebenen) Text, in dem der Besucher dazu aufgefordert wird, seine Benutzerdaten einzugeben oder bei mir ein Passwort anzufordern. Und da fängt das Problem an:
      Wenn ich den Login.php-Code ganz normal in den html-Code einbinde (mit NVU 1.0, "PHP-Code einfügen", dann wird das Login-Formular und die "Einloggen"-Schaltfläche in der Vorschau gar nicht angezeigt. Webweaver v1.6.8 zeigt nach dem Error-Check die folgenden Fehlermeldungen:

      [COLOR=orange][135] Warning: session_start(): Cannot send session cookie - headers already sent by (output started at C:\Dokumente und Einstellungen\...\Eigene Dateien\Homepage\-:13)
      [135] Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at C:\Dokumente und Einstellungen\Ingo\Eigene Dateien\Homepage\-:13)
      [/COLOR]

      Hat es mit der session_start zu tun? Kennt jemand einen Weg, das Problem zu lösen oder geht das gar nicht?

      edit

      Zur Info, vielleicht hilft's: Habe die php's mit dem Windows Standard-Editor im ANSI-Code erstellt.
      Zuletzt geändert von moto2384; 17.10.2005, 01:08.

      Kommentar


      • #4
        Ich möchte aber den Login-Code in eine fertige html-Datei einbinden, und zwar nach einem einleitenden (in html bereits geschriebenen) Text, in dem der Besucher dazu aufgefordert wird, seine Benutzerdaten einzugeben oder bei mir ein Passwort anzufordern. Und da fängt das Problem an:
        Und genau das dürfte der Grund für die Fehlermeldung sein. Der Login Code (habe ihn jetzt auch nicht vor Augen) wird versuchen eine Session zu starten. Dies funzt aber nur, wenn nicht ein einziges Zeichen bereits an den Browser gesandt wurde. Dein HTML ist aber bereits ein Input für den Browser und somit scheitert jedes session_start() oder header()

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Original geschrieben von jahlives
          Der Login Code (habe ihn jetzt auch nicht vor Augen) wird versuchen eine Session zu starten. Dies funzt aber nur, wenn nicht ein einziges Zeichen bereits an den Browser gesandt wurde. Dein HTML ist aber bereits ein Input für den Browser und somit scheitert jedes session_start() oder header()

          Gruss

          tobi
          Aber kann ich die session_start nicht vorher öffnen, bevor das erste Zeichen gesendet wird? Also sozusagen den kompletten html-code untergeordnet in den Login-Code einfügen?

          Ich würde hier ja gerne den html-Code einfügen, aber der ist so lang. Gibt es einen bestimmten Teil daraus, den du dir mal ansehen müsstest?
          Zuletzt geändert von moto2384; 17.10.2005, 01:38.

          Kommentar


          • #6
            Das session_start() sollte das erste sein, was du in deinem Script machst. Du kannst doch auch den HTML Teil mittels PHP ausgeben (echo oder speichern auf eine Var)
            PHP-Code:
            session_start();
            if(isset(
            $_POST['name_des_submit_buttons']) === false){
                
            //gibt nun dein Form aus, denn es wurde noch nicht abgesendet
                
            echo '<html><head><title>Login</title></head>';
                echo 
            '<body><form action="'.$_SERVER['PHP_SELF'].SID'" method="post">';
                echo 
            '<input type="text" name="username" /><br />';
                echo 
            '<input type="submit" name="name_des_submit_buttons" />';
                echo 
            '</form></body></html>';
            }
            else{
               
            //Das Form scheint abgeschickt worden zu sein --> Daten prüfen und verarbeiten

            So in der Art funzt ein sogn Affenformular. Wird an sich selbst gesandt. Wenn der Button gesetzt ist, dann wurde das Form auch verschickt und darauf prüfst du.

            Gruss

            tobi

            p.s. Schattenbaum könnte dir weiterhelfen
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Ok. Danke. Noch eine Frage: Kann der Dokumenttyp <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> so drin bleiben?

              Kommentar


              • #8
                Weiß jetzt gerade nicht, wo die Zeile steht, aber wenn sie nach dem session-start() ausgegeben wird, spricht nichts dagegen.

                Du benötigst den Doctype ja um ein valides HTML zu erhalten.

                Kommentar


                • #9
                  Sorry, aber irgendwie krieg' ich das nicht gebacken und komme nicht weiter, weil ich von html- und php-Programmierung fast gar keine Ahnung habe.

                  Meine Login.php ist folgendermaßen aufgebaut:

                  Ich habe dabei untergeordnete Tags wie <font> und <td> weggelassen, weil es sonst zu unübersichtlich wird.

                  START:

                  [COLOR=skyblue]<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">[/COLOR]

                  [color=royalblue]<html>[/color]
                  [color=orange]<head>[/color]
                  // mit den üblichen Daten
                  [color=orange]</head>[/color]
                  [color=red]<body>[/color]
                  [color=green]<table>[/color]
                  [color=crimson]<tbody>[/color]
                  // enthält eine ganze Reihe von Formatierungen und Grafiken, u.a. eine Grafik, das als Logo dient. Table enthält eine andere Tabelle:
                  [color=seagreen]<table>[/color]
                  [color=blue]<tbody>[/color]
                  // mit Formatierungen und Links für die Navigation auf der linken Seite der Homepage. Außerdem gibt es noch eine zweite Tabelle innerhalb der ersten:
                  [color=blue]</tbody>[/color]
                  [color=seagreen]</table>[/color]
                  [color=indigo]<table>[/color]
                  [color=pink]<tbody>[/color]
                  // In dieser Tabelle steht in einer einzigen Zelle der folgende Text:
                  Um Zugang zu den persönlichen Bereichen auf dieser Website zu erhalten loggen Sie sich bitte hier ein. Sollten Sie noch keine Zugangsdaten besitzen, dann registrieren Sie sich bitte über das Kontaktformular. Ich werde Ihnen dann gerne ein Passwort zusenden.
                  Unter diesem Text soll nun das Login-Formular aus dem Tutorial erscheinen!
                  [color=crimson]</tbody>[/color]
                  [color=indigo]</table>[/color]
                  [color=brown]<tr>[/color]
                  // enthält nochmal eine zweite Navigation im unten auf der Seite
                  [color=brown]</tr>[/color]
                  [color=pink]</tbody>[/color]
                  [color=green]</table>[/color]
                  [color=red]</body>[/color]
                  [color=royalblue]</html>[/color]

                  ENDE

                  Was muss ich jetzt an welchen Stellen einfügen, damit die Passwortabfrage aus dem Tutorial unter dem Text erscheint und damit die session_start () akzeptiert wird???
                  Zuletzt geändert von moto2384; 18.10.2005, 17:01.

                  Kommentar


                  • #10
                    Hallo? Hat da niemand eine Antwort drauf?

                    Kommentar


                    • #11
                      Du selbst antwortest erst nach über einem Tag, erwartest Antworten der anderen aber schon nach weniger als 10 Stunden. Unterlasse bitte solche Drängeleien in diesem (und jedem anderen) Froum! http://learn.to/cooldown

                      Kommentar


                      • #12
                        offtopic:

                        Weil ich neu in diesem Forum bin und die erste Antwort in wenigen Minuten da war, dachte ich dass meine Beschreibung vielleicht in einem ähnlichen Tempo beantwortet wird. Ich glaube nicht, dass ich gegen irgendeine der hier aufgeführten "Regeln" verstoßen habe. Außerdem hat wohl kaum jemand auf die Darstellung meiner html-Datei gewartet. Da ist es egal, wann ich sie reinsetze.
                        Ich bin immer sehr bemüht, sachlich zu bleiben und wollte ganz bestimmt keinen Druck ausüben. Davon lässt sich doch in einem Forum ohnehin niemand beeindrucken. In 'jedem anderen Forum' wird meine Art des "Nachdrucks" übrigens als deutliches Zeichen für Dringlichkeit gerne hingenommen.

                        Kommentar


                        • #13
                          deutliches Zeichen für Dringlichkeit
                          genau diese interessiert aber eigentlich niemanden... aber dein einwand wurde zur kenntnis genommen und das thema hat sich somit erledigt!

                          Kommentar

                          Lädt...
                          X