Marcel Fischer: Array von Javascript zu PHP und umgekehrt

Hallo,

ich suche schon seid Tagen nach einer Lösung für mein Problem und hoffe nun, dass mir hier jemand weiterhelfen kann. Ich bin auf der Suche nach einem einfachen Weg, wich ich ein Array von Javascript zu PHP übergeben kann und umgekehrt. Diesen Umweg will ich gehen, da ich Daten in eine Datei (datei.dat) schreiben oder aus dieser lesen will. In PHP ist das einfach zu lösen. In Javascript habe ich das auch hin bekommen, jedoch nur über ActiveX. Das geht leider nicht, weil ich ein App für das IPad schreiben will mit: http://www.genuitec.com/mobile/

Das Array könnte so aussehen:

in Javascript:
<script type="text/javascript">
arr = new Array("Marcel","Thomas","Jens");
//dieses Array an PHP übergeben
</script>

in PHP:
<?php
$arr = array("Marcel","Thomas","Jens");
//dieses Array an Javascript übergeben
?>

Vielen Dank im Voraus!

MFG
Marcel Fischer

  1. Moin!

    ich suche schon seid Tagen nach einer Lösung für mein Problem und hoffe nun, dass mir hier jemand weiterhelfen kann. Ich bin auf der Suche nach einem einfachen Weg, wich ich ein Array von Javascript zu PHP übergeben kann und umgekehrt. Diesen Umweg will ich gehen, da ich Daten in eine Datei (datei.dat) schreiben oder aus dieser lesen will. In PHP ist das einfach zu lösen. In Javascript habe ich das auch hin bekommen, jedoch nur über ActiveX. Das geht leider nicht, weil ich ein App für das IPad schreiben will mit: http://www.genuitec.com/mobile/

    Nutze JSON.

    PHP-seitig:
    $string = json_encode($arrayvar);
    $arrayvar = json_decode($string, true);

    Javascript-seitig solltest du die JSON-Fähigkeiten deines verwendeten Frameworks prüfen, insbesondere die Möglichkeit für Ajax-Requests mit JSON-Antworten. Hinsichtlich des Datentransports von Javascript zurück zu PHP wäre JSON aber vermutlich overkill, da PHP sehr gut POST-Requests verarbeiten kann und es in der Regel JS-Funktionen gibt, die einem ein Array passend für POST in einen Ajax-Request packen.

    - Sven Rautenberg

    1. Danke für deine Antwort!

      JSON habe ich mir schon mal angeschaut. Hab es aber leider nicht Verstanden. Von PHP zu JAVASCRIPT ist es kein Problem für mich, jedoch in die andere Richtung. Hab mein Code jetzt umgeschrieben, stehe aber jetzt wieder vor dem selben Problem. Gibt es in PHP eine Möglichkeit, eine Variable als String einzulesen (als Eingabefeld wie prompt)? wenn nicht, wie kann ich "einfach" eine Variable aus Javascript an PHP übergeben? Das Javascript und das PHP-Script sollte dabei in der selben PHP-Datei stehen. Ich bitte euch, mir ein Beispiel zu senden. Bin schon am verzweifeln.

      MFG
      Marcel Fischer

      1. Moin!

        Danke für deine Antwort!

        JSON habe ich mir schon mal angeschaut. Hab es aber leider nicht Verstanden. Von PHP zu JAVASCRIPT ist es kein Problem für mich, jedoch in die andere Richtung. Hab mein Code jetzt umgeschrieben, stehe aber jetzt wieder vor dem selben Problem. Gibt es in PHP eine Möglichkeit, eine Variable als String einzulesen (als Eingabefeld wie prompt)? wenn nicht, wie kann ich "einfach" eine Variable aus Javascript an PHP übergeben? Das Javascript und das PHP-Script sollte dabei in der selben PHP-Datei stehen. Ich bitte euch, mir ein Beispiel zu senden. Bin schon am verzweifeln.

        Ich kriege die Ahnung, dass du etwas willst, was nicht geht.

        In einer einzigen Datei ohne neuen Request geht es jedenfalls nicht, weil du nicht beachtest, welche Sprache wo und wann läuft:

        Erstmal läuft komplett PHP auf dem Server und schreibt ein Ergebnis als Kombination aus dem HTML und ggf. eben auch Javascript auf den Webserver. Dieser schickt den Quelltext dann zum Browser, der ihn interpretiert und das Javascript dann ausführt.

        Mit PHP kann man also recht einfach Werte in Javascript stecken, indem man den passenden Javascript-Quellcode "ausdruckt". Umgekehrt können Werte aus Javascript aber nur wieder zurück in PHP gelangen, wenn ein neuer Request vom Browser abgeschickt wird. Das ist im einfachsten Fall ein geklickter Link z.B. mit Fragezeichen und passenden URL-Parametern, oder ein Formular mit Feldern, oder ein Ajax-Request... In jedem Fall wird aber das PHP-Skript, auf das die URL dieses Requests abzielt, komplett neu gestartet und von vorn abgearbeitet. Man kann also nicht dort weitermachen, wo man im vorherigen Programmlauf beim Ausgeben des Ajax-Requests stehengeblieben war - weil man eben nicht stehenbleibt.

        - Sven Rautenberg