In eine Datei schreiben od. ähnl.

…ist eine Skriptsprache, die die Möglichkeiten von HTML stark erweitert. Sie wird eingesetzt, um Internet-Seiten flexibel und interessant gestalten zu können. Beispiel: Formulare mit Berechnungsfunktionen / animierte Schaltflächen oder einfach fallender Schnee. - Fragen - Antworten –Tipps hier hinein...

Moderator: lauras

Beiträge bitte im neuen Forum

In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Sonntag 6. März 2011, 19:00

Hallo
ich wollte eine Variable sicher in eien PHP Variable übertragen?
Ich hab mir überlegt die Variable von Js in eine Datei zu schreiben.(feht mir befehl finde nichts in selfhtml)
oder ich mache das mit einen Hidden feld aber da liet das problem das ich den Alten wert zum vergleichen brauch.

ich brauche dann auch noch eine Möglichkeit umgekehrt von PHP zu Javascript.

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Sonntag 6. März 2011, 21:52

Mit JavaScript ist das nicht möglich, außer du willst einen Cookie erstellen.
Cookies sind die einzigen Dateien, die man mit JavaScript erzeugen und/oder ändern kann =/

Das einzige, was du machen könntest wäre via Ajax etwas an den Server schicken und so eine Variabel
übertragen und in eine Datei schreiben lassen kannst :/
Aber ansonsten fällt mir keine Möglichkeit ein.. :/
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Montag 7. März 2011, 17:39

haha ajax.

versuche mich schon seit 2 Wochen mit Xajax und bisjetzt hat noch nichts geklappt!!!

und kann mann auch nichts in eine Datenbank schreiben?

und kann mann mit PHP auf einen Cookies zugreifen ?
und kann mann die auch ändern?

oder kann mann irgendwie anderst die Daten von PHP zu Javascript und umgekehrt übertragen?

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Montag 7. März 2011, 18:35

Also von PHP zu JavaScript geht das entweder via z.B beim ersten Seitenaufruf
Code: Alles auswählen
var meineGluckszahl = <?php echo $gluckszahl; ?>;
oder via Ajax.
Bei Ajax können wir 2Sachen gleichzeitig machen, zum einen können wir eine Datei aufrufen, die z.B. die übergebenen Werte in eine Datenbank schreibt und anschließend kann uns diese Datei noch Werte via echo übergeben.
Dafür wird meistens JSON verwendet :D PHP bietet da auch einige tolle Funktionen für:
Beim übergeben über Ajax zu PHP verwenden wir json_decode(); und erhalten aus einem JSON ein Array.
Beim übergeben von PHP zu JavaScript verwenden wir json_encode; und erhalten aus einem PHP-Array ein JSON.

Ein JSON (übrigens JavaScript-Objekt-Notation) sieht folgendermaßen aus:
Code: Alles auswählen
meinJson = {
    "meineGlueckszahl": 13,
    "meinLieblingswort": "Hallo",
    "einBoolscherWert": true,
    "auchEineFunktionGeht": function(){
        alert(this.meineGlueckszahl + " " + this.meinLieblingswort + " " + einBoolscherWert);
    }
Aufrufen können wir unsere Sachen einfach über den Variabelnamen.jsonVariabel in unserem Beispiel z.B.meinJson.auchEineFunktionGeht(); oder alert(meinJson.meinLieblingswort);
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Dienstag 8. März 2011, 16:00

hmm gut das mit den PHP zu Javascript is geklärt
aber anderstrumm

geht vielleicht das mann das value von einen Hidden Feld nutzt und das mit Javascript beschreiben kann oder auslesen
und wenn ja müsste mann da ja auch noch die Seite neu Laden?

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Dienstag 8. März 2011, 19:22

Dann mache ich 1x javascript:void(document.getElementById("entsprechendeIdDesHiddenAusDemQuellcode").value = 2000000000000000000;); und ich bin der King in deinem Spiel :P

Und ja, man müsste sonst die Seite neu laden.. wobei das an und für sich kein Problem ist :/
Dann ist aber eine JavaScript-Lösung sowieso überflüssig^^

Du musst dir halt wirklich einen guten Weg ausdenken, wie du die Rohstoffe sich vermehren lässt..
Eine Möglichkeit wäre es via Cronjob z.B. jede Minute ein Script laden zu lassen, welches die Rohstoffe die man bekommt ausliest und auf die derzeitigen aufrechnet^^ Aber das wäre furchtbar Serverlastig =/

Ne andere Möglichkeit wäre, dass wir uns merken, wann wir dem Spieler zuletzt Rohstoffe überwiesen haben (timestamp) und sobald dieser Spieler irgendeine Aktion macht errechnet man sich die Anzahl an Sek die dazwischen liegen und rechnet sich aus, was wir dem Spieler neu überweisen müssen^^
Aber hier läge ein Problem mit dem Ausbau von Gebäuden :/ Wobei wir das wieder mit einem Cronjob lösen könnten, der z.B. nur jede Halbe Stunde los geht.. oder damit, dass wir jedesmal wenn ein Spieler irgendwas macht, wir einige Spieler abarbeiten^^

(Wer auch jemals behauptet hat, dass Programmieren eines Browsergames wäre einfach, der lügt :P
Es ist wenn du es richtig gut machen willst, richtig aufwendig^^)
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Mittwoch 9. März 2011, 19:18

ehm das wäre schlecht wenn das so gehen würde.
mal ehrlich geht das???Also kann mann auch z.b. auf irgendeiner Website in den quelltext schauen und dann irgendeine Funktion abrufen??

hmm... gut das geht also so nicht also komm ich um Xajax nicht drumm herumm??

ehm trotzdem hab ich wenigstens ver such mit Javascript da ich das noch nicht wusste und binn jetzt bei einen Problem angekommen:

ich will die Zeit starten mit der Funktion
aber ich will das auf der Seite immer angezeigt wird ,in welcher Sekunde mann sich befindet

mein Versuch:
Code: Alles auswählen


function Zeit_starten()
{
    var jetzt = new Date();
    var Sekunden = jetzt.getSeconds();
    var Zeitk = 1;

    if (Sekunden == 1){document.write('Es sind ' + Sekunden + 'Sekunden vergangen');}
    if (Sekunden == 2){document.write('Es sind ' + Sekunden + 'Sekunden vergangen');}
    if (Sekunden == 3){document.write('Es sind ' + Sekunden + 'Sekunden vergangen');}
    if (Sekunden == 4){document.write('Es sind ' + Sekunden + 'Sekunden vergangen');}
    if (Sekunden == 5){document.write('Es sind ' + Sekunden + 'Sekunden vergangen');}
   /*  if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1) */


    return(jetzt, Sekunden, Zeitk);
}

was ist falsch oder Was habe ich nicht beachtet?

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Mittwoch 9. März 2011, 20:10

Ja.. es geht immer noch.. ich kann ganz einfach eine auf der Seite definierte Funktion aufrufen, oder einfach Elemente verändern.
Es ist wirklich ganz einfach, ein dummes aber funktionierendes Beispiel:
Beim Antworten auf diesen Beitrag fügst du gleich einfach mal folgenden Code in die Adresszeile (dort wo die URL der derzeitigen Seite drinsteht :P Also sowas wie http: // www . html-seminar . de / forum / posting.php? ... )
javascript:void(document.getElementById('colour_palette').style.display = 'block');
Oder wenn du umbedingt eine Funktion haben willst, die du über die Adresszeile aufrufen willst:
javascript:void(find_username("Sarkkan"));

Und doch, du kämst um xAjax rum.. lerne einfach anständig PHP und JavaScript.
Nichts geht darüber, wenn du die Sprachen richtig kannst, jedes Framework kann dir zwar Arbeit abnehmen, aber was ist, wenn ein Framework mal irgendetwas nicht liefert? Außerdem musst du einfach ein Gefühl für das Programmieren bekommen. Du musst lernen, wie du am Sinnvollsten Algorithmen schreibst und und und..

Zu deinem Code:
1. Ist der Code zwischen <script>?
2. Wird deine Funktion aufgerufen? z.B. via <body onload="Zeit_starten()">
3. Befindest du dich vllt. einfach nur in einer Sekunde, in der nichts ausgegeben wird?
4. Ich bin mir nicht sicher, ob deine return-Konstellation funktioniert

5. Wenn du das auf dem laufenden halten willst, müsstest du eher ein <span id="X"> gebilde basteln und die Funktion jede Sek aufrufen^^
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Donnerstag 10. März 2011, 14:06

ehm... ne das geht nicht mit den Javascript:void.

die seite sah genau so aus wie auch sonst.


naja das richtig lernen leicht gesagt im PHP kurs.com bin ich durch aber wo soll ich sonst noch weiter machen?

und ja ich möchte das das immer angezeigt wird wenn die Sekunde wechselt.(das mit den span kapier ich nicht)

hier erstmal der code eigentlich is das was du gesagt hast eingehalten:
Code: Alles auswählen
 <script language="javascript" type="text/javascript">
function 
Zeit_starten()
{
    var 
jetzt = new Date();
    var 
Sekunden jetzt.getSeconds();
    var 
Zeitk 1;

    if (
Sekunden == 1){document.write('Es sind ' Sekunden 'Sekunden vergangen');}
    if (
Sekunden == 2){document.write('Es sind ' Sekunden 'Sekunden vergangen');}
    if (
Sekunden == 3){document.write('Es sind ' Sekunden 'Sekunden vergangen');}
    if (
Sekunden == 4){document.write('Es sind ' Sekunden 'Sekunden vergangen');}
    if (
Sekunden == 5){document.write('Es sind ' Sekunden 'Sekunden vergangen');}
   
/*  if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1)
    if (Sekunden = 1) */


  /*  return(jetzt, Sekunden, Zeitk);
*/
}






</script>

<button onclick="Zeit_starten();">Sekunden</button>


zu 3. wie es sill ertmal nur zu den paar am anfang waas ausgegeben werden Wie kann ich mich da in einer Falchen Sekunde aufhalten?

zu 4. Das return ist eigentlich egal brauche diese Variablen nicht nochmal.

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Donnerstag 10. März 2011, 14:29

Öhm.. bei deinem Script passiert folgendes:
-> Es wird das aktuelle Datum genommen
-> wir holen uns die Sekunden (gerade z.B. 36)
-> wir schauen nach, was bei der If-Abfrage bei 36 passieren soll
-> 36 ist nicht definiert, ergo: wir machen nichts.

folgendes Script ist geschickter:
Code: Alles auswählen
<script>

window.onload = function(){
    window.setInterval("setTime()", 100);
}

function setTime(){
    var Zeit = new Date();
    var Hours = Zeit.getHours(), Minutes = Zeit.getMinutes(), Seconds = Zeit.getSeconds();
    document.getElementById("time").innerHTML = Hours + ":" + Minutes + ":" + Seconds;
}

</script>

<!-- HTML-TEIL -->
<span id="time"></span>
Was machen wir?
Wir geben sagen, dass sobald die Seite fertig geladen ist, eine Funktion ausgeführt wird.
In dieser definieren wir einen Interval (ständig auftretendes Ereignis) in der wir uns das aktuelle Datum holen.
Dieses Datum setzen wir dann in das Element mit der ID "time". Fertig :D
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Freitag 11. März 2011, 22:40

ok Danke das geht ABER ICH WILL NOCH DIE sEITE NEU lADEN DAS HAB ICH NOCH NICHT RAUS

oh schuldigung ich bin ausversehen auf die hässliche Taste gekommen.(bin zu Faul das jetzt zu Ändern)
ich hab schon probiert aber iregentwie ging es nicht:

ich hab es so gemacht: window.onload('index.htm');

kann mir jemand helfen??

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Freitag 11. März 2011, 23:18

Was willst du den mit window.onload('index.htm'); bewirken? O.o
1. onload ist keine Funktion, sondern quasi eine Variabel/Eigenschaft des Window-Objekts.
2. ..für den Browser hast du da einen String übergeben.. sehr schön :D Und was soll er mit dem String machen?^^'
//Ach ja.. ich kann es gar nicht oft genug sagen.. sometimes I believe compiler ignores all my comments.. :P
3. für das Neuladen der Seite entweder
Code: Alles auswählen
<meta http-equiv="refresh" content="5; URL=meine/Seite.html" />
<!-- Die 5 steht für 5Sekunden nach Seitenaufruf soll man zu meine/Seite.html weitergeleitet werden. Ich glaube das es theoretisch auch möglich ist den URL Teil weg zu lassen^^ -->
ODER [Wobei das nicht direktes neuladen ist]
<a onclick="location.href = 'meine/Seite.html';">Hier klicken</a>
ODER
<a onclick="location.reload(true);">Lade diese Seite neu</a>
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Samstag 12. März 2011, 17:40

ehm ja war zwar nicht das wass ich wollte, aber ich konnte es mir zusammen reimen nämlich so:
Code: Alles auswählen
location.reload(true);


es geht .

mfg Truck007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Truck007 » Samstag 12. März 2011, 19:41

Hallo nochmal.

ich hab folgendes Problem, ich glaube es kommt davon das die Seite ständig neu geladen wird aber binn mir nicht sicher.
Code: Alles auswählen
<title>Titel</title>
<?php


$Boolean_1 = $_GET['addieren'];
echo $Boolean_1;
if( $Boolean_1 == "X" )
{
    $Geld = $Geld + 500;
    $res  = $res  + 1000;
}else{

}
echo $Geld . $res;
?>
Geld: <?php echo $Geld; ?><br />
Ressourcen: <?php echo $res; ?>   <br />

<?php


?>
<script language="javascript" type="text/javascript">
window.onload = function(){
    window.setInterval("setTime()", 100);
}
var Zeit = new Date();
var Minutenkontrolle = Zeit.getMinutes();
function setTime(){
    var Zeit = new Date();
    var Minute  = Zeit.getMinutes();
    var Sekunde = Zeit.getSeconds();
    document.getElementById("time").innerHTML = 'Es sind ' + Sekunde + ' Sekunden vergangen.';

    var jetzt = new Date();
    var minute = jetzt.getMinutes();

    if(minute != Minutenkontrolle){
        document.Ubergabe_zu_PHP.addieren.value = 'X';
        Minutenkontrolle = minute;
        location.reload(true);
    }else{
         document.Ubergabe_zu_PHP.addieren.value = '';
    }
}
</script>
<noscript>
Bitte aktivieren sie Javascript in ihren Browser.
Javascript wird Dringend ben&ouml;tigt!!!
</noscript>
<!-- HTML  -->
<span id="time"></span>
<form name="Ubergabe_zu_PHP" action="" method="get" enctype="text/html">
<input type="text" name="addieren" value="" id="addieren" />
</form>




es wird nie Dazuaddiert es muss ja immer 500 bzw. 1000 dazuaddiert werden?
oder muss ich das in eine Dateischreiben lasssen und jedesmal auslesen??

ps: am ende schreib ichh alles in DB nur erstmal so zum testen


mfg Truck 007
Truck007
HTML-Freund
 
Beiträge: 135
Registriert: Freitag 16. Juli 2010, 08:44
Wohnort: Hohenmölsen

Re: In eine Datei schreiben od. ähnl.

Beitragvon Sarkkan » Samstag 12. März 2011, 19:58

Durch einen Seitenreload wird im Normalfall kein Formular abgeschickt, ergo bekommst du keine $_GET-Variablen.. Du könntest aber z.B. auf .php?addieren=X verlinken.. dann würde eine GET-Variabel übermittelt^^
Auch wenn nichts erhöht würde.. weil nirgends wird der neue Wert eingespeichert :/
Benutzeravatar
Sarkkan
HTML-Acrobat
 
Beiträge: 1557
Registriert: Montag 5. April 2010, 01:46
Wohnort: Bei Köln

Nächste

Beiträge bitte im neuen Forum

Zurück zu JavaScript

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron