pn system

Dieses Thema im Forum "Webmaster Hilfe / Programmierer Forum" wurde erstellt von zille3000, 31.01.2010.

  1. #1 zille3000, 31.01.2010
    Zuletzt bearbeitet: 01.02.2010
    zille3000

    zille3000 Master

    Dabei seit:
    30.10.2008
    Beiträge:
    467
    Zustimmungen:
    0
    [GELÖßT] pn system

    Hallo Leute, ich bin gerade dabei ein PN System zu coden in PHP.
    Dieses wird eingebaut in einen Mitgliederbereich.
    Auf der Startseite sollen dann die Anzahl der PN's gezeigt werden.

    Auf der Startseite steht aber:
    nun die 3 Seiten:
    theme.php
    PHP:
    <?php
    session_start
    ();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <!--

    Design by Free CSS Templates
    http://www.freecsstemplates.org
    Released for free under a Creative Commons Attribution 2.5 License

    Title      : Mr. Techie
    Version    : 1.0
    Released   : 20070822
    Description: Three-column blog design with the third column allocated for ads. Features Web 2.0 design ideal for 1024x768 resolutions.

    -->
    <html xmlns="http://www.w3.org/1999/xhtml">


    <?php
    $login 
    $_POST["login"];
    if(
    $login == "yes")
    {
            
    mysql_connect("localhost""web1401" "*******")
            or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
            
    mysql_select_db("usr_web1401_2") or die ("Datenbank konnte nicht ausgewählt werden");

            
    $username $_POST["username"];

            
    $passwort md5($_POST["password"]);

            
    $abfrage "SELECT * FROM mem_login WHERE Username = '$username'";

            
    $ergebnis mysql_query($abfrage);

            
    $row mysql_fetch_object($ergebnis);



            if(
    $row->Password == $passwort)
            {
                    
    $_SESSION["username"] = $username;
                    
    $_SESSION["ID"] = $row->ID;
                    if(
    $row->Funktion == "Administrator")
                    {
                        
    $_SESSION["admin"] = "yes";
                    }
            }
            else
                    {
                    
    $error1 "Benutzername und/oder Passwort waren falsch.";
                    }
    }

    $ID $_SESSION["ID"];
    $action $_GET["action"];
    if(
    $action == "")
    {
             
    $action "welcome";
    }
    ?>


    <head>
    <meta http-equiv="content-type" content="text/html; charset=<{$xoops_charset}>" />
    <title>&lt;{$xoops_sitename}&gt; - &lt;{$xoops_pagetitle}&gt;</title>
    <meta name="keywords" content="" />
    <meta name="description" content="" />
    <link rel="stylesheet" type="text/css" media="screen" href="style.css" />
    </head>
    <body>

    <!-- start header -->
    <div id="header">
            <div id="logo">
                    <h1><a href="#">Jugendfeuerwehr</a></h1>
                    <p><a href="#">Teterow</a></p>
            </div>
            <div id="rss"><a href="#">Subscribe to RSS Feed</a></div>
    </div>
    <!-- end header -->
    <!-- star menu -->
    <div id="menu">
            <?php
            
    if(isset($_SESSION["username"]))
            {
                    echo 
    "<ul>
                    <li class=\"current_page_item\"><a href=\"?action=welcome\">Home</a></li>
                    <li><a href=\"?action=download\">Downloads</a></li>
                    <li><a href=\"?action=einst\">Einstellungen</a></li>"
    ;
                    if(
    $_SESSION["admin"] == "yes")
                    {
                        echo 
    "<li><a href=\"?action=admin\">Admin</a></li>";
                    }
                    echo 
    "<li><a href=\"?action=logout\">Logout</a></li>
                    <li><a href=\"#\"><s></s></a></li>
                    </ul>"
    ;
            }
            
    ?>
    </div>
    <!-- end menu -->
    <!-- start page -->
    <div id="page">
            <!-- start ads -->
            <!-- start content -->
            <div id="content">
                    <div class="post">
                                    <?php
    include("content.php");
    ?>
                    </div>
            </div>
            <!-- end content -->


    </div>
    <!-- end page -->
    <!-- start footer -->
    <div id="footer">
            <p class="legal">
                    <p id="legal">Program: <a href="http://www.xoops.org/">XOOPS</a> | Theme: <a href="http://www.freecsstemplates.org/">Free CSS Templates</a> and <a href="http://www.insraq.org/">insraq</a> port it to XOOPS</p>
            <p class="links">
                    <a href="http://validator.w3.org/check/referer" class="xhtml" title="This page validates as XHTML">Valid <abbr title="eXtensible HyperText Markup Language">XHTML</abbr></a>
                    &nbsp;&bull;&nbsp;
                    <a href="http://jigsaw.w3.org/css-validator/check/referer" class="css" title="This page validates as CSS">Valid <abbr title="Cascading Style Sheets">CSS</abbr></a>
            </p>
    </div>
    <!-- end footer -->
    </body>
    </html>
    content.php
    PHP:
    <?php
    mysql_connect
    ("localhost""web1401" "*******")
    or die(
    "Verbindung zur Datenbank konnte nicht hergestellt werden");
    mysql_select_db("usr_web1401_2") or die ("Datenbank konnte nicht ausgewählt werden");
    $abfrage "SELECT * FROM mem_login WHERE Username = '$username'";

    $ergebnis mysql_query($abfrage);

    $row mysql_fetch_object($ergebnis);
    $firstname $row->Firstname;
    if(
    $username == "")
    {
        
    $row2 mysql_fetch_object(mysql_query("SELECT * FROM mem_login WHERE ID = '$ID'"));
    }
    if(!isset(
    $_SESSION["username"]))
    {
        echo 
    "<form action=\"\" method=\"post\">
        <input type=\"hidden\" name=\"login\" value=\"yes\">
        <img src=\"user2_16x16.gif\"/>&nbsp;
        <input type=\"text\" size=\"24\"
        name=\"username\">&nbsp;&nbsp;&nbsp;
        
        <img src=\"access_16x16.gif\"/>
        <input type=\"password\" size=\"24\"
        name=\"password\">&nbsp;
        
        <input type=\"submit\" value=\"Login\">
        </form>"
    ;
        echo 
    "&nbsp;&nbsp;&nbsp;<font color=\"#ff0000\">".$error1."</font>";
    }
    else if(
    $action == "welcome")
    {
        if(
    $firstname == "")
        {
            
    $firstname $row2->Firstname;
        }
        echo 
    "Hallo&nbsp;";
        echo 
    $firstname;
        
    $pnuser $_SESSION["username"];
        
    $pnaz mysql_num_rows(mysql_query("SELECT 'To' FROM 'mem_pnsystem' WHERE 'To' = '$pnuser'"));
        echo 
    "<br><br>Du hast&nbsp;".$pnaz."Private Nachrichten. &Uuml;ber den Men&uuml;punkt PN kannst du sie lesen.";
    }
    else if(
    $action == "download")
    {
        echo 
    "Downloads";
    }
    else if(
    $action == "einst")
    {
        
    $einstaction $_GET["do"];
        if(
    $einstaction != "changepw")
        {
            echo 
    "Einstellungen<br>";
            echo 
    "<a href=\"?action=einst&do=changepw&id=$ID\">Passwort &auml;ndern</a>";
        }
        
        if(
    $einstaction == "changepw")
        {
            
            echo 
    "<form action=\"\" method=\"post\">
            <input type=\"hidden\" name=\"setnewpass\" value=\"yes\">
            Altes Passwort:<br>
            <input type=\"password\" name=\"oldpass\"><br><br>
            Neues Passwort:<br>
            <input type=\"password\" name=\"newpass1\"><br><br>
            Wiederholen:<br>
            <input type=\"password\" name=\"newpass2\">
            <input type=\"submit\" value=\"&Auml;ndern\">
            </form>"
    ;
            
            
    $setpass $_POST["setnewpass"];
            if(
    $setpass == "yes")
            {
                
                
    $oldpass md5($_POST["oldpass"]);
                
    $newpass1 md5($_POST["newpass1"]);
                
    $newpass2 md5($_POST["newpass2"]);
                if(
    $newpass1 == $newpass2)
                {
                    
    $row3 mysql_fetch_object(mysql_query("SELECT Password FROM mem_login WHERE ID = '$ID'"));
                    if(
    $oldpass == $row3->Password)
                    {
                        
    mysql_query("UPDATE mem_login Set Password = '$newpass1' WHERE ID = '$ID'");
                        echo 
    "Das Passwort wurde ge&auml;ndert";
                    }
                    else
                    {
                        echo 
    "Das vorhandene Passwort stimmt nicht mit dem Eingegebenen &uuml;berein!";
                    }
                }
                else
                {
                    echo 
    "Die Passw&ouml;rter stimmen nicht &uuml;berein.";
                }
            }
            
            
        }
    }
    else if(
    $action == "admin")
    {
        include(
    "admin.php");
    }
    else if(
    $action == "logout")
    {
        
    session_unregister('username');
        
    session_unregister('ID');
        if(isset(
    $_SESSION["admin"]))
        {
            
    session_unregister('admin');
        }
        
    session_destroy();
        echo 
    "</body><head><meta http-equiv=\"refresh\" content=\"0; URL=theme.php\"></head><body>";
    }
    else
    {
        echo 
    "ERROR ACTION DOESNT WORK</body></html>";
        exit;
    }
    ?>
    admin.php
    PHP:
    <?php
    if($_SESSION["admin"] != "yes")
    {
        echo 
    "Du hast keine Administratorrechte";
    }
    else
    {
        echo 
    "Adminbereich<br>";
        echo 
    "<a href=\"?action=admin&do=members\">Mitglieder</a>";
        
    $adminaction $_GET["do"];
        
    $dele $_GET["dele"];
        
    $change $_GET["change"];
        
    $changemember $_POST["changemember"];
                if(
    $changemember == "yes")
                {
                    
    $changememberid $_POST["changememberid"];
                    
    $cusername $_POST["cusername"];
                    
    $cpassword $_POST["cpassword"];
                    
    $cfirstname $_POST["cfirstname"];
                    
    $clastname $_POST["clastname"];
                    
    $cfunktion $_POST["cfunktion"];
                    
    $change "";
                    
    mysql_query("UPDATE mem_login Set 
                                Username = '
    $cusername',
                                Password = '
    $cpassword',
                                Firstname = '
    $cfirstname',
                                Lastname = '
    $clastname',
                                Funktion = '
    $cfunktion' WHERE ID = '$changememberid'");
                    echo 
    "&nbsp;".$cusername."&nbsp;wurde erfolgreich ge&auml;ndert";
                }
                
    $dele $_GET["dele"];
                if(
    $dele != "")
                {
                    
    mysql_query("DELETE FROM mem_login WHERE ID = '$dele'");
                    echo 
    "&nbsp; Der Benutzer mit der ID&nbsp;".$dele."&nbsp; wurde gel&ouml;scht";
                }
        if(
    $adminaction == "members" AND $change == "")
        {
            
    $memresult mysql_query("SELECT * FROM mem_login");
            echo 
    "<table width=\"100%\" border=\"1\">
              <tr>
                <th scope=\"col\">ID</th>
                <th scope=\"col\">Benutzername</th>
                <th scope=\"col\">MD5 Passwort</th>
                <th scope=\"col\">Vorname</th>
                <th scope=\"col\">Nachname</th>
                <th scope=\"col\">Funktion</th>
                <th scope=\"col\">Letzter Login</th>
                <th scope=\"col\"></th>
              </tr>"
    ;
              while(
    $mem mysql_fetch_object($memresult))
              {
                  echo 
    "<tr>
                    <th scope=\"row\">
    $mem->ID</th>
                    <td>
    $mem->Username</td>
                    <td>
    $mem->Password</td>
                    <td>
    $mem->Firstname</td>
                    <td>
    $mem->Lastname</td>
                    <td>
    $mem->Funktion</td>
                    <td>
    $mem->LastLogin</td>
                    <td><a href=\"?action=admin&do=members&change=
    $mem->ID\"><img border=\"0\" src=\"edit_16x16.gif\"></a>
                    <a href=\"?action=admin&do=members&dele=
    $mem->ID\"><img border=\"0\" src=\"delete_16x16.gif\"></a></td>
                  </tr>"
    ;
              }
      
            echo 
    "</table>";

        }
        if(
    $adminaction == "members" AND $change != "")
        {
            
    $cvalue mysql_fetch_object(mysql_query("SELECT * FROM mem_login WHERE ID ='$change'"));
            echo 
    "<form action=\"\" method=\"post\">
            <input type=\"hidden\" name=\"changemember\" value=\"yes\">
            <input type=\"hidden\" name=\"changememberid\" value=\"
    $change\">
            Benutzername:<br>
            <input type=\"text\" size=\"24\" name=\"cusername\" value=\"
    $cvalue->Username\"><br><br>
            MD5 Passwort:<br>
            <input type=\"text\" size=\"24\" name=\"cpassword\" value=\"
    $cvalue->Password\"><br><br>
            Vorname:<br>
            <input type=\"text\" size=\"24\" name=\"cfirstname\" value=\"
    $cvalue->Firstname\"><br><br>
            Nachname:<br>
            <input type=\"text\" size=\"24\" name=\"clastname\" value=\"
    $cvalue->Lastname\"><br><br>
            Funktion:<br>
            <input type=\"text\" size=\"24\" name=\"cfunktion\" value=\"
    $cvalue->Funktion\"><br><br>
            <input type=\"submit\" value=\"&Auml;ndern\">
            </fotm>"
    ;
        }
        
        
    }
    ?>
     
  2. AdMan

    schau mal hier: Windows-Wartungs-Tool. Viele Probleme lassen sich damit einfach beheben. Oftmals ist der PC dann auch schneller!
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  3. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.675
    Zustimmungen:
    0
    Der Fehler bedeutet, dass folgende ABfrage:

    PHP:
       $pnaz mysql_num_rows(mysql_query("SELECT 'To' FROM 'mem_pnsystem' WHERE 'To' = '$pnuser'"));
    0 ergibt, d.h. nix gefunden wurde. Was kommt raus wenn du die bei phpmyadmin ausführst mit nem Beliebigen UserName / UserID?

    Ist To der Spaltenname? wenn ja, lass mal die ' ' beim Spaltennamen weg!
     
  4. #3 zille3000, 31.01.2010
    zille3000

    zille3000 Master

    Dabei seit:
    30.10.2008
    Beiträge:
    467
    Zustimmungen:
    0
    das mit dem '' hab ich schon ausprobiert.
    Mit nem anderen benutzernamen geht das auch nicht.
     
  5. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.675
    Zustimmungen:
    0
    Kannst du mi rmal nen screen posten wie die Struktur der Tabelle in phpmyadmin aussieht?
     
  6. #5 zille3000, 31.01.2010
    zille3000

    zille3000 Master

    Dabei seit:
    30.10.2008
    Beiträge:
    467
    Zustimmungen:
    0
    #1064 - Fehler in der SQL-Syntax. Bitte die korrekte Syntax im Handbuch nachschlagen bei 'mysql_num_rows(mysql_query("SELECT To FROM mem_pnsystem WHERE To = 'ZillmannP'")' in Zeile 1
     
  7. #6 zille3000, 31.01.2010
    zille3000

    zille3000 Master

    Dabei seit:
    30.10.2008
    Beiträge:
    467
    Zustimmungen:
    0

    Anhänge:

  8. Nico

    Nico Ehemaliges Teammitglied

    Dabei seit:
    28.10.2005
    Beiträge:
    6.675
    Zustimmungen:
    0
    PHP:
     $pnaz mysql_num_rows(mysql_query("SELECT To FROM mem_pnsystem WHERE To = '" $pnuser "'"));  
    Probiersmal so...

    //EDIT

    ACH FUCK! ich weiß wo der fehler ist ;)

    "To" ist ein reserviertes Wort bei MySQL, du musst deinen Spaltennamen umbenennen!

    http://dev.mysql.com/doc/refman/5.1/de/reserved-words.html
     
  9. #8 zille3000, 31.01.2010
    zille3000

    zille3000 Master

    Dabei seit:
    30.10.2008
    Beiträge:
    467
    Zustimmungen:
    0
    beim spaltenname ToUser streikt er auch
     
  10. AdMan

    Es ist generell erstmal empfehlenswert alle ggf. veralteten oder fehlerhaften Treiber zu scannen und auf neue zu aktualisieren. Hier kannst du einen Treiber-Scanner downloaden. Das erspart oftmals viel Ärger und hilft gegen diverse Probleme.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren.
  11. #9 Blaxxun, 31.01.2010
    Blaxxun

    Blaxxun aka Noisy

    Dabei seit:
    06.11.2005
    Beiträge:
    6.171
    Zustimmungen:
    0
    Wie hast du den deine DB aufgebaut? Da ist ein logischer Fehler drin. Man speichert niemals den Usernamen, sondern nur die Userid, ersetz also einfach mal ToUser mit userid. Den Benutzernamen kannst du ja über die UserID noch auslesen, aber wenn z.B. der Benutzername geändert wird oder der User gelöscht wird kann das ganz schnell zum Chaos im System werden.
    Dafür sind IDs da um Datensätze eindeutig zuweisbar zu machen, IDs einer Tabelle sind immer unqiue.

    Desweiteren niemals Usereingaben umgeprüft verarbeiten und schon gar nicht in die DB schreiben. Da kann dir selbst ein Bot die DB ziemlich leicht bei der Benutzereingabe zerschießen. Und ein "echter Mensch" kommt damit auch ganz locker an die Passwörter dran, die "sicher" mit md5 verschlüsselt sind und sich auch gar nicht knacken lassen :) oder er ändert sie einfach mal selbst.

    Falls dich die Sicherheit deiner Seite interessiert empfehle ich dir folgende(n) Artikel About Security #11: SQL Injection
     
  12. #10 zille3000, 01.02.2010
    zille3000

    zille3000 Master

    Dabei seit:
    30.10.2008
    Beiträge:
    467
    Zustimmungen:
    0
    die personen für die das system gedacht ist, die haben eig. keinen böswilligen gedanken (jedenfalls nicht in die richtung:D) vor sql attacken ist das system eigendlich geschützt. (xoops).

    vielen dank für deinen post.
    ich versuche das system heute so umzuschreiben, dass bei den pn's id's verwendet werden
     
Thema: pn system
Besucher kamen mit folgenden Suchen
  1. download pn system

    ,
  2. php pn system

Die Seite wird geladen...

pn system - Ähnliche Themen

  1. Gibt es eine Möglichkeit, alte Spiele auf neuem System zum Laufen zu bringen?

    Gibt es eine Möglichkeit, alte Spiele auf neuem System zum Laufen zu bringen?: Hallo! Ich hab ein paar alte Spiele, wie Pizza Syndicate, Speed Demons, Simon The Sorcerer, etc., die natürlich alle nicht für neuere Windows...
  2. cmd system kann die angegebene Datei nicht finden

    cmd system kann die angegebene Datei nicht finden: Hallo, ich führe über die PowerShell folgenden Befehl aus, um ein .sql file in meine MySQL Datenbank einzuspielen: $rFilePath =...
  3. Muss ein ganz neues system her?

    Muss ein ganz neues system her?: Huhu. Wollte mal meinen Rechner etwas aufrüsten,für die neuesten Games reicht es leider nicht mehr für eine anständige Grafik :( primäl etc. Hier...
  4. Stapelfehler in Zeile 1

    Stapelfehler in Zeile 1: Hallo habe Win 8.1. drauf, surfe mit dem Firefox Browser und bekomme seit einigen Tagen immer wieder popups fensterchen mit der fehler meldung...
  5. Windows 7 System reparieren auf F8 mit Kennwort das geht es nicht, die habe ich vergessen

    Windows 7 System reparieren auf F8 mit Kennwort das geht es nicht, die habe ich vergessen: Hallo wer kann mich Helfe um das Probleme wie soll ich das Windows reparieren wenn ich das Kennwort vergessen habe, ich geh auf F8 zu repariere...