Ankündigung

Einklappen
Keine Ankündigung bisher.

login geht nicht

Einklappen

Neue Werbung 2019

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

  • login geht nicht

    ich habe einen space auf dem mein script wunderbar funktioniert hat.jetzt geht es aber nicht mehr.

    PHP-Code:
    <?
    ob_start();
    include ("konfig.php");
    $admin = $_POST['admin'];
    $pass = $_POST['pass'];
    $admin1 = $_COOKIE['hwname'];
    $pass1 = $_COOKIE['hwpass'];
    dbcon();
    $aufruf= "SELECT
                  name,
                  pass
              FROM
                  admin;";
    $aufruf1 = mysql_query ($aufruf)or die(mysql_error());
    $test = mysql_fetch_assoc($aufruf1)or die(mysql_error());
    if (($test["name"] == $admin and $test["pass"] == $pass) or ($test["name"] == $admin1 and $test["pass"] == $pass1)) {
        if (file_exists ("navi.html")) {
        anavi();
        }
        else {
        eanavi();
        anavi();
        }
            if (file_exists ("inhalt.html")) {
                ainhalt();
                form();
            }
          else {
          eainhalt();
          ainhalt();
          form();

        }
        if ($admin == "" and $pass == "") {
            setcookie("hwname",$admin1,time() + 3600);
            setcookie("hwpass",$pass1,time() + 3600);
        }
        else {
            setcookie("hwname",$admin,time() + 3600);
            setcookie("hwpass",$pass,time() + 3600);
        }
    }
    else {
        echo 'Zugriff nicht erlaubt.Falscher Name oder falsches Passwort.Überprüf sie bitte noch mal.
            [url="admin.html"] Zurück [/url]';
    }
    ?>
    da klappt der login noch.wie ihr seht werden die cookies nur gestzt wenn login erfolgreich war.das war er auch.

    PHP-Code:
    <?
    ob_start();
    include ("konfig.php");
    include ("design.php");
    $admin = $_COOKIE['hwname'];  //hier werden die cookies abgefragt
    $pass = $_COOKIE['hwpass'];   //siehe drüber
    dbcon();
    $aufruf= "SELECT
                  name,
                  pass
              FROM
                  admin;";
    $aufruf1 = mysql_query ($aufruf)or die(mysql_error());
    $test = mysql_fetch_assoc($aufruf1)or die(mysql_error());
    if ($test["name"] == $admin and $test["pass"] == $pass) {   //hier wird es mit dem eintrag in der datenbank verglichen
        anavi ();
        ainhalt ();
        if ($_POST['erst'] == "ja") {
            if ($_POST['ename'] == "" or $_POST['epfad'] == "") {
                echo 'Leider konnte keine Seite erstellt werden,weil Angaben fehlten.
                
     Überprüfe ob du auch den Namen und den Pfad ein gegeben hast.
    ';
            }
            else {
                if ($_POST['code'] == "" and file_exists ($_POST['epfad']) and $_POST['hp'] == "ja") {
                    $var1 = fopen ("navi.html", "a+");
                    $var2 = '
     [url="'.$_POST['epfad'].'"]'.$_POST['ename'].'[/url]';
                    fwrite ($var1, $var2);
                    fclose ($var1);
                }
            echo 'Neue Datei erfolgreich ein gefügt. 
    ';
            }
            if ($_POST['ename'] != "" and $_POST['epfad'] != "" and $_POST['code'] != "" and $_POST['titel'] != "" and $_POST['besch'] != "" and $_POST['hp'] == "") {
                erst ();
            }
            else {
                echo 'Du hast eine Eingabe vergessen.[url="admin.php"]Zurück[/url]';
            }
        }
        if ($_POST['loeschen'] == "ja") {
           if ($_POST['lname'] == "") {
           echo 'Du musst schon einen Pfad mit dem Namen ein geben.
               
    Ich kann ja nicht Gedanken lesen
    ';
           }
           else {
               if (file_exists ($_POST['lname'])) {
                   unlink ($_POST['lname']);
                   echo 'Datei erfolgreich gelöscht.
    ';
               }
               else {
                   echo 'Datei exestiert nicht oder sie haben einen falschen Pfad
                       
    mit dem Namen ein gegeben.
    ';
               }
           }
        }
        if ($_POST['bearb'] == "ja") {
            if ($_POST['bname'] == "") {
            echo 'Du musst schon einen Pfad mit dem Namen ein geben.
                
    Ich kann ja nicht Gedanken lesen 
    ';
            }
            else {
                if (file_exists ($_POST['bname'])) {
                    $var4 = fopen ($_POST['bname'], "r");
                    $var5 = fread ($var4, 100000);
                    $var6 = htmlentities($var5);
                    fclose ($var4);
                    echo '<form action="admin2.php" method="post">
                        <textarea name="" rows="10" cols="50" wrap="virtual">'
                        .$var6.'</textarea>
                        <input type="submit" value="Abschicken" />
                        </form>';
                }
                else {
                echo 'Datei gibt es nicht.Über prüfe deine Eingabe';
                }
            }
    }
        echo '</div>
            </body>
            </html>';
        setcookie("hwname",$admin,time() + 3600);
        setcookie("hwpass",$pass,time() + 3600);
    }
    else {
        echo 'Bitte erst ein loggen oder bitte erst erlauben Cookies zu setzten //die ausgabe,die ich bekomme.
            
     und dann nochmal ein loggen';
    }
    ?>
    wenn ich hier versuche das script zu öffnen gibt er mir 'Bitte erst ein loggen oder bitte erst erlauben Cookies zu setzten

    und dann nochmal ein loggen' aus.da shat aber beim anderen space auf gefunkt

    edit:cookies werden nicht gesetzt.hab sie mir aus geben lassen.es wurde nichts aus gegeben.
    Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.


  • #2
    Dann kann dies nicht zutreffen:
    PHP-Code:
    if ($test["name"] == $admin and $test["pass"] == $pass
    Spätestens bei mehr als einem Eintrag in der DB geht das sowieso in die Hose.

    Richtig debuggen
    1. Man bemerkt, dass ein Skript nicht das tut, was es soll.
    2. Man versucht, die Stelle die daran Schuld sein kann, schonmal einzugrenzen. Falls dies nicht geht, wird zunächst das komplette Skript als fehlerhaft angesehen.
    3. An markanten Stellen im Skript lässt man sich wichtige Variableninhalte ausgeben und ggf. auch in bedingten Anweisungen eine kurze Ausgabe machen, um zu überprüfen, welche Bedingung ausgeführt wurde (oder auch nicht).
    4. Schritt 3 wird so lange wiederholt, bis Unstimmigkeiten im Skript auffallen
    5. Damit hat man das Problem (Unstimmigkeit) gefunden und kann versuchen diese zu beheben. Hierzu dienen dann die PHP-Dokumentation und andere Quellen als Ratgeber.
    6. Lässt sich das konkrete Problem trotzdem nicht beheben, kann man in Foren um Rat fragen.
    7. Das Programm läuft und man kann die Debug-Ausgaben wieder entfernen.

    Die Ausgaben per echo kann man sich ersparen, in dem man einen Debugger benutzt, was eigentlich selbstverständlich sein sollte.

    Gruß
    phpfan

    Kommentar


    • #3
      wie schon gesagt.es liegt daran,dass die cookies nicht gestzt werden oder nichts enthalten,weil bei der ausgabe nichts ausgegeben wird.jetzt muss nur noch einer sagen warum es so ist.
      Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

      Kommentar


      • #4
        Dann werden wohl die Scriptzeilen mit dem Aufruf von setcookie() nicht ausgeführt, was dann vermutlich an der Abfrage liegt, die phpfan oben schon angesprochen hat.

        Kommentar


        • #5
          wovon redet ihr überhaupt.das erste script was ich gepostet habe wird aufgerufen nachdem ich die login daten eingegeben habe.mir wird auch das richtige an gezeigt also stimmt die if abfrage im 1 script also müssen die cookies auch gestzt worden sein,weil sie in der if klammer drin sind und nicht außerhalb oder in dem else teil.damit die cookies auch einen inhalt haben und ich nicht voher weiß ob er jetzt die daten eingegeben hat oder sich durch einen cookie ein geloggt hat prüfe ich das voher bevor ich das cookie setzte damit es nicht leer ist.das alles ist im ersten script.

          das 2 script bearbeitet die eingegeben daten von 1 script.weil das aber in meinem admin bereich ist und damit keiner, der am script nichts zu suchen hat etwas macht,habe ich eine passwort kontrolle rein gebaut.deshalb der cookie im ersten script.ich benutze ihn zum passwort speichern.

          dann konnte ich doch nicht zu greifen.als erstes habe ich versucht mir die cookies aus geben zu lassen.es kam nichts.also sind sie leer oder nicht vorhanden.jetzt will ich wissen warum dies so ist.

          was hat dann die zeile,die phpfan gepostet hat damit zu tun?die kann doch nicht true ausgeben,weil der cookie doch leer ist.und die cookies vom 2 sript werden erst gar nicht gestzt,weil ja die if abfrage falsch ist und so mit dieser befehl gar nicht auf gerufen wird.
          Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

          Kommentar


          • #6
            Das sind mir zuviel Zeilen, lern debuggen oder besser zu posten. Anleitung siehe phpfans Posting.

            Kommentar


            • #7
              lol.kann mir keiner sagen warum die cookies leer sind oder warum es sie nciht gibt?
              Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

              Kommentar


              • #8
                Nein, da du unsere Postings ignorierst.

                Kommentar


                • #9
                  1.ich habe bemerkt,dass meins cript nicht funkt.
                  2.ich habe die stelle schon ein gegrenzt
                  3.ich habe mir die variablen ais geben lassen.
                  4.auf anhieb gefunden.
                  5.nichts dazu gefunden.
                  6.bin ich schließlich hier gelangt.

                  ich weiß nicht wo ich einen debugger finden kann.

                  also was habe ich denn noch nciht gemacht?wo habe ich denn nicht auf euch gehört oder postings ignoriert?
                  Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

                  Kommentar


                  • #10
                    Dein Skript ist mir einfach zu groß, schlechte Variablenbenennung
                    (hwname, bname, eainhalt(), ...), überflüßige Variablendeklaration ($pass
                    = $_POST['pass'], ..) und dazu noch unkommentiert.

                    Mach doch mal 2 Seiten:

                    PHP-Code:
                    <?php
                    // setcookie.php
                    setCookie('myname','zergling');
                    header('Location:getcookie.php');
                    ?>
                    PHP-Code:
                    <?php
                    // getcookie.php
                    print '<pre>';
                    print_r($_COOKIE);
                    print 
                    '</pre>';
                    print 
                    '[url="setcookie.php"]Cookie setzen[/url]';
                    ?>
                    Geht das?

                    Kommentar


                    • #11
                      jop die ausgabe ist

                      Array
                      (
                      [__utma] => 208179973.1230539995.1135507470.1135673533.1135679 088.8
                      [__utmz] => 208179973.1135507470.1.1.utmccn=(direct)|utmcsr=(d irect)|utmcmd=(none)
                      [__utmc] => 208179973
                      [myname] => zergling
                      )

                      Cookie setzen
                      Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

                      Kommentar


                      • #12
                        Dann greifst du wohl nicht richtig auf das Cookie zu, nachdem es gesetzt wurde.

                        Kommentar


                        • #13
                          und wie macht man das richtig?
                          Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

                          Kommentar


                          • #14
                            Dafür greifst du auf die Elemente des $_COOKIE-Arrays zu.

                            Kommentar


                            • #15
                              ich mach das doch nicht anders.oder über sehe ich da was?
                              Mit der Homepage Geld verdienen mit einem zuverlässigen Patner.

                              Kommentar

                              Lädt...
                              X