kostenloser Webspace werbefrei: lima-city


Quellcode-Problem: unexpected $end

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    kuesta

    Kostenloser Webspace von kuesta

    kuesta hat kostenlosen Webspace.

    Ich habe 4 Datei die ein kleines Memberskript darstellen sollen
    *index.htm
    *teil2.php
    *kuesta.php
    *demo.php

    Das problem ist das in der datei teil2.php in der letzten zeile ein fehler ist.
    Parse error: syntax error, unexpected $end in C:\xampplite\htdocs\login\teil2.php on line 26


    Die Datein:
    index.htm
    <html>
    
    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <meta name="GENERATOR" content="Microsoft FrontPage 4.0">
    <title>Untitled </title>
    </head>
    
    <body bgcolor="#000000" text="#C0C0C0">
    
    <h1 align="center">Login</h1>
    
    <form action="teil2.php" method="post">
        <p>Benützername:<input type="text" size="20" name="user"></p>
        <p>Passwort:<input type="password" size="20" name="passwort"></p>
        <p><input type="submit" name="B1" value="Login"></p>
    </form>
    </body>
    </html>


    teil2.php
    /* Bearbeitung des empfangenem 
    Dies sind nur demoseiten!!!*/
    
    <?php
    setcookie("password","$password",0);
    ?>
    <?php
    $user = $_POST['user'];
    $password = $_POST['password'];
    if($user == "kuesta")
       {
         Header("Location: http://10.0.0.3/login/kuesta.php"); 
          exit(); 
       }
    else
       {
       if($user == "demo")
       {
         Header("Location: http://10.0.0.3/login/demo.php"); 
          exit(); 
       }
    else
       {
       echo "Falscher Benützername oder Passwort!";
       }
    ?>


    kuesta.php
    /* Kuesta 
    Dies sind nur demoseiten!!!*/
    
    <?php
    $password = $_COOKIE["$password"];
    ?>
    <?php
    if($password == "andijyxn")
       {
       echo "Willommen Kuesta!"
       }
    else
       {
       echo "Falscher Benützername oder Passwort!";
       } 
    ?>


    demo.php
    /* Demo 
    Dies sind nur demoseiten!!!*/
    <?php
    $password = $_COOKIE["$password"];
    ?>
    <?php
    if($password == "demo")
       {
       echo "Willommen Demo!"
       }
    else
       {
       echo "Falscher Benützername oder Passwort!";
       } 
    ?>


    Eine andere Frage:
    Kann man php variablen in cookis speichern?

    Vielen Dank im Vorraus

    mfg kuesta

    Ps: Bin noch ein totaler Anfängewr in PHP :biggrin:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Mach es doch nicht so kompliziert... ;)

    Lies mal die Fehlermeldung. Die kannst du dann, wenn du sie nicht deuten kannst, einer Suchmaschine leihen, die dir mehrere schöne Ergebnisse von Usern gibt, die vor einem ähnlichen Hindernis standen, wie du... ;)


    Dass der Fehler in der teil2.php ist, hast du ja schon erkannt.
    "Unexpected $end" bedeutet, dass du eine Operation geöffnet hast (z.B. if, else, while, for, [etc]), aber nicht geschlossen.

    In deiner teil2.php hast du 4 öffnende Klammern aber nur drei schließende.



    Eine andere Frage:
    Kann man php variablen in cookis speichern?

    Jo. Schau dir mal die Funktion setcookie() an.
    http://de.php.net/setcookie


    Denk dran, dass der User Cookies einsehen kann. Speichere also keine sensiblen Daten in Cookies.
    Wenn du viele Informationen speichern musst, solltest du auf Sessions zurückgreifen.





    gruß
    ferdinand24
  4. t*****b

    Der Fehler liegt hier:
    if($user == "kuesta")
       {
         Header("Location: http://10.0.0.3/login/kuesta.php"); 
          exit(); 
       }
    else
       {
       if($user == "demo")
       {
         Header("Location: http://10.0.0.3/login/demo.php"); 
          exit(); 
       }
    else
       {
       echo "Falscher Benützername oder Passwort!";
       }


    Du kannst nich zwei mal else für eine Verzweigung verwenden. Also musst du das so machen:

    if($user == "kuesta") {
     Header("Location: http://10.0.0.3/login/kuesta.php"); 
     exit(); 
    } else {
     if($user == "demo") {
      Header("Location: http://10.0.0.3/login/demo.php"); 
      exit(); 
      } else {
       echo "Falscher Benützername oder Passwort!";
      }
    }


    Oder noch geschickter:

    if($user == "kuesta") {
     Header("Location: http://10.0.0.3/login/kuesta.php"); 
     exit(); 
    } elseif($user == "demo") {
     Header("Location: http://10.0.0.3/login/demo.php"); 
     exit(); 
    } else {
      echo "Falscher Benützername oder Passwort!";
    }


    Deine doch recht komische Schreibweise habe ich einfach mal angepasst, um die eine klarere Struktur einzubringen. Dadurch hat man mehr Code auf weniger Zeilen, was vor allem bei längeren Scripten mehr Script auf den Bildschirm bringt.

    /Edit: Codetag vergessen

    Beitrag geändert: 30.11.2008 2:43:33 von trueweb
  5. Autor dieses Themas

    kuesta

    Kostenloser Webspace von kuesta

    kuesta hat kostenlosen Webspace.

    Ok danke es hat funktioniert aber jetzt gibt er immer den else teil an

    <?php
    $password = $_COOKIE["$password"];
    ?>
    <?php
    if($password == "andijyxn")
       {
       echo "Willommen Kuesta!";
       }
    else
       {
       Header("Location: http://10.0.0.3/login/falsch.html"); 
       exit(); 
       }
    ?>
    
    <h1>Hallo Kuesta</h1>


    falsch.htm
    <html>
    
    <head>
    <meta http-equiv="Content-Type"
    content="text/html; charset=iso-8859-1">
    <title>Untitled </title>
    </head>
    
    <body bgcolor="#000000" text="#FF0000">
    
    <h1 align="center">Falsches Password oder Benützername</h1>
    
    <p align="center">&nbsp;</p>
    
    <p align="center">Zum erneuten <a
    href="http://10.0.0.3/login/index.htm">Login</a></p>
    </body>
    </html>


    Beitrag geändert: 30.11.2008 14:21:34 von kuesta
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!