Ankündigung

Einklappen
Keine Ankündigung bisher.

Eigenes Forum Persönliche User Signatur

Einklappen

Neue Werbung 2019

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

  • Eigenes Forum Persönliche User Signatur

    Hallo, ich brauche ein wenig Hilfe beim Programmieren. Ich erstelle derzeit ein kleines Forum und möchte den Usern ermöglichen ihre eigene Signatur zu hinterlassen. Ich habe sehr viel Recherchiert und mir einige Tutorials angesehen bin aber jetzt bei einem Punkt: es kommt keine Fehlermeldung aber es funktioniert nicht. Ich bin noch ein Anfänger. Hier der komplette code:
    PHP-Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Mein Forum</title>
    <link rel="stylesheet" type="text/css" href="style.css" />
    </head>

    <body>

    <div id="wrapper">
    <h2>Das Forum</h2>

    <?php
    if (!isset($_SESSION['uid'])) {
        echo 
    "<form action='login_parse.php' method='post'>
    Benutzername: <input type='text' name='username' />&nbsp;
        Passwort: <input type='password' name='password' />&nbsp;
        <input type='submit' name='submit' value='Einloggen' />
        "
    ;
    } else {
        echo 
    "<p>Du bist eingeloggt als ".$_SESSION['username']." &bull; <a href='logout_parse.php'>Ausloggen</a>";
    }
    ?>

    <hr />
    <div id="Inhalt">
    <?php
    include_once("connect.php");

    function 
    getusername($uid) {
        
    $sql "SELECT username FROM users WHERE id='".$uid."' LIMIT 1";
        
    $res mysql_query($sql) or die(mysql_error());
        
    $row mysql_fetch_assoc($res);
        return 
    $row['username'];
        
    $postcreator mysql_result($row);
    }
    //Hier die Funktion für die Signatur
    function getsignatur()  {
    $sql4 "SELECT beschreibung FROM users WHERE username='".$row2['post_creator']."'";
    $res4 mysql_query($sql4) or die(mysql_error());
    $row4 mysql_fetch_assoc($res4);
    return 
    $row4['beschreibung'];
    }
    function 
    convertdate($date) {
        
    $date strtotime($date);
        return 
    date("M j, Y g:ia"$date);
    }

    $cid $_GET['cid'];
    $tid $_GET['tid'];
    $sql "SELECT * FROM topics WHERE category_id='".$cid."' AND id='".$tid."' LIMIT 1";
    $res mysql_query($sql) or die(mysql_error());
    if (
    mysql_num_rows($res) == 1) {
        echo 
    "<table width='100%'>";
        if (
    $_SESSION['uid']) { echo "<tr><td colspan='2'><input type='submit' value='Antworten' onClick=\"window.location = 'post_reply.php?cid=".$cid."&tid=".$tid."'\" /><hr />"; } else { echo "<tr><td colspan='2'><p>Bitte loggen dich ein um eine Antwort zu verfassen.</p><hr /></td></tr>"; }
        while (
    $row mysql_fetch_assoc($res)) {
            
    $sql2 "SELECT * FROM posts WHERE category_id='".$cid."' AND topic_id='".$tid."'";
            
    $res2 mysql_query($sql2) or die(mysql_error());
            while (
    $row2 mysql_fetch_assoc($res2)) {
                echo 
    "<tr><td valign='top' style='border: 1px solid #000000;'><div style='min-height: 125px;'>".$row['topic_title']."<br />by ".getusername($row2['post_creator'])." - ".convertdate($row2['post_date'])."<hr />".$row2['post_content']."</div></td><td width='200' valign='top' align='center' style='border: 1px solid #000000;'>/*Hier soll die Signatur erscheinen*/".getsignatur($row4['beschreibung'])."</td></tr><tr><td colspan='2'><hr /></td></tr>";
            }
            
    $old_views $row['topic_views'];
            
    $new_views $old_views 1;
            
    $sql3 "UPDATE topics SET topic_views='".$new_views."' WHERE category_id='".$cid."' AND id='".$tid."' LIMIT 1";
            
    $res3 mysql_query($sql3) or die(mysql_error());
        }
    } else {
        echo 
    "<p>Dieses topic existiert nicht.</p>";
    }
    ?>
    </div>
    </div>

    </body>
    </html>
    Danke schonmal in voraus für eure Hilfe.

  • #2
    Ups hab die PHP zeihern verwechselt. tut mir leid

    //Edit: fehler behoben

    Kommentar


    • #3
      Die mysql_* Erweiterung ist veraltet und wird in der nächsten PHP-Version entfernt. Zudem ist deine Query anfällig für SQL-Injections (aktuell nicht, aber falls du Variablen in dein Insert nimmst).
      Durch einen Wechsel auf mysqli_* oder PDO greifst du aufdie modernere API zu und hast die Möglichkeiten Prepared Statements zu benutzen die gegen Injections wirken.
      Ich persönlich bevorzuge PDO, schönes Tutorial: http://www.peterkropff.de/site/php/pdo.htm
      [COLOR=#A9A9A9]Relax, you're doing fine.[/COLOR]
      [URL="http://php.net/"]RTFM[/URL] | [URL="http://php-de.github.io/"]php.de Wissenssammlung[/URL] | [URL="http://use-the-index-luke.com/de"]Datenbankindizes[/URL] | [URL="https://www.php.de/forum/webentwicklung/datenbanken/111631-bild-aus-datenbank-auslesen?p=1209079#post1209079"]Dateien in der DB?[/URL]

      Kommentar


      • #4
        Und schau dir dringen mal das E-V-A Prinzip an, das ist ja ein herrliches Durcheinander.
        http://php-de.github.io/jumpto/eva-prinzip/
        The string "()()" is not palindrom but the String "())(" is.

        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


        • #5
          Danke für die Antworten. Ich hatte wohl ein paar veraltete Tutorials und werde mich sofort an das Erneuern des Codes kümmern.

          Kommentar

          Lädt...
          X