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!
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
Du kannst auch die Variable via get oder post als Formular übertragen. Dürfte weniger Aufwand sein als ajax einzubinden ;-)
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
Die Variable von PHP zu Java war nicht so wild aber zurück .... :(
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 ;-)
wenn der per ajax o.ä. zurückgegebene wert in eine datei geschrieben wird, solltest du dir auch über die sicherheit gedanken machen...
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 ;)
Jetzt ist mir eine Idee gekommen : Kann ich nicht gleich im JS die 3 Werte im File speichern ?
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 ...
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.
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.
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 | }
|
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)
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.