Ich habe keine Ahnung

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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>
    Last edited by Tarlar; 14-07-2004, 14: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

    Comment


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

      Comment


      • #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?

        Comment


        • #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
          Last edited by Big Chief; 14-07-2004, 14:22.
          [color=red]Geht nicht[/color] ist keine Fehlermeldung

          Comment


          • #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");
                }
            ?>
            Last edited by Tarlar; 14-07-2004, 14:30.

            Comment


            • #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

              Comment

              Working...