Ich habe keine Ahnung

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

  • Ich habe keine Ahnung

    Warum zeigt ein eine prase error in der letzen Zeile an?

    PHP-Code:
    <?
    include("datenbank.php");
    session_start();
    session_register('name');
    session_register('password');

    if ((!isset($name)) OR (!isset($password))) 
        { 
        die ("<font face=\"Bad Seed\" color=\"red\" size=\"4\"><center>Sorry, aber ohne Name bzw. Passwort geht hier nichts!</center></font>");
                    } 

    if($name == "XXX" and $password == "XXX")
        {
        header ("Location:index112.php");
        }
    else
        {
        echo "<font face=\"Bad Seed\" color=\"red\" size=\"4\"><center>Hmm, irgendetwas stimmt hier nicht!</center></font>";
        }
    ?>

    <HTML>
    <head>
    <title>Login</title>
    </head>
    <body bgcolor="#000000">
    </body>
    </HTML>
    Zuletzt geändert von Tarlar; 14.07.2004, 15:13.

  • #2
    1. bitte PHP-Tags benutzen (wobei "Code" schonmal ein Anfang ist )
    2. der Titel ist nicht gerade aussagekräftig
    3. du machst per echo() Ausgaben, die sich nicht innerhalb von <html></html> befinden --> nix gut

    Und nun zum PHP-Fehler:
    4. die Klammer der ersten If-Anweisung wird nicht geschlossen
    [color=red]Geht nicht[/color] ist keine Fehlermeldung

    Kommentar


    • #3
      weil nach dem 1. if du mit { öffnest und nirgends mit } schliesst.

      Kommentar


      • #4
        OKay, Anfängerfehler

        Jetzt gibts allerdings ein neues Problem

        egal ob ich in der Script davor den Namen und das Passwort eingebe es komm immer "Sorry, aber ohne Name bzw. Passwort ght hier nichts!"

        Wieso?

        Kommentar


        • #5
          Zunächst mal hier was zu Sessions lesen:
          http://www.php-resource.de/manual.php?p=ref.session
          session_register() wird im Normalfall nicht mehr verwendet.

          Als nächstes stellt sich die Frage, was du hiermit bezwecken willst:
          PHP-Code:
          if ((!isset($name)) OR (!isset($password))) 
          Soll das schon irgendwas mit den Sessionvariablen obendrüber zu tun haben, oder willst du erstmal nur die Werte aus dem Formular überprüfen? Wenn dem so ist (was an dieser Stelle sinnvoller wäre ), solltest du mal die Suchfunktion mit den Begriffen "register globals" bemühen. Denn wenn du Übergabeparameter aus einem Formular verarbeiten willst, greifst du so drauf zu:
          PHP-Code:
          $_POST['feldname'];
          //wenn die Method 'post' benutzt wird

          $_GET['feldname'];
          //wenn die Method 'get' benutzt wird 

          und ach ja:
          es empfiehlt sich bei sowas immer einfach mal per echo() die zu prüfenden Variablen auszugeben, damit du wenigstens siehst weshalb die Anweisung was anderes macht als du erwartest
          Zuletzt geändert von Big Chief; 14.07.2004, 15:22.
          [color=red]Geht nicht[/color] ist keine Fehlermeldung

          Kommentar


          • #6
            Also es ght nicht einmal mehr das einfachst bei mir:

            PHP-Code:
            <?
            $name = $HTTP_POST_VARS['name'];
            $password = $HTTP_POST_VARS['password'];
            session_start();
            session_register('name');
            session_register('password');

            if($name == "XXX" and $password == "XXX")
                {
                header ("Location:index112.php");
                }
            ?>
            Zuletzt geändert von Tarlar; 14.07.2004, 15:30.

            Kommentar


            • #7
              Probier mal das hier:
              PHP-Code:
              <?php
              $oldErrorReport 
              error_reporting(E_ALL);
              session_start();

              echo 
              "<pre>";
              print_r($_POST);
              echo 
              str_repeat("-"50);
              print_r($_GET);
              echo 
              "</pre>";

              $name = isset($_POST['name'])?strip_tags(trim($_POST['name'])):"";
              $password = isset($_POST['password'])?strip_tags(trim($_POST['password'])):"";

              echo 
              '<br>($name == "XXX" and $password == "XXX")';

              if(
              $name == "XXX" and $password == "XXX") {
                  
              $_SESSION['name'] = $name;
                  
              $_SESSION['password'] = $password;
                  echo 
              "OK";
                  
              #header ("Location:index112.php");
              }

              error_reporting($oldErrorReport);
              ?>
              Nichts auf der Welt ist so gerecht verteilt wie der Verstand. Denn jedermann ist davon überzeugt, dass er genug davon habe – René Descartes
              PHP Sicherheit
              PHPUnit[1-2]
              Professionelle Softwareentwicklung mit PHP 5
              Professionelle PHP 5-Programmierung

              Kommentar

              Lädt...
              X