Variable in datenbank schreiben

  • Variable in datenbank schreiben

    Hey Leute

    Mein Usersystem und der rest funktioniert jetzt tadellos jedoch soll in mein Messagesystem automatisch der Absender (aktive User) eingetragen werden. Das gleiche gilt für das auslesen der Einträge. Es sollen nur die Einträge des aktiven Benutzers angezeigt werden.


    Die Variable in der ich den usernamen speichere heisst $username. Das auslesen mit des Usernamens mit $username = $_SESSION["user_nickname"]; funkttioniert tadellos.
    eintragen.php

    Quellcode

    1. <html><head>
    2. <title>Gaestebuch</title>
    3. </head><body>
    4. <h1>Unser Gästebuch</h1>
    5. <?php
    6. include ("../session/checkuser.php");
    7. $username = $_SESSION["user_nickname"];
    8. echo $username;
    9. // registrierte User auslesen aus der Tabelle users in der datenbank
    10. $tabellenname="benutzerdaten";
    11. $sql="SELECT Nickname FROM $tabellenname";
    12. $link = mysql_connect("localhost", "root", "");
    13. mysql_select_db("usersystem", $link);
    14. $result = mysql_query($sql, $link);
    15. for($i=0;$i<mysql_num_rows($result);$i++)
    16. {
    17. $ergebnis[$i]=mysql_fetch_array($result);
    18. }
    19. for($i=0;$i<count($ergebnis);$i++)
    20. {
    21. echo $ergebnis[$i]['Nickname'];
    22. }
    23. //$_POST['flag']==1, wenn das Formular abgeschickt wurde
    24. if($_POST['flag']==1)
    25. {
    26. //Leerstellen entfernen
    27. $_POST['empfanger']=trim($_POST['empfanger']);
    28. $_POST['betreff']=trim($_POST['betreff']);
    29. $_POST['message']=trim($_POST['message']);
    30. //evt. vorhandenen HTML-Code entfernen
    31. $_POST['empfanger']=strip_tags($_POST['empfanger']);
    32. $_POST['betreff']=strip_tags($_POST['betreff']);
    33. $_POST['message']=strip_tags($_POST['message']);
    34. //Sonderzeichen mit htmlentities ersetzen
    35. $_POST['empfanger']=htmlentities($_POST['empfanger']);
    36. $_POST['betreff']=htmlentities($_POST['betreff']);
    37. $_POST['message']=htmlentities($_POST['message']);
    38. //testen, ob Felder ausgefüllt sind
    39. if(!$_POST['empfanger']){$fehler="Bitte geben Sie einen
    40. Empf&auml;nger ein. <br>";}
    41. if(!$_POST['betreff']){$fehler.="Bitte geben Sie eine
    42. Betreffinformation ein. <br>";}
    43. if(!$_POST['message']){$fehler.="Bitte geben Sie eine Nachricht ein.
    44. <br>";}
    45. //Wenn Fehler vorhanden, die Textausgabe formatieren und
    46. //$_POST['flag'] zurücksetzen, damit das Formular erneut
    47. //angezeigt wird
    48. if($fehler)
    49. {
    50. $meldung="<h2><font color=red>".$fehler."</font></h2>";
    51. unset($_POST['flag']);
    52. }
    53. //Es liegt kein Fehler vor, also Speichern der
    54. //Informationen in der Datenbank
    55. else
    56. {
    57. //Verbinden zur Datenbank
    58. $link = mysql_connect("localhost", "root");
    59. mysql_select_db("usergastbuch", $link);
    60. $tabellenname="gastbuch";
    61. //SQL-String zusammenbauen
    62. $sql="INSERT INTO $tabellenname (absender, empfanger, betreff, message, zeit)
    63. values ( '".mysql_real_escape_string($_POST['absender'], $link)."',
    64. '".mysql_real_escape_string($_POST['empfanger'], $link)."',
    65. '".mysql_real_escape_string($_POST['betreff'], $link)."',
    66. '".mysql_real_escape_string($_POST['message'], $link)."', now())";
    67. //SQL-String an die Datenbank schicken
    68. mysql_query($sql, $link);
    69. $meldung="<h2><font color='red'>Ihre Angaben wurden aufgenommen und
    70. werden in Kürze in unserem Gästebuch eingetragen.</font></h2><a
    71. href=\"listing_12_3.php\">Weiter</a>";
    72. }
    73. //Ausgeben der Meldung
    74. echo $meldung;
    75. }//Ende $_POST['flag']==1
    76. if(!$_POST['flag'])
    77. {
    78. ?>
    79. <form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    80. <input type="hidden" name="flag" value="1">
    81. <?php
    82. echo '<select name="absender" value='.$_SESSION['user_nickname'].'></select>';?>
    83. <p>Empf&auml;nger:<br>
    84. <select name="empfanger">
    85. <?php
    86. for($i=0;$i<count($ergebnis);$i++)
    87. {
    88. echo '<option>'.$ergebnis[$i]['Nickname'].'</option>';
    89. }
    90. ?></select></p>
    91. <p>Betreff:<br>
    92. <input type="text" name="betreff" value="<?php echo
    93. $_POST['betreff']; ?>"></p>
    94. <p>Ihre Nachricht:<br>
    95. <textarea name="message">
    96. <?php echo $_POST['message']; ?>
    97. </textarea>
    98. </p>
    99. <input type="submit" value="eintragen">
    100. </form>
    101. <?php
    102. }
    103. ?>
    104. </body></html>
    Alles anzeigen


    auslesen.php

    Quellcode

    1. <?php
    2. //aktiven User auslesen
    3. include ("../session/checkuser.php");
    4. $username = $_SESSION["user_nickname"];
    5. echo $username;
    6. //Auslesen der Einträge
    7. $tabellenname="gastbuch";
    8. $sql="SELECT absender, empfanger, betreff, message, zeit FROM $tabellenname
    9. WHERE empfanger='.$username.' ORDER BY zeit DESC ";
    10. $link = mysql_connect("localhost", "root");
    11. mysql_select_db("usergastbuch", $link);
    12. $result = mysql_query($sql, $link);
    13. for($i=0;$i<mysql_num_rows($result);$i++)
    14. {
    15. $ergebnis[$i]=mysql_fetch_array($result);
    16. }
    17. ?>
    18. <html>
    19. <head>
    20. <title>Gaestebuch</title>
    21. </head>
    22. <body>
    23. <h1>Unser Gästebuch</h1>
    24. <?php
    25. //Ausgeben der Einträge
    26. for($i=0;$i<count($ergebnis);$i++)
    27. {
    28. echo "<table border=\"1\" width=\"400\"><tr><td>
    29. ".$ergebnis[$i]['datum']." </td><td> ".$ergebnis[$i]['absender']." </
    30. td></tr>";
    31. echo "<tr><td colspan=\"2\"> ".$ergebnis[$i]['betreff']." </td>
    32. </tr>";
    33. echo "<tr><td colspan=\"2\"> ".$ergebnis[$i]['message']." </td>
    34. </tr></table>";
    35. }
    36. ?>
    37. </body> </html>
    Alles anzeigen


    Danke für eure Hilfe