Javascript + PHP - Countdown

Joar, hier dein Code nochmal mit db eintrag .. mein Prob ist, das ich es nicht testen kann, weil ich immerwieder fehlermeldungen bekomm (hab MS Visual Studio C++ 6.0 drauf und da ist nen Debugger drin, der sich überall einmischt und ich nich weis, wie ich den stresser abstell) von wegen, var field = window.document.form.field.value; ist NULL oder kein Objekt, genauso bei var TargetTime = new Date();


Kann mir da einer disbezüglich helfen?
Axo und nochmal big für den Urcode@Operator_Jon
PHP:
<?php
include('connection.php');
$a_user = array("id" => "2");
$to_build = "1";
	$select = mysql_select_db ($db_game, $db);
	$uc = mysql_query("SELECT * FROM `construct`, `construction` WHERE construction.`ID` = construct.`b_id` AND construct.`member_id` LIKE \"$a_user[id]\" AND construct.`b_id` LIKE \"$to_build\"");
	$uc_menge = mysql_num_rows($uc);
		echo "Anzahl: $uc_menge";
	if(!$uc_menge){
	?>
<form name="form" action="<?php $_PHP_SELF ?>?action=build" method="post">
<input type="submit" value="verbessern" />
</form>
<?php
	}
	else{
		echo "doch was da ..";
		$a_data = mysql_fetch_array($uc);
		$data = $a_data[3]; //Bau seit ...
		$data = time() - $data;
		$data2 = $a_data[6]; //Bauzeit
		$data = $data2 - $data;
		echo "<form name'form'><input type='hidden' name='field' value='$data'</form>";
		if ($data2 <= $data){
    		$query = "DELETE FROM `construct` WHERE construct.`b_id` = \"$to_build\"";
    		mysql_query($query);
		}
		else{
?>
<SCRIPT type="text/javascript">
        var field = window.document.form.field.value;
        var TargetTime = new Date();
        var TimeBeginn = TargetTime.getTime();

    function CountDown(myid, seconds) {
    var CurrentDate = new Date();
        var CurrentTime = CurrentDate.getTime();
        var TimeEnd = TimeBeginn + (seconds*1000);
        TargetTime.setTime(TimeEnd);
        var Targetbox=document.getElementById(myid);
        var OpenTime = Math.floor((TargetTime-CurrentTime)/1000);

        var s = OpenTime % 60;
        var m = ((OpenTime-s)/60) % 60;
        var h = ((OpenTime-s-m*60)/(60*60));
        var fh  = ((h < 10) ? "0" : "");
        var fm  = ((m < 10) ? ":0" : ":");
        var fs  = ((s < 10) ? ":0" : ":");

        var Time = fh+h+fm+m+fs+s;
        var OutputString=Time;

        if(OpenTime<=0) { // Event wenn der Countdown abgelaufen ist
            var OutputString="Jetzt!";
          }
          Targetbox.innerHTML=OutputString; // Ausgabe des Strings in der Betreffenden Zelle
      window.setTimeout("CountDown('" + myid + "', '" + seconds + "')", 1000);
    }
</script>
<span id='id'><script type='text/javascript'>CountDown('id', 'field');</script></span>
<?php
		}
	}
if ($action == "build"){
		$insert_into_db = mysql_query("insert into construct (member_id, b_id, time) values (\"$a_user[id]\",'$to_build',\"time()\"");
 		echo "<meta http-equiv=\"refresh\" content=\"4; URL=countdown.php\">Weiterleitung in 4 Sekunden!";
	}
?>
 
Ne MySql Version hatte Ich auch schon mit Radeon ausgearbeitet;)

Is echt cool geworden:)



Code:
<span id='id'><script type='text/javascript'>CountDown('id', 'field');</script></span>
Ändern in:
Code:
<span id='id'><script type='text/javascript'>CountDown('id',field);</script></span>
Dann sollte das Problem behoben sein!
Du übergibts ja das hidden Feld, nicht den Text "field", klar soweit?

Das mit TargetTime kann Ich mir irgendwie nicht erklären:(
 
Ich kenn mich in Java aber leider absolut nihct aus .. und so wie du mir das sagtest mit dem Feld, das funktzt auch net, hatte es vorher ja auch so und nun wieder so und bekomm noch die selben feher .. kann man den beiden variablen nich noch auf nen anderen weg ihren wert zuweisen ? wird da irgendwas vielleicht nicht richtig ausgelesen ? also wenn ich mir den Quellcode ausm browser anschau dann steht ja im formular nen wert, irgendwas mit 29.... also hat ers doch berechnet, aber warum nimmt er's nicht, hab ich irgendwelche Variablen im JavaScript nicht angepasst, die ich in php geändert hab zum beispiel das ding mit der id ...
 
Tust Du mir einen gefallen und prüfst das nächste mal den code nochmal?
Code:
echo "<form name'form'><input type='hidden' name='field' value='$data'</form>";
ändern in:
Code:
echo "<form name'form'><input type='hidden' name='field' value='$data'></form>";
 
Joar, vielen Dank, aber das hilft nicht, hab immernoch die selben Fehlermeldungen per PopUp


PHP:
echo "<form name=\"form\"><input type='hidden' name='h_field' value='$data'></form>";

So muss es aussehen, jetzt funktzt .. big @ jon
 
Zuletzt bearbeitet:
nur irgendwie funktionieren die letzen paar Zeilen, mit der Eingabe in die DB nicht .. ich hab mal nen echo mit den Werten hin gemacht, aber das wird erst garnicht ausgegeben ...die Adresse wird allerdings geparset ..
 
PHP:
$insert_into_db = mysql_query("insert into construct (member_id, b_id, time) values (\"$a_user[id]\",'$to_build',\"time()\"");
ändern in:
PHP:
$insert_into_db = mysql_query("insert into construct (member_id, b_id, time) values ('".$a_user[id]."','".$to_build."','".time()."'");
 
Zuletzt bearbeitet:
, aber wie gesagt geht er erst garnicht dorthin. Kannst mir mal Alternativen für die Ausgabe "Jetzt!" in Java geben? Zum Beispiel ne Weiterleitung zu ner Seite x.php?blub=bla&etc=soweiter

?
im vorraus

P.S.: Wenn ich es mal schaffen sollte, das mein Project einigermaßen läuft, zählst du zu meinen ersten Beta-Usern *g*
 
Zurück