Ankündigung

Einklappen
Keine Ankündigung bisher.

Session probleme

Einklappen

Neue Werbung 2019

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

  • Session probleme

    Hallo Leute ich habe ein problem mit der Session ich möchte nicht die seiten doppelt anlegen sondern das mit if und else andere dinge angezeigt werden
    if sollte so z.b. die profil daten im kopf anzeigen und else sollte dann das login formular enthalten da ich keine seite brauch die erst angezeigt wirden wenn man sich einlogt finde ich das als quatsch. ich schreibe euch mal den code vielleicht könnt ihr mir weiter helfen und es vielleicht sogar passend schreiben. Ich habe wieder eine ganze menge rumprobiert und umgeschrieben also könnten fehler auftauchen die ich vergessen habe zu tauschen.
    Wenn noch etwas fehlt schreibt es ruhig ich poste es dann dazu.

    überings bekomme ich diesen Fehlercode:
    Parse error: syntax error, unexpected end of file in C:\xampp\htdocs\Zelios\index.php on line 118

    PHP-Code:
    <?php session_start ();
    if (
    $_SESSION["Login"] != "YES") {
          echo 
    "Hallo $name";
        }
    else{
        if(!isset(
    $_POST['submit'])) { ?>
    <?php 
    require("connect.inc.php");?>
    <div style="background-color: #BCB7B3;"><form action="<?php $PHP_SELF ?>" method="post">
     Benutzername:<input type="text" name="username" size="20" class="input"/>
     Passwort:<input type="password" name="password" size="20" class="input"/>
     <input type="submit" name="submit" value="Anmelden" class="button">
     <a href="registrierung.php">Registrieren?</a>
    </form></div>
     <?php
     
    }elseif(!$_POST['username'] || $_POST['username'] == "") {
     echo 
    '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br /><br />
     <a href="index.php">Zurück</a></p>'
    ;
     }elseif(!
    $_POST['password'] || $_POST['password'] == "") {
     echo 
    '<form action="index.php" method="post">';
     echo 
    '<p align="center">Ein Passwort brauchen wir schon ;-)<br /><br />';
     echo 
    '<input type="hidden" name="username" value="'.$_POST['username'].'">';
     echo 
    '<input type="submit" name="zurueck" value="Zurück">';
     echo 
    '</p>';
     echo 
    '</form>';
     }else{
     
    $password md5($_POST['password']);
     
    $query = @mysql_query("SELECT Username, Userpasswort FROM login WHERE Username = '".mysql_real_escape_string($_POST['username'])."'");
     
    $result = @mysql_fetch_array($query);
     if(
    $password != $result['Userpasswort']){
     
    $_SESSION["Login"] = "NO";
     echo 
    '<form action="index.php" method="post">';
     echo 
    '<p align="center" style="background-color: #BCB7B3;">Der Benutzername oder das Passwort ist nicht richtig!<br /><br />';
     echo 
    '<input type="hidden" name="username" value="'.$_POST['username'].'">';
     echo 
    '<input type="submit" name="zurueck" value="Zurück"></p>';
     echo 
    '</form>';
     die;
     }else{
        
    $_SESSION["Login"] = "YES";

    }
     }
     
    ?>
    <?php 
    include("head.inc.php");?>





    <!DOCTYPE html>
    <html>

    <head>

        <title>test</title>
        <meta charset="UTF-8">
        <meta name="description" content=""/>
        <meta name="author" content=""/>
        <meta name="keywords" content=""/>
        <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)"/>
        <link href="style.css" type="text/css" rel="stylesheet"/>
        <link rel="stylesheet" href="styles/KopfbisFuß.css" type="text/css" />
        <link rel="stylesheet" href="styles/Werbung.css" type="text/css" />
        <link rel="stylesheet" href="styles/menü.css" type="text/css" />
        <style>
                body {  margin: 0;
                background-image: url(images/metallplatte.jpg);
    width: 1920px;
    height: 1200px;

                        width: auto;
                        height: auto;}
                    a:link {
                    text-decoration:none;

        </style>


    </head>

    <body>

    <div id="Werbung_Mitte" align="center"><img src="images/imgad.jpg" width="728" height="90" alt="" /></div>
    <div id="Werbung_Links"><img src="images/imgad (1).jpg" width="160" height="600" alt="" /></div>
    <div id="Werbung_Rechts"><img src="images/imgad (1).jpg" width="160" height="600" alt="" /></div>
    <table id="menue" align="center">
        <tr>
            <td rowspan="2" id="a"><a href="news.php">News</a></td>
            <td id="b">Games</td>
            <td id="d">Let`s Player</td>

       </tr>
       <tr>
            <td id="c">Events</td>
            <td id="e">Forum</td>
       </tr>
    </table>
    <table align="center" id="menue2">
        <tr>
            <td id="j">Rangliste</td>
            <td rowspan="2" colspan="2" id="h">Archiv</td>
            <td id="f">f</td>
        </tr>
        <tr>
            <td id="g">Stadt Community</td>
            <td id="i">i</td>
        </tr>
        <tr>
        </tr>
    </table>
    </div>
    <div class="clear"></div>




    <?php include("foot.inc.php"); ?>
    </body>
    </html>


  • #2
    Ein Parse-Error ist aber kein Session-Error, oder?

    Ein Tipp: rücke den Quellcode mal ordentlich ein, dann fällt dir der Fehler alleine auf.
    Die Deutsche Rechtschreibung ist Freeware! Du darfst sie kostenlos nutzen, allerdings ist sie nicht Open Source, d.h. Du darfst sie nicht verändern oder in veränderter Form veröffentlichen.

    Kommentar


    • #3
      Also parse error werden dir von jeder guten IDE angezeigt.

      Und halte dich an die PSR Standards (http://www.php-fig.org/) oder sonst irgendeinen halbwegs sinn machenden Standard, dann fällt sowas viel leichter auf

      LG
      https://github.com/Ma27
      Javascript Logic is funny:
      [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

      Kommentar


      • #4
        Ok danke für den tip aber wie sieht der Rest vom Code aus ist der i.o.?

        Kommentar


        • #5
          mysql* ist veraltet und wird entfernt, nimm am besten für die Datenbankkommunikation PDO (http://php.net/manual/de/book.pdo.php)

          $_SESSION["Login"] = "NO";
          brauchste imo nicht

          Nimm außerdem den @-Operator raus und kümmere ich richtig um die Fehlerbehandlung

          Das wärs bis jz
          LG
          https://github.com/Ma27
          Javascript Logic is funny:
          [] + [] => "", [] + {} => object, {} + [] => 0, {} + {} => NaN

          Kommentar


          • #6
            aber wie sieht der Rest vom Code aus ist der i.o.?
            Was mir weiter noch aufgefallen ist:

            PHP-Code:
            $_SESSION["Login"] = "YES"
            ...
            $_SESSION["Login"] = "NO"
            Dafür kannst doch boolean verwenden -> true / false

            PHP-Code:
            <div style="background-color: #BCB7B3;"><form action="<?php $PHP_SELF ?>" method="post">
            PHP Self ist böse: http://blog.oncode.info/2008/05/07/p...scripting-xss/

            PHP-Code:
            $password md5($_POST['password']); 
            md5() ist nicht mehr sicher da tech. überholt, siehe hier Punkt 2: http://php.net/manual/de/faq.passwords.php
            Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
            PHP.de Wissenssammlung | Kein Support per PN

            Kommentar


            • #7
              Ich habe dann mal schon einige Sachen umgesetzt die ihr geschrieben habt
              was mich jetzt aber stört ist das beim Logout das Login Formular nicht mehr erscheint so wie es eigentlich sollte.
              Mir scheint es so als wenn ich dauerhaft eingeloggt bin und was jetzt noch dazu kommt ist das
              die "($_SESSION["Login"] != "true");" nicht benannt ist was mach ich da falsch?

              PHP-Code:
              <?php session_start ();
                  if (
              $_SESSION["Login"] != "true") {

                  }else
              {
                  if(!isset(
              $_POST['submit'])) { ?>
              <?php 
              require("connect.inc.php");?>

              <div style="background-color: #BCB7B3;">
                  <form action="index.php" method="post">
                  Benutzername:<input type="text" name="username" size="20" class="input"/>
                  Passwort:<input type="password" name="password" size="20" class="input"/>
                  <input type="submit" name="submit" value="Anmelden" class="button">
                  <a href="registrierung.php">Registrieren?</a>
                  </form>
              </div>

               <?php
                   
              }elseif(!$_POST['username'] || $_POST['username'] == "") {
                      echo 
              '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br /><br />
                            <a href="index.php">Zurück</a></p>'
              ;
                  }elseif(!
              $_POST['password'] || $_POST['password'] == "") {
                      echo 
              '<form action="index.php" method="post">';
                      echo 
              '<p align="center">Ein Passwort brauchen wir schon ;-)<br /><br />';
                      echo 
              '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                      echo 
              '<input type="submit" name="zurueck" value="Zurück">';
                      echo 
              '</p>';
                      echo 
              '</form>';
                  }else{
               
              $password md5($_POST['password']);
               
              $query   =    mysqli_query("SELECT Username, Userpasswort FROM login WHERE Username = '".mysqli_real_escape_string($_POST['username'])."'");
               
              $result =   mysqli_fetch_array($query);
               
              $nick $_POST['username'];

                   if(
              $password != $result['Userpasswort']){
                      
              $_SESSION["Login"] = "false";
                      echo 
              '<form action="index.php" method="post">';
                      echo 
              '<p align="center" style="background-color: #BCB7B3;">Der Benutzername oder das Passwort ist nicht richtig!<br /><br />';
                      echo 
              '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                      echo 
              '<input type="submit" name="zurueck" value="Zurück"></p>';
                      echo 
              '</form>';
                      die;
                  }else{
                      
              $_SESSION["Login"] = "true";
                      
              $_SESSION['username'] = $nick;
                    }
                  }
                }
               
              ?>

              <!DOCTYPE html>
              <html>

              <head>

                  <title>Zelios Gaming Community</title>
                  <meta charset="UTF-8">
                  <meta name="description" content=""/>
                  <meta name="author" content=""/>
                  <meta name="keywords" content=""/>
                  <meta name="generator" content="Webocton - Scriptly (www.scriptly.de)"/>
                  <link href="style.css" type="text/css" rel="stylesheet"/>
                  <link rel="stylesheet" href="styles/KopfbisFuß.css" type="text/css" />
                  <link rel="stylesheet" href="styles/Werbung.css" type="text/css" />
                  <link rel="stylesheet" href="styles/menü.css" type="text/css" />
                  <style>
                          body {  margin: 0;
                          background-image: url(images/metallplatte.jpg);
                          width: 1920px;
                          height: 1200px;

                          width: auto;
                          height: auto;}
                          a:link {
                          text-decoration:none;

                  </style>


              </head>
              <header>
              <?php  if ($_SESSION["Login"] != "true");{ ?>
                    <div style="background-color: #BCB7B3;"></div>
              <?php
                    
              echo '<a href="logout.php">Logout</a>';

               } 
              ?>





              <?php include("head.inc.php");?>
              </header>

              <body>

              <div id="Werbung_Mitte" align="center"><img src="images/imgad.jpg" width="728" height="90" alt="" /></div>
              <div id="Werbung_Links"><img src="images/imgad (1).jpg" width="160" height="600" alt="" /></div>
              <div id="Werbung_Rechts"><img src="images/imgad (1).jpg" width="160" height="600" alt="" /></div>
              <table id="menue" align="center">
                  <tr>
                      <td rowspan="2" id="a"><a href="news.php">News</a></td>
                      <td id="b">Games</td>
                      <td id="d">Let`s Player</td>

                 </tr>
                 <tr>
                      <td id="c">Events</td>
                      <td id="e">Forum</td>
                 </tr>
              </table>
              <table align="center" id="menue2">
                  <tr>
                      <td id="j">Rangliste</td>
                      <td rowspan="2" colspan="2" id="h">Archiv</td>
                      <td id="f">f</td>
                  </tr>
                  <tr>
                      <td id="g">Stadt Community</td>
                      <td id="i">i</td>
                  </tr>
                  <tr>
                  </tr>
              </table>
              </div>
              <div class="clear"></div>




              <?php include("foot.inc.php"); ?>
              </body>
              </html>

              Kommentar


              • #8
                PHP-Code:
                $_SESSION["Login"] != "true" 
                "true" ist kein boolean sondern ein String.
                http://www.php.de/php-einsteiger/489...rundlagen.html
                Zitat von nikosch
                Macht doch alle was Ihr wollt mit Eurem Billigscheiß. Von mir aus sollen alle Eure Server abrauchen.

                Kommentar

                Lädt...
                X