Haumis wbb hilfe (http://haumis-wbb-hilfe.de/wbb2/index.php)
- WBBLITE (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=67)
-- Es klappt nicht (http://haumis-wbb-hilfe.de/wbb2/board.php?boardid=71)
--- Eintragsseite (http://haumis-wbb-hilfe.de/wbb2/thread.php?threadid=2995)


Geschrieben von Hangasilly am 25.09.2017 um 18:41:

  Eintragsseite

Heyho zusammen...

ich hab da glaub ich mal wieder ein etwas komplexeres Problemchen :-\ ...

Ich hab vor ner weile mal für mein Forum mit Haumis Hilfe - Danke an dieser Stelle auch nochmal - ne Seite gebaut, wo sich user eintragen können um an Events teilzunehmen...

Das ganze war mit Countdown und allem möglichen an Optionen - die Seite funktioniert auch einwandfrei...
Nun isses aber so, dass ich die Seite nochmal brauche... das ganze existiert auch in meinem kleinen Forum schon und funktioniert zum größten Teil so, wie ich will...

Mein einziges Problem is, dass ich noch einen DB-Eintrag machen und auch anzeigen will...
ich hab ne zusätzliche Spalte in meiner DB gemacht, eingetragen wirds darin auch wies soll, aaaaaber... ich kriege das ums verrecken nciht ausgegeben :-( :-(


Es handelt sich dabei glaub ich um diesen PHP-Code, wo irgendwo ein Fehler is:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
$auswahl = "SELECT * FROM bb1_event_config_spielchen";
$wahl = mysql_query($auswahl);		
$ds = mysql_fetch_object($wahl);
$event = $ds->event;  

eval("\$tpl->output("".$tpl->get("eintragseite_spielchen")."");");
if($action=="eintragseite_spielchen") {
	$auswahl = "SELECT * FROM bb1_event_config_spielchen";
	$wahl = mysql_query($auswahl);		
	$ds = mysql_fetch_object($wahl);
	$event = $ds->event; 	
	eval("\$tpl->output("".$tpl->get("eintragseite_spielchen")."");");
}


$auswahl = "SELECT * FROM bb1_event_config_spielchen";
$datum = mysql_query($auswahl);		
$ds = mysql_fetch_object($datum);
$date = $ds->date; 

eval("\$tpl->output("".$tpl->get("eintragseite_spielchen")."");");
if($action=="eintragseite_spielchen") {
	$auswahl = "SELECT * FROM bb1_event_config_spielchen";
	$datum = mysql_query($auswahl);		
	$ds = mysql_fetch_object($datum);
	$date = $ds->date; 	
	eval("\$tpl->output("".$tpl->get("eintragseite_spielchen")."");");
	

}




Die Spalte in der DB heißt >> date <<.
Im TPL hab ich auch >> $date << als Ausgabevariable gewählt, aber er schreibt mir leider immer nur das hübse Wort Array an betreffende Stelle und ich weiß nciht warum *seufz*



Geschrieben von haumi am 25.09.2017 um 19:19:

  RE: Eintragsseite

Ich schau mir das morgen mal in Ruhe an.
Habe ich noch alle Zugänge?

LG
haumi



Geschrieben von Hangasilly am 25.09.2017 um 20:02:

  RE: Eintragsseite

HEy Haumi... Danke.. öäm nö... hatte ja Serverumzug...

kriegst PN^^



Geschrieben von haumi am 26.09.2017 um 21:35:

 

Das Formular wurde zweimal angezeigt - ist das richtig?

Ich habe die beiden Zeilen 129 und 135 mal auskommentiert.

Nun wird es einmal angezeigt mit dem Eintrag 16846.
Ist das auch richtig oder sollte dort ein Datum stehen 16. 8. 1946?

LG
hannes



Geschrieben von Hangasilly am 01.10.2017 um 16:21:

 

Ne passt so nun... was wars denn?!?

So dass ich dich nächste mal nciht belangen muss wieder^^

Falls du mir nun noch einen Wunsch erfüllen magst *gg:

Der Countdown müsste sich auf das Datum, dass eingegeben wird beziehen und eine fals-Abfrage bräuchte es ncoh, wenn das Datum nicht das richtige Format hat, sprich DD.MM.YYYY

Ich weiß, ich bin anstrengend... *gg



Geschrieben von haumi am 03.10.2017 um 15:49:

 

Ist 16846 das Datum?
Wenn ja wo wird es eingegeben.
Und soll die Anzeige auch da Format 16. 8. 1946?

LG
haumi



Geschrieben von Hangasilly am 03.10.2017 um 16:39:

 

Nein, das 16846 war nur ne wirre Eingabe erstmal, um den Eintrag in die DB zu testen...

Eingegeben wirds in dem Eingabefeld neben dem Datum halt...

sollte das Format

DD.MM.YYYY

kriegen dann, und falls falsch eingegeben eben ne die Meldung 'Bitte gibt ein Datum im Format DD.MM.YYYY ein'

Falls möglich wäre es auch nice, wenn vergangene Daten ne Falschmeldung auswerfen 'Das Datum liegt in der Vergangenheit - Bitte gib ein zukünftiges Datum ein!'
....



Geschrieben von haumi am 05.10.2017 um 16:10:

 

Teste mal ob es funktioniert.

LG
haumi



Geschrieben von Hangasilly am 06.10.2017 um 02:44:

 

hmmm ne, nu is iwas falsch...

sobald ich da was eingebe und 'Eintragen' klicke, krieg ich 'Diese Seite kann nicht angezeigt werden.... nach nem reload hab ich die Seite wieder wie zuvor, bevor ich was eingetragen habe...
Allerdings sehe ich grade, dass das Event nach dem reload übernommen wurde... nur mim Datum klappt das noch nicht



Geschrieben von haumi am 08.10.2017 um 23:31:

 

sollte jetzt klappen, auch die Meldung "Datum liegt in der Vergangenheit" funktioniert.

LG
haumi



Geschrieben von Hangasilly am 10.10.2017 um 19:56:

 

Sauber...

nun muss ich mir den Timer mal ansehen, dass der sich das Datum übernimmt... gucken wie und ob ich das schaffe :P -- iwelche Tipps?? *gg



Geschrieben von haumi am 10.10.2017 um 20:50:

 

???????????????????????



Geschrieben von Hangasilly am 11.10.2017 um 19:32:

 

Naja der Countdown zählt doch runter bis jeden 3. Samstag...

In dem Fall soll er aber bis eingegebenes Datum zählen halt...



Geschrieben von haumi am 15.10.2017 um 18:30:

 

Dazu muss eine php-Variable in Javascript eingebunden werden.
da suche ich noch wie es gehen soll.
Im Internet sind viele Vorschläge die bisher aber nicht geholfen haben.
Ich suche weiter aber vielleicht weiß jemand eine Lösung!

LG
haumi



Geschrieben von Hangasilly am 16.10.2017 um 10:42:

 

Super, danke dir...

ok nu weiß ich schonmal, dass ich nciht weiß, wies geht :P :D



Geschrieben von Hangasilly am 25.10.2017 um 20:31:

 

hmmm Kp ob dir das was hilft, aber habe nun zig mal gelesen, dass die Übergabe wohl so gehen soll?!?

code:
1:
2:
3:
var variable = "<?php echo $variable; ?>"; 



bin mir allerdings nicht wirklich sicher, wie man das in das vorhandene Countdown-Script einbinden muss...
Die Variable muss doch auch dann als TimeStamp deklariert sein, oder?!?

das is eindeutig weit von meinen Pseudofähigkeiten entfernt, schätz ich :-\



Geschrieben von haumi am 25.10.2017 um 22:38:

 

Die $variable ($timestamp3) liegt ja in der php Datei als Timestamp vor
und auch ich habe diese Version und einige andere schon ausprobiert - vergebens.

Im template muss in der Zeile var diff = then.getTime() - jetzt.getTime();
das then.getTime() ersetzt werden mit dieser Variablen, sobald sie in javascript sichtbar ist.

Ich falle wegen einer Augenoperation wahrscheinlich etwas aus.
Vielleicht findest du ja doch einen Weg diese php-Variable in den javascript Code einzubinden.

Ich schau auch mal weiter.

LG
haumi



Geschrieben von Hangasilly am 25.10.2017 um 22:47:

 

oha - augenOP?... dann mal alles Gute!!!!!

Ja ich teste mal weiter rum - mehr als kaputt gehen kanns ja nicht ;)



Geschrieben von Hangasilly am 09.11.2017 um 23:34:

 

Soooo... mal kurzes Update:

hab so einiges am Script (PHP Wie TPL) verändert, was sonst noch so aufer Liste Stand für die Seite...

Dabei kam mir grade son gedanke....
Der JS-Code is doch eigentlich nur so komplex, weil da die Rechnung von wegen 3. Samstag und Co noch drin ist, oder?
Auf meiner suche im WWW hab ich nen anderen Code gefunden, den man ggf. vllt. abändern könnte?

So scheint das wohl zu gehen?
JS-Code:
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
<script type="text/javascript">

function counter() {
<?php $variable = $timestamp3;?>
var variable = <? echo (json_encode($variable)) ?>;
var t = variable.split(/[- :]/);
var gametime = new Date(t[0], t[1]-1, t[2], t[3], t[4], t[5]);
var now = new Date();
var timeDiff = gametime.getTime() - now.getTime();
var timer = setTimeout('counter()');
if (timeDiff <= 0) {
        clearTimeout(timer);
    }
var seconds = Math.floor(timeDiff / 1000);
var minutes = Math.floor(seconds / 60);
var hours = Math.floor(minutes / 60);
var days = Math.floor(hours / 24);
hours %= 24;
    minutes %= 60;
    seconds %= 60;
document.getElementById("days").innerHTML = days;
document.getElementById("hours").innerHTML = hours;
document.getElementById("mins").innerHTML = minutes;
document.getElementById("sec").innerHTML = seconds;
}
</script>









Ausgabe:
code:
1:
2:
3:
4:
Die Anmeldefrist endet in: <label id=days></label>Tagen, <label id=hours></label> Stunden, <label id=mins></label> Minuten und <label id=sec></label> Sekunden
<script type="text/javascript">counter();</script>








Ich bin mir nun nur nicht so ganz im klaren, ob das mit
code:
1:
$timestamp3







so funktioniert?

Ausserdem geht da ja noch ne weitere Verarbeitung von aus... die eintragseite_u_spielchen.tpl wird ja dann aufgerufen, wenn die Zeit um ist, oder wie war das?!?
Da blick ich leider noch nicht so ganz durch... aber ich bleib dran ;)

edit:/ Was mir grad noch eingefallen ist, ich habe ja nur nen Datum in der DB... ich würd das gerne um 12Uhr Mittags an dem Datum auslaufen lassen, ist das möglich das im $timestamp3 mit reinzukriegen?!?

Stell ich mir grad so etwa vor:
code:
1:
2:
3:
$timestamp3 = $date + mktime(0,0,0,12,0,0);   




Wenn ichs richtig verstanden habe is ja "$date" das Datum aus der DB... und da dann halt 12 Stunden draufgerechnet?!?

In dem Zusammenhang bräuchte man aber einen neuen 'Seite-wechsel-dich' Zeitpunkt... der wäre dann quasi
code:
1:
2:
3:
$timestamp_seitenwechsel = $date


und dann
code:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
date_default_timezone_set("Europe/Berlin");
$timestamp = time();

$heute = date("d.m.Y",$timestamp);

If( $heute == $timestamp_seitenwechsel){
******Seite-wechsel-dich******
}else{
*****************eigentlicher Code**************
}



das is bestimmt nun voll murks *lach



Geschrieben von haumi am 10.11.2017 um 21:32:

 

Auf Grund einer Augen OP und noch einer bevorstehenden am 17. 11. soll ich nicht lesen und auch nicht am PC arbeiten.
Darum möchte ich das jetzt nicht weiter verfolgen.
Bedenken habe ich bei:
<?php $variable = $timestamp3;?>
wenn das funktioniert, dann sollte es machbar sein.
Wenn du bis Anfang Dezember noch nichts gefunden hast, kann ich mich denn wieder intensiv mit der Sache beschäftigen.

LG
haumi


Forensoftware: Burning Board 2.3.6, entwickelt von WoltLab GmbH