mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik lwip string auswerten


Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-4 lesenswert
nicht lesenswert
Hallo,
Ich hab auf meiner Webseite für den LWIP Webserver eine Dropdown Liste 
mit mehreren Einträgen und hänge jetzt fest diese auszuwerten beim Lwip.
static char *LED_RGB_CGIHandler( int iIndex, int iNumParams, char *pcParam[], char *pcValue[] )
{
    int  index;
     
  index = FindCGIParameter ( "rgbw", pcParam, iNumParams );
    
  if(index != -1)
    {
      // num++;
       //snprintf((char *)(data_response_buf),4,"%d",num);
      // printf("data_response_buf:%s\r\n",data_response_buf);
       //printf("green:%s\r\n",pcValue[index]);  
      
       clear_response_bufer(data_response_buf);      //Çå³ý»º³åÇøµÄÄÚÈÝ

       
      
DrawString(0,350,"O.K",&Arial_16x25,LCD_COLOR_WHITE,LCD_COLOR_BLUE); 
          strcat((char *)(data_response_buf),"ok");
        
  
    }
    return RESPONSE_PAGE_SET_CGI_RSP_URL;
}



Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann passieren und wo ist jetzt die Frage?
Willste uns wieder so trollen wie bei deinem letzten Thread?

Autor: conny (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Mw E. schrieb:
> Kann passieren und wo ist jetzt die Frage?

ich kann ja hiermit nur den string auswerten "rgbw"
index = FindCGIParameter ( "rgbw", pcParam, iNumParams );

ich möchte gerne wenn ich etwas aus der Drobbox auswähle zb.MAGENTA50 
das auch auswerten.

könnte mir jemand dazu weiterhelfen






> Willste uns wieder so trollen wie bei deinem letzten Thread?
nein

Autor: conny (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
könnte mir jemand weiterhelfen.

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
OMG, das HTML file ist Haarstraubend. tw, w1, w2, etc. sind keine 
gültigen HTML Tags. Nimm besser Divs und gib denen eine Identische 
klasse. Nummerieren kann man sie auch noch mit dem data-* userdefined 
attributen. Die Attribut Werte sollten immer in "" stehen. 
Verschachtelte forms sind nicht möglich, ein Browser sollte™ das 
vorherige form dann Schliessen, kann man in den Entwicklertools des 
Browsers nachprüfen. getElementById kann nicht auf auf ein name 
attribut angewendet werden, sondern nur auf eindeutige id attribute. Das 
class attribut bei den option tags macht keinen sinn, sollte dort 
das value attribut sein?

Wenn ich die Funktionssignatur von FindCGIParameter richtig 
interpretier, liefert es den Index an welchem im array pcParam der 
String "rgbw" gefunden wird. Der wert davon sollte dann im 
Korrespondierenden Feld von pcValue sein, also bei pcValue[index], 
sofern index nicht -1 ist.

PS: Nach https://www.mikrocontroller.net/articles/Netiquette sollte man 
"Push" Beiträge vermeiden.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hier lesen wie man ordentlich HTML entwirft:
http://www.w3schools.com/html/

Ansonsten weis hier keiner wasse überhaupt willst.
Also beschreib doch mal in in jeweils 10 Sätzen folgendes:
1) was willste denn im großen und ganzen machen
2) was soll der HTML Code machen und wie verträgt sich das mit Punkt 1
3) was wird übers Netzwerk übertragen bei den Aktionen der Webseite 
(siehe Wireshark)
4) wie kommt Punkt 3 bei dem Codeschnipsel an

Autor: Markus F. (mfro)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Beharrlichkeit hast Du, das muss man dir lassen ...

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Dir ist also klar, was

> FindCGIParameter ( "rgbw", pcParam, iNumParams );

tut. Und Dir ist nicht klar, wie man einen anderen Parameter ausliest? 
Das verstehe ich nun nicht. Ich meine, offensichtlicher geht es doch gar 
nicht!

Versuch mal:

> FindCGIParameter ( "was_anderes", pcParam, iNumParams );

Allerdings solltest du nach wie vor erst mal HTML lernen.

Autor: guest (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Und Dir ist nicht klar, wie man einen anderen Parameter ausliest?
> Das verstehe ich nun nicht. Ich meine, offensichtlicher geht es doch gar
> nicht!
>
> Versuch mal:
>
>> FindCGIParameter ( "was_anderes", pcParam, iNumParams );

So wie es aussieht will er gar keinen anderen Parameter auslesen, 
sondern den Wert des Parameters "rgbw".
Siehe: Daniel A. schrieb:
> Wenn ich die Funktionssignatur von FindCGIParameter richtig
> interpretier, liefert es den Index an welchem im array pcParam der
> String "rgbw" gefunden wird. Der wert davon sollte dann im
> Korrespondierenden Feld von pcValue sein, also bei pcValue[index],
> sofern index nicht -1 ist.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Conny, was meinst du mit "auswerten"?

Zuerst solltest du mal versuchen, den String (Wert des Parameters) 
einfach auszulesen. Vielleicht so:
  index = FindCGIParameter ( "rgbw", pcParam, iNumParams );    
  if(index != -1)
  {
    puts(pcvalue[index]); // Ausgabe auf die Konsole
  }

Hast du überhaupt eine serielle Konsole zum Debuggen? Oder einen 
Hardware Debugger, mit dem Du ins RAM (Variable "pcvalue") schauen 
kannst?

Danach kannst du ihn wie auch immer auswerten.

: Bearbeitet durch User
Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
s/pcvalue/pcValue/

Autor: conny (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
Guten Tag,

Wie man den Parameter Auswertet weis ich.

Hatte mich vielleicht missverständlich ausgedrückt.

Was ich meinte ist, wie kann ich in dem  HTML Funktionsaufruf Wohn_1(); 
eine Variable mitgeben.
function Wohn_1() { loadXMLDoc("/led_wohna.cgi?wohna=1&t="+ Math.random(),function() { if (xmlhttp.readyState==4 && xmlhttp.status==200) {    document.getElementById("wohna").src=xmlhttp.responseText; } }); }



<input type=button class=wse value="RGB" onClick="Wohn_1()">

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
conny schrieb:
> Was ich meinte ist, wie kann ich in dem  HTML Funktionsaufruf Wohn_1();
> eine Variable mitgeben.

Na einfach einen Parameter spezifizieren:
function example( a, bla123 ){ // Funktion example mit Parametern a und bla123
  alert(a);
  alert(bla123);
}
example(123,"test"); // Aufruf von example mit Argumenten number 123 für a und string "test" für bla123

Bei POST requests könnte man mit FormData arbeiten, aber bei GET muss 
man den Query String selbst kodieren. Folgende Funktion nimmt einem die 
Arbeit ab:
function toQueryString( p ){
  var ret = "";
  for( var k in p )
    ret += ( ret=='' ? '?' : '&' ) + encodeURIComponent(k) + '=' + encodeURIComponent(p[k]);
  return ret;
}
Kann man wie folgt verwenden:
loadXMLDoc(
  "/led_wohna.cgi" + toQueryString({
    wohna: 1,
    t: Math.random()
  }),
  function(){
    if( xmlhttp.readyState==4 && xmlhttp.status==200 ){
      document.getElementById("wohna").src = xmlhttp.responseText;
    }
  }
);

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Zum Beispiel so:
<input type=button class=wse value="RGB" onClick="Wohn_1(this)">

function Wohn_1(theButton)
{
  alert(theButton.value);
}

Autor: conny (Gast)
Datum:

Bewertung
-2 lesenswert
nicht lesenswert
hallo,
ich hab das wie von ihnen umgesetzt doch gehen tut nichts.
Was mache ich falsch

function Wohn_1a( p ){
  var ret = "";
  for( var k in p )
    ret += ( ret=='' ? '?' : '&' ) + encodeURIComponent(k) + '=' + encodeURIComponent(p[k]);
  return ret;
}

loadXMLDoc(
  "/led_wohna.cgi" + toQueryString({
    wohna: 1,
    t: Math.random()
  }),
  function(){
    if( xmlhttp.readyState==4 && xmlhttp.status==200 ){
      document.getElementById("wohna").src = xmlhttp.responseText;
    }
  }
);



Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
conny schrieb:
>> Willste uns wieder so trollen wie bei deinem letzten Thread?
> nein

Also eine Glatte Lüge...

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Code für das Senden der Funktion sollte in Wohn_1a bleiben, und den 
Namen der Funktion toQueryString braucht nicht geändert werden.
So ungefähr:
// Ungetestet

function toQueryString( p ){
  var ret = "";
  for( var k in p )
    ret += ( ret=='' ? '?' : '&' ) + encodeURIComponent(k) + '=' + encodeURIComponent(p[k]);
  return ret;
}

function Wohn_1a( event, form ){
  loadXMLDoc(
    form.action + toQueryString({
      rgbw: form.rgbw_select.value,
      t: Math.random()
    }),
    function(){
      if( xmlhttp.readyState==4 && xmlhttp.status==200 ){
        document.getElementById("rgbw").src = xmlhttp.responseText;
      }
    }
  );
  event && event.preventDefault();
}
<form method="get" onsubmit="Wohn_1a(event,this); return false;" action="rgb_led.cgi">
  <select name="rgbw_select"> 
    <option value="r100">Rot100</option>
    <option value="r50">Rot50</option>
    <option value="r15">Rot15</option>
    <option value="G100">GRUEN100</option>
  </select>
  <input type="submit" value="Senden"/>
</form>

: Bearbeitet durch User
Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
erstmal vielen dank das Funktioniert.

Jetzt hab ich noch eine Frage, wenn ich einzelne Tasten habe und wollte 
gerne Die einzelnen Tasten mit einem Wert versehen.

Doch leider Funktioniert das so nicht.



function toQueryString( p ){
  var ret = "";
  for( var k in p )
    ret += ( ret=='' ? '?' : '&' ) + encodeURIComponent(k) + '=' + encodeURIComponent(p[k]);
  return ret;
}

function Wohn_1a( event){
loadXMLDoc(
  "/led_wohna.cgi" + toQueryString({
    wohna: event,
    t: Math.random()
  }),
  function(){
    if( xmlhttp.readyState==4 && xmlhttp.status==200 ){
      document.getElementById("wohna").src = xmlhttp.responseText;
    }
  }
);






 <input type=button  value="0%" onClick="Wohn_1a(0)">
 <input type=button  value="25%" onClick="Wohn_1a(25)">
 <input type=button  value="50%" onClick="Wohn_1a(50)">
 <input type=button  value="100%" onClick="Wohn_1a(100)">



Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich sehe da jetzt so spontan nur eine fehlendes '}' zum abschliessen der 
Funktion Wohn_1a, aber das könnte auch ein copy&paste Fehler sein. Wenn 
du die Konsole deines Browsers öffnest, gibt es dort eine Fehlermeldung? 
Und im Tab mit den Requests, gibt es dort einen neuen wenn du einen 
Knopf drückst?

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Daniel A. schrieb:
> Ich sehe da jetzt so spontan nur eine fehlendes '}' zum
> abschliessen der
> Funktion Wohn_1a, aber das könnte auch ein copy&paste Fehler sein. Wenn
> du die Konsole deines Browsers öffnest, gibt es dort eine Fehlermeldung?
> Und im Tab mit den Requests, gibt es dort einen neuen wenn du einen
> Knopf drückst?

Die fehlende Klammer wars.
Funktioniert einwandfrei.

Vielen Dank erstmal
mfg

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo,
Ich hab nochmal ne Frage bezüglich der onLoad Funktion.

Ich wollte nun gerne wenn die Seite aufgerufen wird, sollte zerst der 
Status der Lampen abgefragt werden.
Es wird nur die zweite abfrage richtig angezeigt.

könnte mir jemand weiterhelfen




          function Wohn_1a_sta( event)
          {
            loadXMLDoc("/led_wohna_sta.cgi" + toQueryString({wohna: event,t: Math.random()}),
  
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                  document.getElementById("wohna").src = xmlhttp.responseText;
                }
              }
            );
           }

      
          function Wohn_2a_sta( event)
          {
            loadXMLDoc("/led_wohnb_sta.cgi" + toQueryString({wohnb: event,t: Math.random()}),
  
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                  document.getElementById("wohnb").src = xmlhttp.responseText;
                }
              }
            );
          }



function status()
{
   Wohn_1a_sta(1);
   Wohn_2a_sta(2);
}


<body onLoad="status()">

    <div id="wside" >

    <tw> WOHNZIMMER   </tw> 

      <w1>
       Wohnzimmer Decke.:                 
        <br>
          <img id="wohna" src="/E_off.gif"   class="rset" width="64" height="64" alt="layer">

        </br>
              <input type=button class=g100 value="0%" onClick="Wohn_1a(0)">
        <input type=button class=g100 value="25%" onClick="Wohn_1a(25)">
        <input type=button class=g100 value="50%" onClick="Wohn_1a(50)">
        <input type=button class=g100 value="75%" onClick="Wohn_1a(75)">
        <input type=button class=g100 value="100%" onClick="Wohn_1a(100)">
      </w1>


      <w2 > 
       Wohnzimmer Smooth: 
        <br>        
          <img id="wohnb"  src="/E_off.gif" class="rset" width="64" height="64" alt="layer"> 

        </br> 
      
        <input type=button class=g100 value="0%" onClick="Wohn_2a(0)">
        <input type=button class=g100 value="25%" onClick="Wohn_2a(25)">
        <input type=button class=g100 value="50%" onClick="Wohn_2a(50)">
        <input type=button class=g100 value="75%" onClick="Wohn_2a(75)">
        <input type=button class=g100 value="100%" onClick="Wohn_2a(100)"> 
        
      </w2>




Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Mach mal die Javascript Konsole an, dann siehst du möglicherweise eine 
hilfreiche Fehlermeldung.

Du könntest auch alert("...") Meldungen einbauen, um zu sehen, ob die 
erste Abfrage überhaupt richtig ausgeführt wird.

Das Script führt beide Abfragen parallel aus. Ist loadXMLDoc() dafür 
geeignet, erneut aufgerufen zu werden, bevor die vorherige Abfrage 
beendet ist?

: Bearbeitet durch User
Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Stefan U. schrieb:
> Mach mal die Javascript Konsole an, dann siehst du möglicherweise
> eine
> hilfreiche Fehlermeldung.
>
> Du könntest auch alert("...") Meldungen einbauen, um zu sehen, ob die
> erste Abfrage überhaupt richtig ausgeführt wird.
>

Hab ich gemacht, beide Funktionen werden aufgerufen, die alert 
Textmeldung wird mir von beiden Funktionen angezeigt.


> Das Script führt beide Abfragen parallel aus. Ist loadXMLDoc() dafür
> geeignet, erneut aufgerufen zu werden, bevor die vorherige Abfrage
> beendet ist?

Ich glaube mann muss Sicherstellen das die eine Abfrage Beendet ist 
bevor mann eine neue stellt,nur weiss ich nicht wie das gemacht wird

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Das Problem ist das Globale xmlhttp Objekt. Wenn die 1te anonyme 
Callbackfunktion zurückkehrt ist das globale xmlhttp Objekt, auf welches 
sie Zugreift das, welches beim zweiten Aufruf von loadXMLDoc erzeugt 
wurde. Typische Racecondition/Anfängerfehler. Es gibt mehrere 
Lösungsmöglichkeiten, z.B. das XMLHttpRequest Objekt der Funktion als 
Parameter mitzugeben, optional auch als this, oder etwas besser zu 
Abstrahieren. Ich schreibe die Ladefunktionen sowieso jedes mal neu, 
Versuchs mal so:
// Meine letzte Implementierung davon, aufgabe entspricht deinem loadXMLDoc
function get( url, onload, onerror ){
  var xhr = new XMLHttpRequest();
  xhr.onload = function(){
    if( this.status != 200 ){
      if(onerror)
        onerror( "Error " + this.status );
    }else{
      var mime = this.getResponseHeader("Content-Type");
      var text = this.responseText;
      if( onload )
        onload( mime, text );
    }
  };
  xhr.onerror = function(){
    var error = this.error || this;
    if( onerror )
      onerror( error.message );
  };
  xhr.open( "GET", url );
  xhr.send();
}

function Wohn_1a_sta( event)
{
  get("/led_wohna_sta.cgi" + toQueryString({wohna: event,t: Math.random()}),
    function( mime, content )
    {
      document.getElementById("wohna").src = content;
    }
  );
}


function Wohn_2a_sta( event )
{
  get("/led_wohnb_sta.cgi" + toQueryString({wohnb: event,t: Math.random()}),
    function( mime, content )
    {
      document.getElementById("wohnb").src = content;
    }
  );
}

function status()
{
   Wohn_1a_sta(1);
   Wohn_2a_sta(2);
}

Solange man keinen <=IE8 Browser hat sollte das funktionieren.

PS: Ich Binde mir die Scripts immer mit dem script tag als separate 
Datei ein, und setze das defer attribut. Dadurch kann ich mir das onload 
sparen, wird aber viel zu selten gemacht.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Funktioniert Tadellos!!!

Vielen Dank

Hätten sie für mich auch nochmal ein Quelle wo ich mir das nochmal 
Durchlesen kann.
mfg

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Jch nutze fast immer MDN, die haben die besten API Referenzen. Für 
XMLHttpRequest und HTML5 Anwendungsbeispiele schaue ich jedoch 
gelegentlich bei www.html5rocks.com vorbei, z.B. 
http://www.html5rocks.com/de/tutorials/file/xhr2/

Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Jetzt hab ich nochmal eine Frage bezüglich der Auswertung eines 
Formulars,

so wie ich es jetzt habe wird die Seite ja immer neu geladen wenn ich 
auf den sende  Button drücke.

Ich wollte gerne das nur der Inhalt auf der seite angezeigt wird

Könnten sie mir da weiterhelfen.
static char *SWITCH_CGIHandler( int iIndex, int iNumParams, char *pcParam[], char *pcValue[] )
{ 
   char switch_buffer[120];
   uint32_t i=0;
   int  index;
  
   switch_buffer[0] = 1;
   switch_buffer[1] = 2;
   switch_buffer[2] = 3;
   switch_buffer[3] = 4;
   switch_buffer[4] = 5;
   switch_buffer[5] = 6;
   switch_buffer[6] = 7;
   switch_buffer[7] = 8;
   switch_buffer[8] = 9;
   switch_buffer[9] = 10;
   switch_buffer[11] = 11;
   switch_buffer[12] = 12;



  
   /* We have only one SSI handler iIndex = 0 */
   index = FindCGIParameter ( "vorname", pcParam, iNumParams );
   clear_response_bufer(data_response_buf);      
  
  if(index != -1)
  {
     
    for (i=0; i<iNumParams; i++)
    {

      sprintf(read_write_buffer,"%d",switch_buffer[0]);
      
      strcat((char *)(data_response_buf),read_write_buffer);   
  }   

  }  
  /* uri to send after cgi call*/
return RESPONSE_PAGE_SET_CGI_RSP_URL;
}


Autor: Daniel A. (daniel-a)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Das Problem ist an der Stelle /form.rgbw.value/ , den in der Form gibt 
es kein Input mit name rgbw von dem man die Eigenschaft value 
auslesen könnte. Da /form.rgbw/ undefined ist wird beim versuch auf 
die Eigenschaft value von undefined zuzugreifen ein Fehler geworfen, 
der die Funktion abbricht und nirgens abgefangen wird. Dadurch wird 
event.preventDefault() nie ausgeführt, und das Absenden des Formulars 
durch den Browser nicht verhindert. Am besten schreibt man da schnell 
eine Funktion die alle Werte aller Felder abfragt. Dies ist nur 
notwendig, weil hier ein get request benötigt wird, bei einem post 
request könnte man bei xmlhttp.send ein FormData objekt übergeben, das 
aus der Form erstellt wurde. (mittels new FormData(form)). Da im Moment 
die Funktion FormData.entries() noch nicht bei besonders vielen Browsern 
implementiert ist, kann diese in vielen Browsern noch nicht verwendet 
werden um über die Werte im FormData Objekt zu iterieren. Deshalb ist es 
momentan noch notwendig die Werte manuell auszulesen. Ich habe die Datei 
mal etwas angepasst, ich hoffe ich habe mich nirgends vertippt ;)

Edit: document.getElementById("switches").src müsste 
document.getElementById("switches").value sein, kann ich jetzt aber 
nichtmehr ändern...

: Bearbeitet durch User
Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
ihr Beispiel funktioniert tadellos,

wenn ich jetzt mehrere eingabefelder habe zb. Vorname und Nachname und 
nur ein Button zum senden habe.

Hab das nochmal umgeändert geht aber nicht

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Bei der Funktion test ist this ein reserved word und kann nicht als 
Parameter verwendet werden. Ersetze es durch irgend was anderes, z.B. 
form. Ausserdem, warum willst du 2 unterschiedliche requests 
durchführen? Kombiniere diese doch einfach und gib beide Resultate in 
der Response zurück.

Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Daniel A. schrieb:
> Bei der Funktion test ist this ein reserved word und kann nicht
> als
> Parameter verwendet werden. Ersetze es durch irgend was anderes, z.B.
> form.
Hab ich gemacht geht nicht.

> Ausserdem, warum willst du 2 unterschiedliche requests

naja ich hab ja auch 2 unterschiedliche Eingabefelder Vorname Nachname



> durchführen? Kombiniere diese doch einfach und gib beide Resultate in
> der Response zurück.

Hab ich ja so gemacht, nur wenn ich auf senden drücke erhalte ich ein 
seitenlade Fehler
static char *SWITCH_CGIHandler( int iIndex, int iNumParams, char *pcParam[], char *pcValue[] )
{ 
   char switch_buffer[120];
   uint32_t i=0;
   int  index, index2;
  
   switch_buffer[0] = 1;
   switch_buffer[1] = 2;
   switch_buffer[2] = 3;
   switch_buffer[3] = 4;
   switch_buffer[4] = 5;
   switch_buffer[5] = 6;
   switch_buffer[6] = 7;
   switch_buffer[7] = 8;
   switch_buffer[8] = 9;
   switch_buffer[9] = 10;
   switch_buffer[11] = 11;
   switch_buffer[12] = 12;



  
   /* We have only one SSI handler iIndex = 0 */
   index = FindCGIParameter ( "vorname", pcParam, iNumParams );
        
   DrawString(0,50,pcParam[0],&Arial_16x25,WHITE,RED);  
   DrawString(0,79,pcValue[0],&Arial_16x25,WHITE,RED);  
   
  if(index != -1)
  {
     
    for (i=0; i<iNumParams; i++)
    {
      DrawString(0,150,pcValue[0],&Arial_16x25,WHITE,RED);  
      sprintf(read_write_buffer,"%d",switch_buffer[0]);
      
    
      strcat((char *)(data_response_buf),read_write_buffer);   
      
      if (strcmp(pcParam[i] , "nachname")==0)   
      { 
         sprintf(read_write_buffer,"%d",switch_buffer[11]);
      
         DrawString(0,400,pcParam[0],&Arial_16x25,WHITE,RED);  
         strcat((char *)(data_response_buf),read_write_buffer); 
      }
}
    
clear_response_bufer(data_response_buf); 
  }  
  /* uri to send after cgi call*/
return RESPONSE_PAGE_SET_CGI_RSP_URL;
}

Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Im Anhang nochmal die geänderte Version.

Leider Fuznktioniert das nicht richtig.

Als Ausgabe im Browser erhalte ich im Feld Nachname die Werte für 
Vorname und Nachname.

Wie kann ich das nun trennen damit das richtig angezeigt wird.
mfg

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich habe ganz stark das Gefühl, dass du dich bei diesem Projekt 
übernommen hast. Du hast die Grundlagen des Konstruktes nicht verstanden 
und tust dich daher sehr schwer, es zu verändern.

Kannst du das Projekt nicht abbrechen oder an jemand anderen übergeben?

Mach doch lieber etwas, was du selbst verstehst. Dann lernst du auch 
wahrscheinlich viel mehr dabei.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wäre es denn Möglich mir vielleicht nochmal zu helfen wie ich denn nun 
die beiden strings trennen kann.
mfg

Autor: mastah (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Was du hier willst ist keine "Hilfe", sondern andere sollen dein Projekt 
machen.
Solch lernresistente Leute wie dich sieht man echt selten!

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
mastah schrieb:
> Was du hier willst ist keine "Hilfe", sondern andere sollen dein
> Projekt
> machen.
> Solch lernresistente Leute wie dich sieht man echt selten!

Ich hab höflich gefragt .

Ich suche niemand der mein Projekt macht!!!!!

Ich fragte wie mann das macht.

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
conny schrieb:
> Ich suche niemand der mein Projekt macht!!!!!
>
> Ich fragte wie mann das macht.

Nunja, es sind halt schon sehr einfache Dinge. Beim Entwickeln geht es 
eigentlich nur darum, passende Lösungen für ein Problem zu finden. Es 
gibt hier auch nicht nur einen Weg, wie man das macht, sondern viele 
Möglichkeiten, wie man das könnte. Wenn du scharf nachdenkst, wirst du 
schon eine Lösung finden.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
>  Ich fragte wie mann das macht.

Indem Du C lernst und anwendest. Bücher und Tutorials zu C wurden Dir in 
diversen Threads reichlich empfohlen.

Und jetzt lerne C und komme danach auf dieses Projekt zurück.

> Ich hab höflich gefragt.

Ja, das hast du. Aber durch deine hartnäckigen wiederholten Fragen bei 
zugleich nicht sichtbarem Fortschritt muss man sich schon fragen, ob Du 
das absichtlich machst, um uns zu ärgern.

Denn wenn du uns nicht verärgern willst, warum fängst du dann nicht an 
zu lernen - und zwar ohne dieses zum Lernen definitiv ungeeignete 
Projekt?

Wer Ratschläge annimmt, erfreut den Helfer und bekommt weitere Hilfe.

Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Daniel A. schrieb:
> conny schrieb:
>> Ich suche niemand der mein Projekt macht!!!!!
>>
>> Ich fragte wie mann das macht.
>
> Nunja, es sind halt schon sehr einfache Dinge. Beim Entwickeln geht es
> eigentlich nur darum, passende Lösungen für ein Problem zu finden. Es
> gibt hier auch nicht nur einen Weg, wie man das macht, sondern viele
> Möglichkeiten, wie man das könnte. Wenn du scharf nachdenkst, wirst du
> schon eine Lösung finden.


Im Anhang nochmal ein Versuch

Das stimmt das es viele Lösungen gibt, für Profis ist das natürlich 
ruckzug erledigt.

Der Rückgabewert wird ja korrekt zurück gegeben, Nur wié wird dieser 
richtig aufgesplittet, hab den ganzen Tag im Netz gesucht vielleicht 
auch nicht richgtig da ich die Schlüsselwörter nicht weiss.

Vielleicht könnten sie Daniel A. noch ein wenig weiterhelfen.

mfg

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
ist es denn Möglich mir zu helfen, wie der Response string richtig 
aufgeteilt wird.

Als Response bekomme ich 12 das ist richtig.

Es sollte aber unter Vorname = 1 und Nachname = 2 stehen.

kann mir jemand weiterhelfen.
mfg

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
conny schrieb:
> kann mir jemand weiterhelfen.

Nö kann ich nicht, das wäre vergebene Mühe!

Ratschläge nimmste ja nicht an und lässt dir nur Code vorgeben.
Beim kleinsten Anpassen des Codes stößte wieder auf Probleme und nervst 
hier im Forum rum.

Anstatt mal ordentlich C zu lernen, HTML/CSS zu lernen und wie denn nun 
Browser Formulare abschicken.
Sowie was GET/POST Requests sind und wie diese Requests von einem 
Webserver behandelt werden. Im besonderen von dem genutzten embeddet 
Webserver.
Etwas Javascript kann auch nicht schaden, ist vom Syntax her schonmal 
recht C artig.

Aber all das kommt ja nicht von dir.
Die Ratschläge der Anderen, erstmal klein anzufangen, nimmste ja auch 
nicht an.
Irgendwann reichts eben mal.

Nur so am Rande: Ich bin schon länger tätig im embeddet Bereich und auch 
was embeddet Webserver angeht. Aber durch deine widerliche Art werde ich 
dir nicht weiter helfen. Also eine Wissensquelle ist schonmal für dich 
verschlossen durch dein Auftreten allein.

edit:
Könnte ein Mod mal hier zumachen mit das Trollen durch conny ein Ende 
hat?

: Bearbeitet durch User
Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Daniel A. schrieb:
>
> Nunja, es sind halt schon sehr einfache Dinge. Beim Entwickeln geht es
> eigentlich nur darum, passende Lösungen für ein Problem zu finden. Es
> gibt hier auch nicht nur einen Weg, wie man das macht, sondern viele
> Möglichkeiten, wie man das könnte. Wenn du scharf nachdenkst, wirst du
> schon eine Lösung finden.


Das ist Richtig ja, sie sind ja auch vom Fach.
Im Netz hab ich nach einem Beispiel gesucht wie ich den string richtig 
aufteilen in Vorname und Nachname aber nichts gefunden.

Das CGI auf meinem Webserver funktioniert ja richtig gibt mir ja auch 
den string zurück.

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Wenn beides wirklich immer nur ein Zeichen lang wäre, könte man folgende 
Dinge machen:
> "12".split('')
Array [ "1", "2" ]

> [].slice.apply("12")
Array [ "1", "2" ]

> "12".match(/^(\d)(\d)$/).slice(1)
Array [ "1", "2" ]

Wenn es mehr sind, brauchte man mindestens ein Trennzeichen:
> "123|456".split('|')
Array [ "123","456" ]

> "123|456".match(/^(\d*)|(\d*)$/).slice(1)
Array [ "123","456" ]

Wenn die Zuordnung nicht durch die Position gegeben ist, braucht man 
eine Key/Value zuordnung. Sowas:
> var res = {};
> "vorname:2:3\nnachname:6:7".split('\n').forEach(function(x){
>   var r=x.match(/^([^:]*):(.*)$/);
>   res[r[1]]=r[2];
> });
> res
Object { vorname: "2:3", nachname: "6:7" }

Allerdings ist das eigentlich alles Murks. Ich verwende für sowas immer 
JSON (1), kann man in js ganz einfach mit JSON.parse() parsen und 
funktioniert zuverlässig:
> JSON.parse('{"vorname":123,"nachname":456}');
Object { vorname: 123, nachname: 456 }

1) http://json.org/

Das alles ist doch nun wirklich nicht schwer zu finden.

PS: Herausfinden wie man das nun Anwendet wirst du ja nun aber 
wenigstens noch schaffen, oder?

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Herausfinden wie man das nun Anwendet wirst du ja nun
> aber wenigstens noch schaffen, oder?

Kannst du nicht ein eispiel zeigen, wie man das macht :-)

SCNR

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo Herr Abrecht,
Ich hab das so umgesetzt aber als Ausgabe erhalte ich wiederum auf dem 
Browser 12 und die beiden Eingabefelder sind auch weg.

Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-2 lesenswert
nicht lesenswert
Hallo Herr Abrecht,
Ich hab das so umgesetzt aber als Ausgabe erhalte ich wiederum auf dem
Browser 12 und die beiden Eingabefelder sind auch weg.

Autor: Daniel A. (daniel-a)
Datum:
Angehängte Dateien:

Bewertung
1 lesenswert
nicht lesenswert
Sorry, aber es ist diesmal schon etwas mehr nötig als simples Copy & 
Paste. Öffne doch aml die Browser Console und probiere aus, was 
überhaupt was bewirkt. Das ganze hat wenig Sinn, wenn du nicht 
verstehst, was du da eigentlich tust.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Daniel A. schrieb:
> Sorry, aber es ist diesmal schon etwas mehr nötig als simples Copy
> &
> Paste.
Das ist mir schon klar.

Ich hab die letzten 2 Tage im Netz gesucht wie das gemacht wird, aber 
alles was ich gelesen hab sind immer nur Teile davon gewesen.

Ich wollte ja nur das die 1 in Vorname erscheint und die 2 in Nachname.


Öffne doch aml die Browser Console und probiere aus, was
> überhaupt was bewirkt. Das ganze hat wenig Sinn, wenn du nicht
> verstehst, was du da eigentlich tust.

Ich habe zurzeit nur den edge Browser von Windows10.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wie oft denn noch?
Erst Grundlagen dann Detailwissen.
Im Moment weiste nichtmal wonach du suchst und wenn das blinde Huhn dann 
doch mal nen Korn gefiunden hat weies es nicht wie man das Anwendet.

Snsonsten zitier ich mich mal selbst, bisher kam ja keine Antwort:

Mw E. schrieb:
> Ansonsten weis hier keiner wasse überhaupt willst.
> Also beschreib doch mal in in jeweils 10 Sätzen folgendes:
> 1) was willste denn im großen und ganzen machen
> 2) was soll der HTML Code machen und wie verträgt sich das mit Punkt 1
> 3) was wird übers Netzwerk übertragen bei den Aktionen der Webseite
> (siehe Wireshark)
> 4) wie kommt Punkt 3 bei dem Codeschnipsel an

Autor: conny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mw E. schrieb:

> Snsonsten zitier ich mich mal selbst, bisher kam ja keine Antwort:
>
> Mw E. schrieb:
>> Ansonsten weis hier keiner wasse überhaupt willst.
>> Also beschreib doch mal in in jeweils 10 Sätzen folgendes:
>> 1) was willste denn im großen und ganzen machen
>> 2) was soll der HTML Code machen und wie verträgt sich das mit Punkt 1
>> 3) was wird übers Netzwerk übertragen bei den Aktionen der Webseite
>> (siehe Wireshark)
>> 4) wie kommt Punkt 3 bei dem Codeschnipsel an

Ich hab ein Formular mit einem Vorname und einem Feld Nachname.

Auf dem Webserver ist ein cgi script das gibt mir dann für den Vorname 1 
und für den Nachname 2 zurück.

Aber im Browser erhalte ich beim Feld Nachname 12.

Ich wollte das gerne im Feld Vorname 1 und im Feld Nachname 2 erscheint.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Da sind keine 10 Sätze pro Nummer, sondern nur oberflächliches blabla

Autor: Daniel A. (daniel-a)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Ich habe dir mal einige grundlegende Dinge Zusammengestellt, die man bei 
JavaScript wissen sollte. Versuche mal das PDF im Anhang zu verstehen.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Kann man auch gleich in jsfiddle ausprobieren.

Erklärung zu jsfiddle:
https://blog.selfhtml.org/2013/10/11/jsfiddle-fuer...

jsfiddle selbst:
https://jsfiddle.net/

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wiegesagt auf dem Webserver ist ein cgi script das gibt mir dann für den 
Vorname 1 und für den Nachname 2 zurück.
Aber im Browser erhalte ich beim Feld Nachname 12.
Ich wollte das gerne im Feld Vorname 1 und im Feld Nachname 2 erscheint.

Wie von ihnen vorgeschlagen mit json.parse bekomme ich nicht umgesetzt 
und finde auch nirgends ein Beispiel wie es richtig gemacht wird, wo ich 
auch selbst sehen kann wies geht.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
>> Öffne doch aml die Browser Console

> Ich habe zurzeit nur den edge Browser von Windows10.

Ja und? Du kannst ja mal F12 drücken (wie bei allen anderen Browsern) 
und staunen, was dann passiert.

> Wie von ihnen vorgeschlagen mit json.parse bekomme ich nicht umgesetzt

Weil du die Grundlagen vom programmieren nicht verstanden hast. Das ist 
so einfach, dass es jeder hinbekommt, der die Grundlagen gelernt hat.

Fang doch endlich mal an, kleine Brötchen zu backen. Ich versuche doch 
auch nicht, ein Kraftwerk von RWE umzubauen ohne zu verstehen, wie ein 
Mofa funktioniert.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
vielen Dank erstmal Herr Albrecht,

Wie gesagt bekomme ich das so nicht umgesetzt. :(

Ich finde auch nirgends ein Beispiel dafür zum üben.

Dann muss ich für jedes Eingabefeld ein Submid Button machen dann geht 
es, aber so wie ich das gerne wollte gehts nicht.
mfg

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
conny schrieb:
> Wie gesagt bekomme ich das so nicht umgesetzt. :(

Ja weil du blöd bist, anders kann ichs nicht sagen!
Lern die Grundlagen und wie sehen uns vllt wieder.

Und wieso hat nen Mod jetz von Stefan Us den Post gelöscht?

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und wieso hat nen Mod jetz von Stefan Us den Post gelöscht?

Ich hatte eine völlig deplatzierte Hassrede von einem hier berüchtigten 
Troll kommentiert und ihn damit gefüttert. Sollte man nicht machen.

: Bearbeitet durch User
Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
conny schrieb:
> Wiegesagt auf dem Webserver ist ein cgi script das gibt mir dann
> für den Vorname 1 und für den Nachname 2 zurück.
> Aber im Browser erhalte ich beim Feld Nachname 12.
> Ich wollte das gerne im Feld Vorname 1 und im Feld Nachname 2 erscheint.
>

Für die Profis unter ihnen ist das Sicherlich ein klacks, ist es denn 
möglich ein link mir zu zeigen wo dies so gemacht wird.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Nein, weil du kein Profi bist.

Du brauchst eine Ausbildung mit Lehrer, der Dir den Stoff vorkaut und 
Übungsaufgaben gibt, die Dich schrittweise bis zum Profi weiter 
entwickeln.

Die Alternative (Du entwickelst dich selber Schrittweise weiter) lehnst 
du ja seit Monaten konsequent ab.

Den Profi-Status kann man sich weder erkaufen, noch irgendwo mit einem 
Kabel ins Gehirn einspeisen. Man muss ihn erlernen.

Mir fallen nur wenige Berufe/Hobbies ein, die man ohne Lernen ausüben 
kann. Zum Beispiel Mülltonnen umwerfen, kleinere Kinder abzocken, 
Fernseh gucken, Putzen, Saufen, ...

Das ist aber ganz offensichtlich nicht die Art von Beschäftigung, die Du 
magst. Also reiß Dich bitte zusammen und lerne dein Hobby. So etwas 
braucht Zeit, und zwar mehrere Jahre! Ist ganz normal.

Solange ich Doch kenne, hast du bezüglich µC Programmierung noch fast 
gar nichts gelernt. Dir fehlen immer noch die Grundlagen. Du bist immer 
noch bei der Methode copy+paste.

Kennst du den Unterschied zwischen Mozart und einem Kassettenrecorder? 
Mozart hat Musik gemacht, du bist der Kassettenrecorder, der sie 
kopiert.

: Bearbeitet durch User
Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das passt gerade irgendwie: 
http://www.commitstrip.com/en/2014/12/08/small-thi...

Ich gebe nochmal einige Hinweise. Im bisherigen Code wurde der Inhalt 
eines Feldes Beispielsweise so gesetzt:
document.getElementById("elementid").value = "inhalt";

Jetzt schlüsseln wir das mal auf. document ist eine globale Variable, 
welche eine Referenz auf die document Node des Fensters beinhaltet. Die 
document node, ist wie fast alles andere auch, ein Objekt. Dieses ist 
eine Instanz vom Typ Document, welcher auch vom Typ Node abgeleitet ist. 
Wie jedes andere Element auch hat es Eigenschaften, manchmal auch als 
Properties oder Members bezeichnet. Eine dieser Eigenschaften ist/hat 
den Namen/Key getElementById . getElementById enthelt eine Referenz 
auf eine Funktion, man redet daher von der Funktion  getElementById oder 
der Methode getElementById. Eine Methode ist eine Eigenschaft eines 
Objekts dessen Wert/Inhalt eine Funktion ist. Die runden Klammern nach 
dem Identifier getElementById sind der JavaScript Syntax/Schreibweise 
für einen Funktionsaufruf. "elementid" ist ein String literal. Es ist 
der erste eintrag in den Klammern des Funktionsaufruf, und somit das 
erste Argument das übergeben wird. Die Funktion getElementById gibt 
wiederum ein Objekt zurück. Dieses hat einen Typ der vom Typ HTMLElement 
abgeleitet ist, welcher vom typ Node abgeleitet ist. Wir gehen davon 
aus, Dass wir ein Element vom HTMLInputElement bekommen haben. Das 
Objekt repräsentiert unser Input element. Wie jedes Objekt hat auch 
dieses Eigenschaften. Die Eigenschaft value des HTMLInputElements 
repräsentiert dessen Inhalt. Mit dem = setzen wir den Wert von value, 
und der Browser zeigt diesen im Eingabefeld an. Nach dem = steht 
"inhalt". es ist ein String Literal. Dieses wird als neuer Wert 
zugewiesen.
Es ist zu beachten, dass statt den String Literalen auch Variablen, 
Berechnungen, und beliebige andere Ausdrücke dastehen können.

Nun zu der Zeile:
"12".split('');
Hier verwenden wir das String Literal, (welches ein Primitiver datentyp 
ist), als Objekt. Split ist eine Methode des Objekts. Diese wird mit 
einem Leeren string als 1tes Argument aufgerufen. Split gibt deshalb ein 
Array zurück, das jedes Zeichen einzeln enthält. Man kann diesen wert 
z.B. in eine Variable speichern:
var characters = "12".split('');
Der String kann auch von einer Variable oder sonst wo kommen:
var string = "12"; // Der String "12" wird in der Variable string gespeichert
var characters = string.split(''); // Der rückgabewert von Split, welcher hier ["1","2"] ist, wird in characters gespeichert

Jetzt zu JSON.parse:
JSON.parse('{"vorname":123,"nachname":456}');
Es handelt sich bei JSON.parse um die Methode parse des Objekts in JSON, 
welches eine globale Variable ist. Diese Methode/Funktion nimmt einen 
String als erstes Argument. Dieser String sollte gemäs dem JSON Standard 
formatiert sein. Die Rückgabe ist ein Objekt. Wie jedes Objekt hat 
dieses Eigenschaften. In diesem fall die Eigenschaften, welche in JSON 
objekt, welches als String formatiert vorliegt, spezifiziert wurden. 
JSON.parse parst den String, um daraus das Objekt zu machen, welches es 
zurück gibt. Dieses Objekt enthält die Eigenschaften vorname und 
nachname. Wie bei jedem Objekt kann man in JavaScript mit .vorname und 
.nachname, also mit .eigenschaftsname auf diese zugreifen. Wie beim 
vorhergehenden Beispiel kann statt dem String ein beliebiger Ausdruck 
dastehen, und es ist möglich den Rückgabewert in einer Variable zu 
Speichern:
var jsonstring = '{"vorname":123,"nachname":456}';
var object = JSON.parse(jsonstring);
Man kann dan wie immer auf die Eigenschaften des Objekts zugreifen, hier 
z.B. über die Variable object:
object.vorname // vorname enthält 123
Natürlich muss man nicht zwangslaufig eine Variable verwenden, man kann 
auch direckt auf die eigenschaft des von der Funktion zurückgegebenen 
Objekts zugreifen, wie im ersten Beispiel:
JSON.parse('{"vorname":123,"nachname":456}').vorname

Schlussfolgernd kann man darauf schliessen, dass du dann beim ersten 
Beispiel den Inhalt des Eingabefelds statt auf "inhalt", auch auf den 
inhalt von z.B. object.vorname setzen könntest.

: Bearbeitet durch User
Autor: conny (Gast)
Datum:
Angehängte Dateien:

Bewertung
-1 lesenswert
nicht lesenswert
Hallo Herr Abrecht,

Ich habe mir das mehrmals Durchgelesen und versucht so wie sie das 
Beschrieben haben umzusetzen.
Aber ich erhalte nur beim Nachnamen den Wert.

Ich bekomme das nun nicht richtig umgesetzt



Dann hab ich nochmal etwas anderes versuchst wo ich die Werte auch in 
meine Felder zurückbekomme nachdem das Formular abgesendet ist.
Ist vielleicht nicht ganz richtig, so wird es richtig angezeigt.

Besser wäre das natürlich wie von ihnen beschrieben.

static char *SWITCH_CGIHandler( int iIndex, int iNumParams, char *pcParam[], char *pcValue[] )
{ 
   char ablage[3];
   char copy[10];
   
   uint32_t i=0;
   int  index;

   Open_Ordner("/net");
   read_pic(0,0,"WEB2.BMP");
   Close_Ordner();

   index = FindCGIParameter ( "w1", pcParam, iNumParams );
   clear_response_bufer(data_response_buf); 
   
    /* Check cgi parameter : example GET */
    for (i=0; i<2; i++)
    {
  
       //Wohnzimer an Stunde : MINUTE
       if (strcmp(pcParam[0] , "w1")==0)   
        {    
         decode_TEST(pcValue[0],ablage);  
  
         switch_buffer[0] = ablage[0];
          switch_buffer[1] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[0],switch_buffer[1]);  
         //DrawString(10,50,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }
    
       //Wohnzimer aus Stunde : MINUTE 
       if (strcmp(pcParam[1] , "w2")==0)   
        {    
          decode_TEST(pcValue[1],ablage);  
  
          switch_buffer[2] = ablage[0];
          switch_buffer[3] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[2],switch_buffer[3]);  
         //DrawString(200,50,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }


       //Schlafzimer an Stunde : MINUTE
       if (strcmp(pcParam[2] , "s1")==0)   
        {    
         decode_TEST(pcValue[2],ablage);  
  
         switch_buffer[4] = ablage[0];
          switch_buffer[5] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[4],switch_buffer[5]);  
         //DrawString(10,80,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }
    
       //Schlafzimer aus Stunde : MINUTE 
       if (strcmp(pcParam[3] , "s2")==0)   
        {    
         decode_TEST(pcValue[3],ablage);  
  
         switch_buffer[6] = ablage[0];
         switch_buffer[7] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[6],switch_buffer[7]);  
         //DrawString(200,80,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }

       //Kinderzimer an Stunde : MINUTE
       if (strcmp(pcParam[4] , "k1")==0)   
        {    
         decode_TEST(pcValue[4],ablage);  
  
         switch_buffer[8] = ablage[0];
          switch_buffer[9] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[8],switch_buffer[9]);  
         //DrawString(10,105,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }
    
       //Kinderzimer aus Stunde : MINUTE 
       if (strcmp(pcParam[5] , "k2")==0)   
        {    
         decode_TEST(pcValue[5],ablage);  
  
         switch_buffer[10] = ablage[0];
         switch_buffer[11] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[10],switch_buffer[11]);  
         //DrawString(200,105,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }

    
       //Küche an Stunde : MINUTE
       if (strcmp(pcParam[6] , "ku1")==0)   
        {    
         decode_TEST(pcValue[6],ablage);  
  
         switch_buffer[12] = ablage[0];
          switch_buffer[13] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[12],switch_buffer[13]);  
         //DrawString(10,125,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }
    
       //Küche aus Stunde : MINUTE 
       if (strcmp(pcParam[7] , "ku2")==0)   
        {    
         decode_TEST(pcValue[7],ablage);  
  
         switch_buffer[14] = ablage[0];
         switch_buffer[15] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[14],switch_buffer[15]);  
         //DrawString(200,125,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }  

       //BALKON an Stunde : MINUTE
       if (strcmp(pcParam[8] , "b1")==0)   
        {    
         decode_TEST(pcValue[8],ablage);  
  
         switch_buffer[16] = ablage[0];
          switch_buffer[17] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[16],switch_buffer[17]);  
         //DrawString(10,150,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }
    
       //BALKON aus Stunde : MINUTE 
       if (strcmp(pcParam[9] , "b2")==0)   
        {    
         decode_TEST(pcValue[9],ablage);  
  
         switch_buffer[18] = ablage[0];
         switch_buffer[19] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[18],switch_buffer[19]);  
         //DrawString(200,150,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }  

       //FLUR an Stunde : MINUTE
       if (strcmp(pcParam[10] , "f1")==0)   
        {    
         decode_TEST(pcValue[10],ablage);  
  
         switch_buffer[20] = ablage[0];
          switch_buffer[21] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[20],switch_buffer[21]);  
         //DrawString(10,175,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }
    
        //FLUR aus Stunde : MINUTE 
       if (strcmp(pcParam[11] , "f2")==0)   
        {    
         decode_TEST(pcValue[11],ablage);  
  
         switch_buffer[22] = ablage[0];
         switch_buffer[23] = ablage[1];
        
         //sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[22],switch_buffer[23]);  
         //DrawString(200,175,read_write_buffer,&Arial_16x25,WHITE,RED);         
        }    
    }
    
      sprintf(read_write_buffer,("Wohnzimmer   %02d:%02d BIS"),switch_buffer[0],switch_buffer[1]);  
      DrawString(150,140,read_write_buffer,&Arial_16x25,Orange,BLACK); 
      
      sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[2],switch_buffer[3]);  
      DrawString(512,140,read_write_buffer,&Arial_16x25,Orange,BLACK); 

      sprintf(read_write_buffer,("Schlafzimmer %02d:%02d BIS"),switch_buffer[4],switch_buffer[5]);  
      DrawString(150,170,read_write_buffer,&Arial_16x25,Orange,BLACK); 
      
      sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[6],switch_buffer[7]);  
      DrawString(512,170,read_write_buffer,&Arial_16x25,Orange,BLACK); 

      sprintf(read_write_buffer,("Kinderzimmer %02d:%02d BIS"),switch_buffer[8],switch_buffer[9]);  
      DrawString(150,200,read_write_buffer,&Arial_16x25,Orange,BLACK); 
      
      sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[10],switch_buffer[11]);  
      DrawString(512,200,read_write_buffer,&Arial_16x25,Orange,BLACK); 

      sprintf(read_write_buffer,("Kueche       %02d:%02d BIS"),switch_buffer[12],switch_buffer[13]);  
      DrawString(150,230,read_write_buffer,&Arial_16x25,Orange,BLACK); 
      
      sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[14],switch_buffer[15]);  
      DrawString(512,230,read_write_buffer,&Arial_16x25,Orange,BLACK);
                              
      sprintf(read_write_buffer,("Balkon       %02d:%02d BIS"),switch_buffer[16],switch_buffer[17]);  
      DrawString(150,260,read_write_buffer,&Arial_16x25,Orange,BLACK); 
      
      sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[18],switch_buffer[19]);  
      DrawString(512,260,read_write_buffer,&Arial_16x25,Orange,BLACK);
                      
      sprintf(read_write_buffer,("Flur         %02d:%02d BIS"),switch_buffer[20],switch_buffer[21]);  
      DrawString(150,290,read_write_buffer,&Arial_16x25,Orange,BLACK); 
      
      sprintf(read_write_buffer,("%02d:%02d"),switch_buffer[22],switch_buffer[23]);  
      DrawString(512,290,read_write_buffer,&Arial_16x25,Orange,BLACK);



   strcat((char *)(data_response_buf), "\<form action=\"/switch.shtml\" method=\"get\">\<html>\<head>\<link rel=\"stylesheet\" type=\"text/css\" hreff=\"Z_style.css\"><title>SWITCH</title></head>\<body>\<table>\<tr><td> WOHNZIMMER:</td><td><input class=\"inpl\" type=\"text\" name=\"w1\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[0],switch_buffer[1]);
   
   strcat((char *)(data_response_buf),copy);
   
   strcat((char *)(data_response_buf),"\"> BIS <input class=\"inpr\" type=\"text\" name=\"w2\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[2],switch_buffer[3]);

   strcat((char *)(data_response_buf),copy);
   
   
   //SCHLAFZIMMER
   strcat((char *)(data_response_buf),"\"></td></tr>\<tr><td>SCHLAFZIMMER:</td><td><input class=\"inpl\" type=\"text\" name=\"s1\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[4],switch_buffer[5]);

   strcat((char *)(data_response_buf),copy);

   strcat((char *)(data_response_buf),"\"> BIS <input class=\"inpr\" type=\"text\" name=\"s2\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[6],switch_buffer[7]);

   strcat((char *)(data_response_buf),copy);

   
   //KINDERZIMMER
   strcat((char *)(data_response_buf),"\"></td></tr>\<tr><td>KINDERZIMMER:</td><td><input class=\"inpl\" type=\"text\" name=\"k1\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[8],switch_buffer[9]);

   strcat((char *)(data_response_buf),copy);

   strcat((char *)(data_response_buf),"\"> BIS <input class=\"inpr\" type=\"text\" name=\"k2\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[10],switch_buffer[11]);

   strcat((char *)(data_response_buf),copy);  
   
   
   //KUECHE
   strcat((char *)(data_response_buf),"\"/></td></tr>\<tr><td>KUECHE:</td><td><input class=\"inpl\" type=\"text\" name=\"ku1\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[12],switch_buffer[13]);

   strcat((char *)(data_response_buf),copy);
   
   strcat((char *)(data_response_buf),"\"> BIS <input class=\"inpr\" type=\"text\" name=\"ku2\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[14],switch_buffer[15]);

   strcat((char *)(data_response_buf),copy);


   
   //BALKON
   strcat((char *)(data_response_buf),"\"/></td></tr>\<tr><td>BALKON:</td><td><input class=\"inpl\" type=\"text\" name=\"b1\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[16],switch_buffer[17]);

   strcat((char *)(data_response_buf),copy);

   strcat((char *)(data_response_buf),"\"> BIS <input class=\"inpr\" type=\"text\" name=\"b2\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[18],switch_buffer[19]);

   strcat((char *)(data_response_buf),copy);
   
  //FLUR
   strcat((char *)(data_response_buf),"\"/></td></tr>\<tr><td>FLUR:</td><td><input class=\"inpl\" type=\"text\" name=\"f1\" maxlength=\"5\" value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[20],switch_buffer[21]);

   strcat((char *)(data_response_buf),copy);  
  
   strcat((char *)(data_response_buf),"\"> BIS <input class=\"inpr\" type=\"text\" name=\"f2\" maxlength=\"5\"  value=\"");

   sprintf(copy,("%02d:%02d"),switch_buffer[22],switch_buffer[23]);

   strcat((char *)(data_response_buf),copy);   
   
   strcat((char *)(data_response_buf),"\"/></td></tr>\<tr align=\"justify\"><td colspan=2><INPUT class=\"bsend\" TYPE=submit VALUE=\"SEND\"></td></tr>\</table></form>");

 
  /* uri to send after cgi call*/
return RESPONSE_PAGE_SET_CGI_RSP_URL;
}



Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Das Formular wird korrekt abgesendet und auch richtig im cgi handler 
empfangen.

In meinem Eingabefeld im Browser ändert sich nichts.




  var text;        
          function Test_formular2( event, form )
          {
            var params = getFormFields(form);
            params.t = Math.random();
            loadXMLDoc(form.action + toQueryString(params),
              
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                               text = document.getElementById("id").value =  xmlhttp.responseText;
                               text = text.split(";");
                               document.getElementById("vorname").value=text[0]+"ok";
                               document.getElementById("nachname").value=text[1];
                            
                }
              }
            );
            event && event.preventDefault();
          }




<form  method="get" onsubmit="Test_formular2(event,this); return false;" action="/switchc.cgi">
   
  <label class="h2" form="person">Namenseingabe</label>
    <label for="vorname">Vorname</label> 
    <input type="text" name="vorname" id="vorname" maxlength="30">
 
  <label class="h2" form="person">Namenseingabe</label>
    <label for="nachname">Nachname</label> 
    <input type="text" name="nachname" id="nachname" maxlength="30">
  
    <input type="submit" value="Senden" />  
</form>



Autor: Stefanus F. (stefanus)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> text = document.getElementById("id").value =  xmlhttp.responseText;

Was soll das werden?

Hat das Dokument ein Formularfeld mit der id "id"? Ich sehe keins.
Und warum schreibst du da dann den Namen rein, wenn es doch "id" heisst?

Ich schreibe doch auch nicht die Postleitzahl in ein Feld Names 
"Hausnummer"!

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Stefan U. schrieb:
>> text = document.getElementById("id").value =
> xmlhttp.responseText;
>
> Was soll das werden?
>
> Hat das Dokument ein Formularfeld mit der id "id"? Ich sehe keins.
> Und warum schreibst du da dann den Namen rein, wenn es doch "id" heisst?
>
> Ich schreibe doch auch nicht die Postleitzahl in ein Feld Names
> "Hausnummer"!
id="vorname"
id="nachname"

Das Formularfeld hat doch 2 Einträge Vorname und nachname.
sonst muss ich das ja 2 mal senden für vorname und nachname

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Grundlagen will er ja nicht lernen dementsprechend gruselig ist auch der 
Code.

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
> document.getElementById("id")

Findet das Element mit der id "id", das nicht existiert.

Die Felder für Vorname und Nachname haben andere id's, nämlich "vorname" 
und "nachname".

Du scheiterst immer noch an den Grundlagen. Wenn ich jemandem Javascript 
beibringe, ist das der Lehrstoff des ersten Tages. Embedded Webserver 
Programmieren wäre der Lehrstoff nach einigen Monaten.

Conny, du ignorierst völlig deinen Horizont. Du willst eine Rakete 
entwicklen, kannst aber nichtmal eine Kerze anzünden.

: Bearbeitet durch User
Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Immerhin ist er einer Lösung schonmal etwas näher gekommen.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Wenn ich das Formular absende bekomme ich nur im Feld Vorname die Werte 
für Vorname und Nachname.

Das Feld Nachname bleibt leer.

          function Test_formular2( event, form )
          {
            var params = getFormFields(form);
            params.t = Math.random();
            loadXMLDoc(form.action + toQueryString(params),
              
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                  text = document.getElementById("vorname","nachname").value = xmlhttp.responseText;
                
                        text = text.split(";");
                                  document.getElementById("vorname").innerHTM=text[0]+;
                                  document.getElementById("nachname").innerHTML=text[1]; 
                }
              }
            );
            event && event.preventDefault();
          }

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nichtmal googeln kann er...
Seit wann nimmt denn getElementById mehr als 1 Argument?

Dei Seite ist sogar auf Deutsch, also nichtmal da ist eine Ausrede 
möglich so ignorant zu sein:
https://wiki.selfhtml.org/wiki/JavaScript/DOM/Docu...

Stefan U. schrieb:
> Conny, du ignorierst völlig deinen Horizont. Du willst eine Rakete
> entwicklen, kannst aber nichtmal eine Kerze anzünden.

Dem ist nichts hinzuzufügen.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Mw E. schrieb:
> Nichtmal googeln kann er...
> Seit wann nimmt denn getElementById mehr als 1 Argument?
>



> Dei Seite ist sogar auf Deutsch, also nichtmal da ist eine Ausrede
> möglich so ignorant zu sein:
> https://wiki.selfhtml.org/wiki/JavaScript/DOM/Docu...
>
ich will doch nicht für jedes eingabefeld einen Button




> Stefan U. schrieb:
>> Conny, du ignorierst völlig deinen Horizont. Du willst eine Rakete
>> entwicklen, kannst aber nichtmal eine Kerze anzünden.
>
> Dem ist nichts hinzuzufügen.

stimmt doch garnicht!

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ehrliche Frage: Biste eigentlich völlig blöde?
Das war nur das Beispiel um getElementById zu Beschreiben.
Verstanden hastes ja offensichtlich nicht.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Mw E. schrieb:
> Ehrliche Frage: Biste eigentlich völlig blöde?
> Das war nur das Beispiel um getElementById zu Beschreiben.
> Verstanden hastes ja offensichtlich nicht.

Natürlich hab ich das als Beispiel verstanden!

ich fragte wie ich nun meine werte für Vorname und Nachname angezeigt 
bekomme.


so bekomme ich nur den wert für Nachname in bveiden Feldern angezeigt
          function Test_formular2( event, form )
          {
            var params = getFormFields(form);
            params.t = Math.random();
            loadXMLDoc(form.action + toQueryString(params),
              
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                   text = document.getElementById("vorname").value = xmlhttp.responseText;
                
                        text = text.split(";");
                                  document.getElementById("vorname").innerHTML=text[0];
                  
                  text1 = document.getElementById("nachname").value = xmlhttp.responseText;
                
                        text1 = text1.split(";");
                                  document.getElementById("nachname").innerHTML=text1[0];                  
                }
              }
            );
            event && event.preventDefault();
          }

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Kann mir denn hier wirklich keiner helfen wie ich nun die werte für 
Vorname und Nachname richtig angezeigt bekomme


          function Test_formular1( event, form )
          {
            var params = getFormFields(form);
            params.t = Math.random();
            loadXMLDoc(form.action + toQueryString(params),
              
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                               text = xmlhttp.responseText;
                               text = text.split(";");

                               document.getElementById("vorname").value=text[0];

                  
                }
              }
            );
            event && event.preventDefault();
          }          

          function Test_formular2( event, form )
          {
            var params = getFormFields(form);
            params.t = Math.random();
            loadXMLDoc(form.action + toQueryString(params),
              
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                                text = xmlhttp.responseText;
                                text = text.split(";");
    
                                document.getElementById("nachname").value=text[0];

                  
                }
              }
            );
            event && event.preventDefault();
          }







                    function test(event,form)
                    {
                        Test_formular1(event,form);
            Test_formular2(event,form);
          }



<form method="get" onsubmit="test(event,this); return false;" action="/switchb.cgi">
   
  <label class="h2" form="person">Namenseingabe</label>
    <label for="vorname">Vorname</label> 
    <input type="text" name="vorname" id="vorname" maxlength="30">
 
  <label class="h2" form="person">Namenseingabe</label>
    <label for="nachname">Nachname</label> 
    <input type="text" name="nachname" id="nachname" maxlength="30">

<input type="submit" value="Senden" />  
</form>


static char *SWITCH_CGIHandler( int iIndex, int iNumParams, char *pcParam[], char *pcValue[] )
{ 
   char switch_buffer[120];
   uint32_t i=0;
   int  index, index2;
  
   switch_buffer[0] = 1;
   switch_buffer[1] = 2;
   switch_buffer[2] = 3;
   switch_buffer[3] = 4;
   switch_buffer[4] = 5;
   switch_buffer[5] = 6;
   switch_buffer[6] = 7;
   switch_buffer[7] = 8;
   switch_buffer[8] = 9;
   switch_buffer[9] = 10;
   switch_buffer[11] = 11;
   switch_buffer[12] = 12;



  
   /* We have only one SSI handler iIndex = 0 */
   index = FindCGIParameter ( "vorname", pcParam, iNumParams );
        
   DrawString(0,50,pcParam[0],&Arial_16x25,WHITE,RED);  
   DrawString(0,79,pcValue[0],&Arial_16x25,WHITE,RED);  
   
  if(index != -1)
  {
     
    for (i=0; i<iNumParams; i++)
    {
      DrawString(0,150,pcValue[0],&Arial_16x25,WHITE,RED);  
      sprintf(read_write_buffer,"%d",switch_buffer[0]);
      
    
      strcat((char *)(data_response_buf),read_write_buffer);   
      
      if (strcmp(pcParam[i] , "nachname")==0)   
      { 
         sprintf(read_write_buffer,"%d",switch_buffer[11]);
      
         DrawString(0,400,pcParam[0],&Arial_16x25,WHITE,RED);  
         strcat((char *)(data_response_buf),read_write_buffer); 
      }
}
    
clear_response_bufer(data_response_buf); 
  }  
  /* uri to send after cgi call*/
return RESPONSE_PAGE_SET_CGI_RSP_URL;
}




Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nöhhh...

Kannst ja nichtmal meine Fragen mit jeweils 10 Sätzen beantworten.
Die sind nicht dazu da um dich zu ärgern, sondern um abzuklopfen was 
denn überhaupt an Minimalwissen vorhanden ist.
Vor allem wie denn die Variablen vom Browser zum Webserver wandern.

Aber da kommt ja nichts.
Nur rumgeheule, dass deine Kopierpaste nicht funktioniert und Andere 
sollens richten.
So funktioniert das in einem Forum nunmal nicht.
Kauf dir nen Freelancer ein, der macht dir das für teuer Geld fertig.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Mw E. schrieb:
> Nöhhh...
>
> Kannst ja nichtmal meine Fragen mit jeweils 10 Sätzen beantworten.
> Die sind nicht dazu da um dich zu ärgern, sondern um abzuklopfen was
> denn überhaupt an Minimalwissen vorhanden ist.
> Vor allem wie denn die Variablen vom Browser zum Webserver wandern.
> Aber da kommt ja nichts.
????????

Das habe ich doch nun schon Ausreichend erklärt, ein Formular mit 2 
Feldern.
Das wird auch richtig empfangen im CGI Handler.

Wenn im Vorname und Nachname etwas eigegeben wird soll im Browser bei 
Vorname 1 und Nachname 12 stehen.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nein haste nicht.

Aber da bemerkt man deine Oberflächlichkeit mit der die Sache angegangen 
wird.

: Bearbeitet durch User
Autor: 13231 (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich denke auch, dass du genug "Hilfe" bekommen hast.
Was du erwartest ist, dass andere dir die Lösung auf dem Silbertablett 
präsentieren.

Wenn ich mir den code angucke dann bezweifel ich, dass auch nur 10 % 
wirklich von dir sind. Eigenleistung = null!

Sollte das für eine Abschlussarbeit etc. sein dann mal gute nacht.
Anstatt kampfhaft in foren nach lösungen zu suchen wäre es besser sich 
mal ordentlich zeit zu nehmen und sich richtig einzuarbeiten.

Das ist nämlich sinn der sache. deswegen hat man auch an allen unis, fhs 
etc mit einarbeiungsphasen über ein halbes jahr lang zeit.

diese zeit ist nicht dafür gedacht nach leuten zu suchen die dir alle 
lösungen vorschreiben sondern dient dazu dir wissen und fertigkeiten 
anzueignen.

Autor: Ralf (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
ja das sind dann die leute die sich mit fremden federn schmücken und 
auch noch angeben, dass sie eine aufgabe in "rekordzeit" erledigt haben

Autor: andre (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
13231 schrieb:
> Ich denke auch, dass du genug "Hilfe" bekommen hast.
> Was du erwartest ist, dass andere dir die Lösung auf dem Silbertablett
> präsentieren.
>
> Wenn ich mir den code angucke dann bezweifel ich, dass auch nur 10 %
> wirklich von dir sind. Eigenleistung = null!
>
> Sollte das für eine Abschlussarbeit etc. sein dann mal gute nacht.
> Anstatt kampfhaft in foren nach lösungen zu suchen wäre es besser sich
> mal ordentlich zeit zu nehmen und sich richtig einzuarbeiten. Das ist
> nämlich sinn der sache. deswegen hat man auch an allen unis, fhs etc mit
> einarbeiungsphasen über ein halbes jahr lang zeit.
>
> diese zeit ist nicht dafür gedacht nach leuten zu suchen die dir alle
> lösungen vorschreiben sondern dient dazu dir wissen und fertigkeiten
> anzueignen.

Und nein das ist keine Abschlussarbeit.
Ich suche nicht nach jemand dervmir das aufn Silbertablet serviert!

Ralf schrieb:
> ja das sind dann die leute die sich mit fremden federn schmücken
> und auch noch angeben, dass sie eine aufgabe in "rekordzeit" erledigt
> haben

Nein das mache ich nicht.

Autor: conny (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
13231 schrieb:
> Ich denke auch, dass du genug "Hilfe" bekommen hast.
> Was du erwartest ist, dass andere dir die Lösung auf dem Silbertablett
> präsentieren.
>
> Wenn ich mir den code angucke dann bezweifel ich, dass auch nur 10 %
> wirklich von dir sind. Eigenleistung = null!
>
> Sollte das für eine Abschlussarbeit etc. sein dann mal gute nacht.
> Anstatt kampfhaft in foren nach lösungen zu suchen wäre es besser sich
> mal ordentlich zeit zu nehmen und sich richtig einzuarbeiten. Das ist
> nämlich sinn der sache. deswegen hat man auch an allen unis, fhs etc mit
> einarbeiungsphasen über ein halbes jahr lang zeit.
>
> diese zeit ist nicht dafür gedacht nach leuten zu suchen die dir alle
> lösungen vorschreiben sondern dient dazu dir wissen und fertigkeiten
> anzueignen.

Und nein das ist keine Abschlussarbeit.
Ich suche nicht nach jemand der mir das aufn Silbertablet serviert!

Ralf schrieb:
> ja das sind dann die leute die sich mit fremden federn schmücken
> und auch noch angeben, dass sie eine aufgabe in "rekordzeit" erledigt
> haben

Nein das mache ich nicht.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Oh Oh, posten unter 2 Nicknames das gibt Ärger.

>Ebenso nicht erlaubt ist:

>    * Mutwillige Störung von Diskussionen ("trollen")
>    * Beteiligung an einer Diskussion unter verschiedenen Namen

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
Mw E.=
Wissen sie, sie können hier nur die Leute Denozieren ansonsten kommt von 
ihnen nichts weiter.

Ich habe mehrmals höflich gefragt und sie beschimpfen hier nur.

Autor: Ralf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
conny schrieb:
> Mw E.=
> Wissen sie, sie können hier nur die Leute Denozieren ansonsten kommt von
> ihnen nichts weiter.
>

de·nun·zi̱e̱·ren
Verb [mit OBJ]
1.
abwert.
(jmd. denunziert jmdn. bei etwas Dat.) jmdn. aus niederen Beweggründen 
bei einer Behörde anzeigen.
"jemanden bei der Polizei denunzieren"
2.
abwert.
(jmd. denunziert etwas als etwas) etwas öffentlich als negativ 
beurteilen oder kritisieren, so dass dadurch zugleich eine Person 
angegriffen wird.

Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
schade das mir hier keiner helfen kann mit dem Formular.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
conny schrieb:
> Ich habe mehrmals höflich gefragt und sie beschimpfen hier nur.

Zwischen höflich Fragen und nur abgreifen besteht dann aber schon ein 
kleiner Unterschied ;)

Autor: conny (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Mw E. schrieb:
> conny schrieb:
> Ich habe mehrmals höflich gefragt und sie beschimpfen hier nur.
>
> Zwischen höflich Fragen und nur abgreifen besteht dann aber schon ein
> kleiner Unterschied ;)

Ich will hier NICHTS abgreifen!,
ich hatte mehrmals gefragt wie Mann das macht und obs irgendwo ein 
Beispiel gibt wo ich selbst üben kann und sehe wie das gemacht wird.

Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Bei deinem Wissensstand bringen aber Beispiele NICHTS.
Da du diese einfach nicht verstehst.
Wie das passende Vorgehen aussieht wurde von Stefan Us, Daniel Abrecht 
und mir schon mehrmals gesagt:
GRUNDLAGEN LERNEN!

Hast es ja nichtmal geschafft danach zu googeln wie man getElementById() 
benutzt. Dann geb ich dir nen Link und dann heulste was rum von ->
conny schrieb:
> ich will doch nicht für jedes eingabefeld einen Button

In Javascript haste dich bisher auch nicht eingelesen so wie der Code 
aussieht und das geht wirklich an einem Abend wenn man schon etwas C 
kann.

Aufgrund deiner fehlenden Wissensbasis und Ignoranz ist einfach keine 
Hilfe möglich.
Deutlich Hinweise darauf werden ja von dir ignoriert auch wenn 
konstruktive Links dabei sind. Dan kommt sofort der nächste 
"Hilfeschrei".

Es sieht hier aber auch so aus wie Abgreifen, denn es ist Null 
Eigeninitiative erkennbar und wenn es etwas auf dem Silbertablett gab, 
kam gleich die nächste Frage zu genau dem gleichen Themenabschnitt, bloß 
nicht das Hirn anwerfen.

Dann wunderste dich, dass das deutlichst gesagt wird und fängst das 
Flennen an.

Also wie soll das hier jetzt weiter gehen?
Liegt alles bei dir!

Autor: hust (Gast)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
bau dir die webseite komplett !!!   am PC zusammen
die eingabefelder , die buttons usw ...

dann baust du dir die javascriptfunktionen

um  an die daten zu kommen baust du einfach erstmal variablen ein wo 
dein wert drinsteht

im browser kannst du debuggen und kannst prüfen  ob die daten auch 
korrekt vorliegen

nd erst jetzt nimmst du den µC dazu ...

dann sendest diese daten weg und testest mit einem breakpoint in deiner 
IDE ob es auch so auf dem µC ankommt
in deiner CGI funktion ...
da kannst du die werte dann durchpharsen und was tun

dann hast du ertsmal einen Weg ... PC -> µC

die daten sollen ja auch wieder ausgelesen werden ...

weg 1:
lwip hat ein eigenes ssi  system ... variablen werden hier mit tags beim 
senden eingefügt

weg2:
nach dem pharsen die daten manipulieren und wegsenden ( GET/ POST 
beachten )

weg 3:
datenübergabe erfolgt generell per ajax und austausch über extra datei( 
xxx.json / xxx.xml ... )


abhängig davon musst du diese daten manipulieren ...
der browser muss diese nach dem absenden erneut abholen


das alles steht in drölfzig posts über dem hier ...

es sollte als anleitung eigentlich reichen.

wenn du nur das eine problem gelöst haben willst ... frag nach ob es 
jemand fürn 50iger macht und gut ist

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@conny

Es sind doch alle teile schon vorhanden, ich habe sogar noch versucht zu 
erklären was diese tun. Du hast sicher schon bemerkt, dass 
xmlhttp.responseText den vom Server zurückgegebenen Text als String 
enthält. Du hast sicher bemerkt, dass du Strings mit .split beim 
angegebenen Trennzeichen aufgespalten werden können, und ein Array der 
Teile zurückgibt. Du hättest längst erkennen sollen, dass 
document.getElementById("elementid") das Element mit der id "elementid" 
zurückgebt, und du bei input Elementen den Inhalt mit .value auslesen & 
setzen kannst. Es wurde auch schon gesagt, dass du solche Dinge in 
Variablen zwischenspeichern kannst. Es ist doch jetzt wirklich nicht 
schwer auf die Lösung zu kommen. Zuerst willst du den zurückgegebenen 
String in xmlhttp.responseText mit .split(";") aufspalten. Du bekommst 
beide Ergebnisse in einem Array. Da du 2 mal auf das Array zugreifen 
musst, um die beiden Werte in die Eingabefelder zu schreiben, willst du 
es in einer Variable zwischenspeichern. Dann setzt du einfach zuerst den 
Inhalt des einen Eingabefelds auf das erste Element des Arrays mithilfe 
der variable welches dieses enthält, und tust das nochmal für das andere 
input Element und das zweite Element des Arrays. Ich verstehe nicht, wie 
man so etwas Simples nicht erkennen kann.

: Bearbeitet durch User
Autor: conny (Gast)
Datum:

Bewertung
-1 lesenswert
nicht lesenswert
So hab ich das Text[0] sollte den wert für vorname und text1[0] den wert 
für Nachname enthalten.

Es steht aber nur der wert in Nachname drin Vorname bleibt leer.
function Test_formular2( event, form )
          {
            var params = getFormFields(form);
            params.t = Math.random();
            loadXMLDoc(form.action + toQueryString(params),
              
              function()
              {
                if( xmlhttp.readyState==4 && xmlhttp.status==200 )
                {
                   text = document.getElementById("vorname").value = xmlhttp.responseText;
                
                        text = text.split(";");
                                  document.getElementById("vorname").innerHTML=text[0];
                  
                  text1 = document.getElementById("nachname").value = xmlhttp.responseText;
                
                        text1 = text1.split(";");
                                  document.getElementById("nachname").innerHTML=text1[0];                  
                }
              }
            );
            event && event.preventDefault();
          }



Autor: Mw E. (Firma: fritzler-avr.de) (fritzler)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Was wieder meine Aussage bestätigt, da hilft wer mit einem ausführlichen 
Text.
Und was kommt?
Eine komplette Ignorierung und wieder ein kurzer Satz mit dem selben 
falschen Code.

Conny, so wird das nichts hier!

Autor: Daniel A. (daniel-a)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Ich löse es mal auf, immerhin habe ich eine 1:1 Textbeschreibung 
gemacht, und selbst das hast du nicht begriffen...

Daniel A. schrieb:
> Zuerst willst du den zurückgegebenen
> String in xmlhttp.responseText mit .split(";") aufspalten. Du bekommst
> beide Ergebnisse in einem Array. Da du 2 mal auf das Array zugreifen
> musst, um die beiden Werte in die Eingabefelder zu schreiben, willst du
> es in einer Variable zwischenspeichern.
  var variableFuerArrayMitVorUndNachname = xmlhttp.responseText.split(";");

> Dann setzt du einfach zuerst den
> Inhalt des einen Eingabefelds auf das erste Element des Arrays mithilfe
> der variable welches dieses enthält,
  document.getElementById("vorname").value = variableFuerArrayMitVorUndNachname[0];

> und tust das nochmal für das andere
> input Element und das zweite Element des Arrays.
  document.getElementById("nachname").value = variableFuerArrayMitVorUndNachname[1];

Zusammengesetzt wäre das dann:
function Test_formular2( event, form ){
  var params = getFormFields(form);
  params.t = Math.random();
  loadXMLDoc(form.action + toQueryString(params),
    function(){
      if( xmlhttp.readyState==4 && xmlhttp.status==200 ){
        var variableFuerArrayMitVorUndNachname = xmlhttp.responseText.split(";");
        document.getElementById("vorname").value = variableFuerArrayMitVorUndNachname[0];
        document.getElementById("nachname").value = variableFuerArrayMitVorUndNachname[1];
      }
    }
  );
  event && event.preventDefault();
}

Ist das wirklich so schwer?!?

Autor: Ralf (Gast)
Datum:

Bewertung
2 lesenswert
nicht lesenswert
So lange den code schicken und nerven bis sich jemand erbarmt und dir 
das alles verbessert?

Also jetzt ists eindeutig: du willst keine tipps ( die du ja jetzt in 
breiter form bekommen hast) sondern nur lösungen.

Du beziehst dich nie auf den post der anderen weil du null ahnung hast. 
Wenn du nicht verstehst was die anderen sagen bist du überhaupt  nicht 
eingearbeitet. Ergo kannst du nur eine lösung erwarten da du alle tipps 
die man dir gibt aufgrund mangelndem wissen/faulheit nicht umsetzen 
kannst.

Bist du dir sicher dass du in diesem bereich/projekt/was auch immer dran 
bleiben willst?

Wenns nur ne einmalige sache zum abgeben und irgend etwas bestehen ist 
ok. Dann lass dir das ding schreiben und  gut ist.

Wenn du deine brötche  in zukunft damit verdienen  willst dann nimm die 
tipps an und fang schleunigst  an zu lernen!!!

Autor: Stefanus F. (stefanus)
Datum:

Bewertung
1 lesenswert
nicht lesenswert
Immerhin haben jetzt einige helfer einen Einblick in lwip bekommen 
obwohl sie das selbst gar nicht verwenden.

Nur conny nicht.

Autor: hust (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hier war doch schonmal soetwas

Beitrag "LWIP Webserver"

Autor: hust (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
rofl .. war der selbe TE ^^
sorry

Autor: pegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.