php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2004

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 27.07.2004, 10:10  
Gast
 
Beiträge: n/a
Standard php + Javascript, Variablenübergabe

Hallo!
Kurze Beschreibung:
Virtuelles Fußballspiel. Das Endergebnis steht vorher fest.
Dazu generiere ich mit php Tore und Chancen für 2 Mannschaften. Diese fallen zufällig von Minute 0 bis 60 (für Testzwecke Sekunden). Die Chancen und Tore werden in einem Array gespeichert.
Dieses soll an Javascript übergeben werden.
Javascript lässt eine Uhr mitlaufen. Viel in Minute 18 ein Tor soll genau in diesem Moment eine Nachricht erscheinen.

Getrennt voneinander funktioniert schon folgendes:
php generiert Chancen und Tore. Das Endergebnis wird nicht überschritten. Das Array wird gebildet.
javascript gibt die Uhr aus. Für Testzwecke habe ich eine Chance variable deklariert, die einen random Wert zwischen 0 und 60 generiert. Ist er zB 18 kommt in Sekunde 18 auch wirklich eine Message.

Jedoch muss ich die beiden Sprachen miteinadner kombinieren.
JavaScript muss wissen, wann die Chance von wem kam und wieviele Variablen deklariert werden müssen.

Vielleicht hat ja einer eine Idee, wie ich sowas umsetzen kann.
Danke.

Hier der Testcode Jjavascript:
Code:
<script Language="JavaScript">


var ZeitString, DatumsString = "";

var Chance = <? print rand(0,60);?>;
var Chance2 = <? print rand(0,60);?>;
document.write(Chance+" " +Chance2);

function ZeitDatum(Chance) {
        Jetzt = new Date();
       
        //aktuelle Uhrzeit
       
        Sekunden = Jetzt.getSeconds();
       	ZeitString = Sekunden;
     
        document.Uhr.Zeit.value = ZeitString;
	 	if(Chance==ZeitString){
		document.Uhr.Tor.value += ("Tor in Minute ") + Chance + "\n";	
		}
	 	setTimeout("ZeitDatum(<? print $test;?>)", 1000);
		
}

</SCRIPT>
<form name="Uhr">
<input type="text" name="Zeit" size="50" value="">
<TEXTAREA name="Tor" size="50" value=""></TEXTAREA>

</form>
</body>
Und hier php:
Code:
<?
$heim = "Saarbrücken";
$gast = "Nürnberg";

$heimtore=2;
$gasttore=1;

$toreheim=0;
$toregast=0;

$j=0;

while($toreheim < $heimtore or $toregast < $gasttore){
	$chanceWann[$j]= rand(0,60);
	$chanceWen = rand(1,2);
	$chanceTor= rand(1,2);
	 if($chanceTor==1){
		if($chanceWen==1 and $toreheim < $heimtore)
		{
			
			print "Tor für Saabrücken in Minute ". $chanceWann[$j]." 
";
			
			$toreheim++;
			$j++;
		}
		if($chanceWen==2 and $toregast < $gasttore)
		{
			print "Tor für Nürnberg in Minute ". $chanceWann[$j]." 
";	
			$toregast++;
			$j++;
		}
	 }
	else {
		if($chanceWen==1){
			print "Gefährliche Torchance für Saarbrücken in Minute ". $chanceWann[$j]." !
";
			$j++;
		}
		else{
			print "Gefährliche Torchance für Nürnberg in Minute ". $chanceWann[$j]." !
";
			$j++;
		}
	}
}
asort($chanceWann);
foreach($chanceWann as $test){

echo $test."
";
}
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 27.07.2004, 10:18  
Gast
 
Beiträge: n/a
Standard

erklär mal bitte, wann welches Skript wie lange laufen soll.
Ich fürchte da liegt noch ein Verständnisproblem bei den Abläufen http/php/html vor - aber ich kann mich irren
 
Alt 27.07.2004, 10:23  
Gast
 
Beiträge: n/a
Standard

Ja genau da fangen die Probleme schon an.
Ich habe mir gedacht das php script anfangs auszuführen in kürzest möglicher zeit und die Ergebnisse direkt alle an JavaScript zu übergeben, mit dem es einfacher ist eine aktuelle zeit einzublenden.
Später sind das ja minuten und keine Sekunden.
 
Alt 27.07.2004, 10:53  
Gast
 
Beiträge: n/a
Standard

Du könntest das php-Skript setTimeout-Aufrufe in das Ausgabe-Dokument schreiben lassen. Wenn z.B. Hinterdipfelmoserhausen in der 23. Minute ein Tor schießt
Code:
window.setTimeout("Tor('Hinterdipfelmoserhausen', 23)",23*60*1000);
Die Javascript-Funktion Tor(mannschaft, wann) gibt dann das gewünschte aus.
siehe auch: http://de.selfhtml.org/javascript/ob...tm#set_timeout
 
Alt 27.07.2004, 13:26  
Gast
 
Beiträge: n/a
Standard

Danke schonmal, aber das berücksichtig nicht wenn z.B. das erste Tor in Minute 23 fällt , beim nächsten Durchlauf aber in Minute 9. Das muss ja chronologisch geordnet sein.
 
Alt 27.07.2004, 13:31  
Gast
 
Beiträge: n/a
Standard

Zum Einen kannst Du das vorher in php sortieren.
Zum Anderen führt auch
Code:
window.setTimeout("Tor('Hinterdipfelmoserhausen', 23)",23*60*1000);
window.setTimeout("Tor('Kleintupfingen', 9)",9*60*1000);
dazu, dass erst Tor('Kleintupfingen', 9) ausgeführt wird und dann Tor('Hinterdipfelmoserhausen', 23)
 
Alt 27.07.2004, 13:54  
Gast
 
Beiträge: n/a
Standard

Moment jetzt bin ich verwirrt. Ich dachte dass ich die Ergebnisse jetzt doch direkt ausgeben soll. Aber wenn ich sie mit php sortieren soll, dann muss ja jedes Tor schon vorher bekannt sein.
Wenn die Schleife das erste mal durhclaufen wird kommt zB 23 raus.
Dann wartet er 23 Minute. Beim zweiten mal kommt 9 raus dann wartet er 9 Minuten. Dann fällt das Tor ja in der 32. Minute.
 
Alt 27.07.2004, 14:01  
Gast
 
Beiträge: n/a
Standard

nein, php und javascript sind völlig voneinander getrennt.
Der server (auf dem das php abgearbeitet wird) und der client (samt javascript) kommunizieren nur über http miteinander (in der Regel).
Der client stellt eine Anfrage und der server pustet die die Antwort (so schnell wie möglich und/oder konfiguriert) als Zeichenstrom zurück. Ggf. interpretiert der client das als html mit eingebettetem javascript - ob und wie der client das tut, kriegt der server schon garnicht mehr mit. Wenn dadurch (oder irgendwelche javascript-Funktionen) die Anzeige verzögert wird, ist das dem server völlig schnurz. Sobald er sämtliche Zeichen des Ausgabedokuments (der Ausgabe des php-Skripts) losgeworden ist, ist die Aufgabe für ihn beendet und der client muss sehen, wie er mit dem Dokument klar kommt und was er damit macht.
 
Alt 27.07.2004, 14:06  
Gast
 
Beiträge: n/a
Standard

ok so ganz hab ich das nicht verstanden aber trotzdem Danke.
Ich habe es jetzt soweit, dass er mir 4 Tore in 4 verscheidenen Minuten generiert und diese in einer textarea zur rechten Zeit ausgibt.
Falls ich nicht weiterkomme meld ich mich nochmal
 
Alt 27.07.2004, 14:22  
Gast
 
Beiträge: n/a
Standard

Stell Dir ein Restaurant vor. Der Gast ist der client/browser.
Dieser gibt eine Bestellung an den Ober (webserver).
Der Ober sieht, dass es sich um eine Essensbestellung handelt, also gibt er sie an den Koch(php) weiter.
Der Koch bearbeitet die Bestellung und stellt das gewünschte auf ein Tablet.
Der Ober trägt das Tablet zum Gast.
Sobald das Essen auf dem Tisch steht, fängt der Gast an, irgendwas damit zu machen.

Der Gast hat nur eine vage Vorstellung, was auf seine Bestellung hin zurückkommen wird. Ausserdem sieht er nicht, wie der Koch das anstellt - vielleicht ist auch garkein Koch da; oder ein anderer.... Aber er ist sich sicher, dass der Ober das Resultat zurückbringen wird.
Der Ober weiss nicht, was der Gast will und was der Koch macht. Er nimmt nur die Bestellung entgegen und bringt das Tablet zurück, sobald der Koch fertig ist (an dieser Stelle stimmt die Analogie nicht ganz, aber fast...).
Der Koch bleibt in der Küche und muss nicht mit ansehen, wie der Gast die Filetspitzen in billigem Tomatenketchup ertränkt, mit der Gabel zerdrückt und dann in sich reinlöffelt. Er weiss nicht mal, für wen er das alles zusammengestellt hat. Nur die Bestellung und den Ober hat er gesehen.

(sorry, ich habe gestern wieder mal die Verarschung von Victor Toriani gesehen. Er wird als Feinschmeckerkoch engagiert und muss miterleben, wie seine Gäste das gute Essen zermatschen und mit Ketchup versauen. Der arme Mann )
 
 


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
http user mit Javascript abfrage tennessee HTML, Usability und Barrierefreiheit 3 31.10.2006 13:18
Unsichtbares Formularfeld mit Javascript ansprechen mAy^daY HTML, Usability und Barrierefreiheit 6 13.08.2006 21:25
PHP + Javascript + MYSQL socke PHP Tipps 2006 4 02.04.2006 22:02
Wo Php wo JavaScript dethlef14 Off-Topic Diskussionen 3 03.03.2006 12:34
Ist JavaScript OOP sinnvoll? HStev HTML, Usability und Barrierefreiheit 2 26.01.2006 12:11
Variable wird geändert bei Übergabe an Javascript PHP Tipps 2007 4 17.12.2005 16:53
Javascript durch PHP ausdrücken PHP Tipps 2007 10 09.11.2005 20:04
[Erledigt] Mit PHP prüfen ob JavaScript beim Browser aktiviert ist? HTML, Usability und Barrierefreiheit 3 21.07.2005 12:43
[Erledigt] Mouseover Menü in Javascript und PHP Lösung ? PHP Tipps 2005-2 4 20.07.2005 08:48
Php soll Javascript beschleunigen PHP Tipps 2005 4 17.04.2005 12:56
Javascript ON/OFF Connar PHP Tipps 2005 3 03.04.2005 09:47
Wert des Attributs "class" mit JavaScript dynamisc Stümper HTML, Usability und Barrierefreiheit 1 08.09.2004 10:33
JavaScript in JavaScript geschriebene Html-Datei einbinden. woods HTML, Usability und Barrierefreiheit 6 06.09.2004 18:33
Javascript HTML, Usability und Barrierefreiheit 5 31.08.2004 18:30

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
variablenübergabe php javascript, javascript variablenübergabe, php javascript variablenübergabe, essensbestellung php, variablenübergabe php an javascript, php essensbestellung, variablenübergabe zwischen php und javascript, variablenübergabe von php an javascript, variablenübergabe von php nach javascript, variablenübergabe php java, php formular zeit per java übergeben, php zeit an javascript übergeben, javascript php kommunikation, php variable nach javascript bei eingebettetem javascript, javascript zeit übergeben, settimeout javascript mitlaufen, php java kommunikation, variablenübergabe von php zu javascript, php mit javascript variablenübergabe, kommunikation php javascript

Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.