1. Liebe Forumsgemeinde,

    aufgrund der Bestimmungen, die sich aus der DSGVO ergeben, müssten umfangreiche Anpassungen am Forum vorgenommen werden, die sich für uns nicht wirtschaftlich abbilden lassen. Daher haben wir uns entschlossen, das Forum in seiner aktuellen Form zu archivieren und online bereit zu stellen, jedoch keine Neuanmeldungen oder neuen Kommentare mehr zuzulassen. So ist sichergestellt, dass das gesammelte Wissen nicht verloren geht, und wir die Seite dennoch DSGVO-konform zur Verfügung stellen können.
    Dies wird in den nächsten Tagen umgesetzt.

    Ich danke allen, die sich in den letzten Jahren für Hilfesuchende und auch für das Forum selbst engagiert haben. Ich bin weiterhin für euch erreichbar unter tti(bei)pcwelt.de.
    Dismiss Notice

Editier-Möglichkeiten zeitlich begrenzen

Discussion in 'Programmieren' started by Crow1985, Dec 5, 2008.

Thread Status:
Not open for further replies.
  1. Crow1985

    Crow1985 Ganzes Gigabyte

    Moin,

    ich arbeite zur Zeit an einem elektronischen Schichtbuch. Soweit laufen die meisten Features schon ganz gut. Jedoch habe ich keine Idee, wie man die Editier-Funktion zeitlich begrenzen kann.
    Geht das überhaupt mit PHP, oder ist das eher was für ein Javascript?

    MFG
     
  2. kalweit

    kalweit Hüter der Glaskugel

    Du denkst am falschen Ende ;) - Ich gehe mal davon aus, dass die einzelnen Daten in einer Datenbank landen. Leg einfach ein zusätzliches Feld an, in dem du den Timestamp zum Zeitpunkt des Schreibens des Datensatzes festhälst. Nun musst du vor dem Ändern eines Datensatzes nur noch prüfen, wie alt der Timestamp ist. Als Komfortfunktion (die bereits genannte Prüfung solltest du unbedingt trotzdem machen, um Spielereien von "außen" zu verhindern) kannst du zusätzlich prüfen, wenn der Eintrag zum Editieren geöffnet werden soll und ggf. das Editieren gar nicht erst anbieten.
     
  3. Crow1985

    Crow1985 Ganzes Gigabyte

    Jep, landet alles in einer MySQL Datenbank. (hätte man erwähnen können:bse:)

    Schon getan.:)

    Das hab ich schon bewerkstelligt. Ausgeloggte User können nicht editieren (Prüfung auf User ID) und Beiträge können nur vom Ersteller geändert werden (kommt aber vllt. wieder raus).

    Ist die datadiff() Funktion eher warm oder kalt?

    Edit: OK geht, dankö@Kalweit:bet:
    Code:
    $connect = mysql_connect ("localhost", "schichtbuch", "password");
    if (!mysql_select_db ("schichtbuch", $connect))
    {
    	die ("Es konnte keine Verbindung zur Datenbank aufgebaut werden.");
    }
    	session_start();
    	$sql = "SELECT * FROM entries WHERE entry_id = ".$_GET['id'];
    	$result = mysql_query($sql);
    	$data = mysql_fetch_array($result);
    	$isOwner = false;
    	if ($_SESSION['user_id']!="" && $data['user_id']==$_SESSION['user_id']) {
    		$isOwner = true;
    	}
    	$inTime = false;
    	$created = $data['time'];
    	$diff = datediff("n",$created,date("Y-m-d H:i:s"));
    	if ($diff<=30) {
    		$inTime = true;
    	}
    ?>
    
     
  4. kalweit

    kalweit Hüter der Glaskugel

    Ich sehe ein $_GET['id'] in deinem Code. Ich hoffe mal, der Wert ist an der Stelle bereits auf "böse" Inhalte überprüft...
     
  5. Crow1985

    Crow1985 Ganzes Gigabyte

    Das sind die IDs der getätigten Einträge, die werden per auto increment von der Datenbank "vergeben".
     
  6. kalweit

    kalweit Hüter der Glaskugel

Thread Status:
Not open for further replies.

Share This Page