Seite 1 von 1

Spoiler für Rätsel-Lösung

Verfasst: 03.06.2014 22:20
von willi2010
Hallo in die Runde,
ich habe mal wieder eine Frage.

Wenn ich einen BBC-Spoiler zur Anzeige der Lösung eines Rätsels nutze, dann kann jeder sofort nachsehen, die Lösung posten und der Gag ist vorbei.
Ich suche eine Möglichkeit, dass der Spoiler erst 48 Stunden (oder eine ähnliche Zeit) nach dem Erstellen geöffnet werden kann.

Themen zum Spoiler gibt es massenweise, die Abhängigkeit von einer Zeit konnte ich nirgends finden.
Hat einer von Euch einen Tipp hierzu?

Re: Spoiler für Rätsel-Lösung

Verfasst: 04.06.2014 00:15
von HabNurNeFrage
Hi,

mit einem bbCode ohne weitere Programmierung macht das wenig Sinn, denn wenn man den Beitrag zitiert, kann man die Lösung sehen :wink:
Sowas spricht sich auch schnell rum, sodass das auch nicht lange gut geht, selbst wenn Du per JavaScript den Zeitpunkt der Veröffentlichung vorgibst.

Speichere folgenden Code als z.B. orakel.php und lade die Datei auf Deinen Webspace.
Vorher das gewünschte Datum und die Antwort eintragen.

Code: Alles auswählen

<?php

// DATUM DER VERÖFFENTLICHUNG:
$freigabe_datum = '2014-06-04 14:27';  // FORMAT: Jahr-Monat-Tag Stunde:Minute

// LÖSUNG:
$loesung = 'Die Antwort ist 42.';


$datum_formatiert = date('d.m.Y \u\m H:i', strtotime($freigabe_datum));
$info = 'Die Lösung erscheint am ' . $datum_formatiert . ' Uhr.';
$html_vor = '<!DOCTYPE html><html><head><meta charset="UTF-8" /><title>Rätsel</title></head><body><div>';
$html_nach = '</div></body></html>';
$jetzt = time();
$timestamp_freigabe = strtotime($freigabe_datum);
echo $html_vor;
if ($jetzt > $timestamp_freigabe) { echo $loesung; } else { echo $info; } 
echo $html_nach;

?>
Mit ein bissl probieren kannst Du das noch formatieren oder modifizieren.

Diese Datei rufst Du in einen bbCode:
Nutzung:[orakel][/orakel]
HTML-Ersetzung:

Code: Alles auswählen

<object data="PFAD_ZU/orakel.php" type="text/html" style="width:300px;height:44px;border:0;"></object> 
PFAD_ZU/orakel.php darin muss durch die URL ersetzt werden, die auf orakel.php verweist.

Wenn Du mehrere Rätsel gleichzeitig laufen lassen willst, mache es mit mehreren Kopien. (orakel1.php => [orakel1] bbCode usw.)
Für neue Rätsel musst Du dann immer die orakel.php anpassen (Antwort & Datum im Format: Jahr-Monat-Tag Stunde:Minute) und neu hochladen.
Ist nicht besonders komfortabel, aber man kann es ja noch ausbauen...

LG

Re: Spoiler für Rätsel-Lösung

Verfasst: 04.06.2014 00:54
von Miriam
Und wenn diese orakel.php nicht orakel.php, sondern 2014-06-04-14-22.php heißt, ihren eigenen Namen herausfinden, den in einen Unix-Timestamp umwandeln kann, den dann mit dem aktuellen Timestamp vergleichen und entscheiden kann, dass die Sperrzeit abgelaufen ist... Naja, dann ist es schon fast annehmbar. :lol:
Wenn Du dann noch ein Formular baust, das die Daten an eine php Datei sendet, die wiederum (überschreibend) besagte <sperrfrist>.php erstellt, kann man es fast schon als perfekt bezeichnen.
Natürlich mit dem Datum, das im Formular übergeben wurde.

Re: Spoiler für Rätsel-Lösung

Verfasst: 04.06.2014 00:58
von HabNurNeFrage
Hi.

Jo, das wär prima :D

LG

Re: Spoiler für Rätsel-Lösung

Verfasst: 04.06.2014 09:11
von willi2010
Danke für die Tipps.

Da werde ich mich dann mal mit dem ersten Schritt befassen.
Die "Ausbauarbeiten" können dann später folgen.