Forum: PC-Programmierung von einem Java Script einen wert zu php übergeben


von Marc (Gast)


Lesenswert?

Hallo Forum !

Ich lade mit PHP einen Wert (int) von einem File, dann übergebe ich 
einem JavaScript diesen Wert mit --> var char_var_red="<?php echo $red; 
?>";

Im Script wird der Wert verändert und soll wieder zurück in eine PHPvar 
kommen. Wie kann ich diesen Wert übergeben ?

Versuche es nun schon seit 3h eine Lösung zu finden. Kann mir jemand 
helfen ?

Danke!

von Andreas B. (andreasb)


Lesenswert?

Stichwort Ajax.

Du musst einen Requst vom Client an den Server senden.

z.B. mit JQuery geht das relativ einfach.

http://api.jquery.com/jQuery.ajax/




mfg Andreas

von cppler (Gast)


Lesenswert?

Du kannst auch die Variable via get oder post als Formular übertragen.
Dürfte weniger Aufwand sein als ajax einzubinden ;-)

von Peter II (Gast)


Lesenswert?

cppler schrieb:
> Du kannst auch die Variable via get oder post als Formular übertragen.
> Dürfte weniger Aufwand sein als ajax einzubinden ;-)

ajax macht auch nur Post oder Get

von Marc (Gast)


Lesenswert?

Die Variable von PHP zu Java war nicht so wild aber zurück .... :(

von cppler (Gast)


Lesenswert?

Peter II schrieb:
> cppler schrieb:
>> Du kannst auch die Variable via get oder post als Formular übertragen.
>> Dürfte weniger Aufwand sein als ajax einzubinden ;-)
>
> ajax macht auch nur Post oder Get

Ja ist aber wesentlich "mächtiger" als ein einfaches get oder post via 
javascript ;-)


>Die Variable von PHP zu Java war nicht so wild aber zurück .... :(

Schau mal hier:

http://de.selfhtml.org/javascript/objekte/forms.htm#submit

Die Seite solltest Du Dir merken ;-)

von Daniel F. (df311)


Lesenswert?

wenn der per ajax o.ä. zurückgegebene wert in eine datei geschrieben 
wird, solltest du dir auch über die sicherheit gedanken machen...

von Marc (Gast)


Lesenswert?

Die Sichrheit ist kein Thema da es nur im internen Netz verwendet wird. 
Es geht darum :

index.php holt sich von einem File 3 Werte (R,G,B), die 3 Werte werden 
in einer Art "Progressbar" visualisert... ich kann dann den Wert 
verschieben und nach dem schieben (refresh) soll der Wert wieder in dem 
File gespeichert werden.

Eine andere Software holt sich die Daten und gibt die Werte per oneWire 
an ein digitales LedBand

--> ich kann dann über http die Farbe und Helligkeit einstellen.

Http Server ist ein RaspberryPI der über RS232 mit einem Atmel 
kommuniziert damit ich die Leds ansprechen kann.

..

Linux-GCC , Atmel-CodeVision und nun Http-php,java ... mir raucht der 
kopf ;)

von Marc (Gast)


Lesenswert?

Jetzt ist mir eine Idee gekommen : Kann ich nicht gleich im JS die 3 
Werte im File speichern ?

von cppler (Gast)


Lesenswert?

Marc schrieb:
> Die Sichrheit ist kein Thema da es nur im internen Netz verwendet wird.
> Es geht darum :
>
> index.php holt sich von einem File 3 Werte (R,G,B), die 3 Werte werden
> in einer Art "Progressbar" visualisert... ich kann dann den Wert
> verschieben und nach dem schieben (refresh) soll der Wert wieder in dem
> File gespeichert werden.
>
> Eine andere Software holt sich die Daten und gibt die Werte per oneWire
> an ein digitales LedBand
>
> --> ich kann dann über http die Farbe und Helligkeit einstellen.
>
> Http Server ist ein RaspberryPI der über RS232 mit einem Atmel
> kommuniziert damit ich die Leds ansprechen kann.
>
> ..
>
> Linux-GCC , Atmel-CodeVision und nun Http-php,java ... mir raucht der
> kopf ;)

Und wo ist jetzt das Problem ?
Zeige Deinen aktuellen Source und man kann sich ansehen was klemmt ...

von Marc (Gast)


Angehängte Dateien:

Lesenswert?

php..

von cppler (Gast)


Lesenswert?

Da Du das ganze sowieso mit einem Formular via post erledigst schreibe 
einfach Eingabefelder ins HTML (z.B. hinter die Slider) dazu, die Du 
dann direkt auswertest.
Dann kann man auch direkt Werte eingeben und sieht welcher Wert aktuell 
eingestellt ist.

von Frank (Gast)


Lesenswert?

Marc schrieb:
> Jetzt ist mir eine Idee gekommen : Kann ich nicht gleich im JS die 3
> Werte im File speichern ?

Javascript hat aus Sicherheitsgründen keinen Zugriff auf das lokale 
Filesystem. Einzige Ausnahme: Cookies.

von Sven (Gast)


Lesenswert?

Du kannst dir aber ein FSO (File-System-Objekt) einbinden:
Wenn Du dann dein HTML als *.HTA unter IE laufen lässt gibt es auch 
keine nervigen Sicherheitsfragen... Sollte man natürlich nur mit eigenem 
Code auf dem eigenem PC machen...
1
function data_save(file_path,file_name,save_string)
2
{    var filename=file_path+"\\"+file_name;
3
  fso=new ActiveXObject("Scripting.FileSystemObject");
4
  if (! fso.FolderExists(file_path))       // folder exist ?
5
  { var folder=file_path.split("\\");
6
    var temp_path=folder[0];
7
    for (var i=1; i<folder.length;i++)      // create folder(s) if not exist
8
    {   temp_path+="\\"+folder[i];//alert(temp_path);
9
      if (! fso.FolderExists(temp_path)) {var a=fso.CreateFolder(temp_path);}
10
    }
11
  }
12
  if (! fso.FileExists(filename))    {file=fso.CreateTextFile(filename,2);file.close();}
13
  file=fso.OpenTextFile(filename,8,true);
14
  file.write(save_string);
15
  file.close(); 
16
}

von Daniel F. (df311)


Lesenswert?

Marc schrieb:
> index.php holt sich von einem File 3 Werte (R,G,B), die 3 Werte werden
> in einer Art "Progressbar" visualisert... ich kann dann den Wert
> verschieben und nach dem schieben (refresh) soll der Wert wieder in dem
> File gespeichert werden.

soll das ganze "dynamisch" laufen (also die verschiebung mehr oder 
weniger in echtzeit) sichtbar werden oder du stellst einen farbcode ein 
und speicherst den dann?

aja, da du sowieso einen rasperry laufen hast kannst du dir den umwg 
über das file, das von zwei programmen geöffnet wird sparen - du 
brauchst nur ein programm mit einem socket, an den zu z.b. per get die 
werte überträgst. as programm selber nimmt die get-befehle entgegen und 
überträgt sie an den led-streifen... theoretisch könntest du sogar den 
apache inkl. php durch das c-programm ersetzen (ein einfacher 
http-server, der nur einen teil von http-get versteht ist nicht 
übermäßig aufwändig, v.a. wen er nur für diesen einen zweck gedacht ist)

von Leo H. (Gast)


Lesenswert?

JavaScript -> PHP:
http://de.wikipedia.org/wiki/XMLHttpRequest
http://www.w3schools.com/xml/xml_http.asp
http://www.w3schools.com/ajax/ajax_xmlhttprequest_onreadystatechange.asp

Mit dem XMLHttpRequest lassen sich im Hintergrund GET/POST-Anfragen an 
den Webserver senden. Sobald die Anfrage bearbeitet wurde wird ein Event 
ausgelöst (onReadyStateChange), dort kannst du dann die Antwort 
auswerten (z.B. ein grünes "OK" aufleuchten lassen wenn der Wert 
übernommen wurde)
Du musst übrigens kein XML-Dokument übertragen, eine simple "1" als 
ASCII-Zeichen oder HTML-Schnipsel die in eine DIV-Box eingebaut werden 
funktionieren auch.

PHP -> RS232:
http://code.google.com/p/php-serial/source/browse/trunk/php_serial.class.php

Beitrag #4948747 wurde von einem Moderator gelöscht.
Beitrag #5098159 wurde von einem Moderator gelöscht.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.