kostenloser Webspace werbefrei: lima-city


Formulardaten als Variable speichern

lima-cityForumDie eigene HomepageHTML, CSS & Javascript

  1. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi,

    ich habe da ein Problem mit einem JS Dokument. Ich sende mit JS Daten an eine PHP Seite,
    diese Speichert die Daten dann in der DB. Soweit funzt das alles. Die gesendeten Daten werden alle als
    Variablen verarbeitet.

    Nun möchte ich zusätzlich Daten aus einer Checkbox mit Speichern. Leider bekomme ich die Daten nicht gesendet.

    Das ist der Request mit dem die Daten derzeit gesendet werden:
    GM_xmlhttpRequest({
    		method: 'POST',
    		url: tabelle,
    		headers: {
    		'Content-type': 'application/x-www-form-urlencoded'
    		},
    		data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost),
    		onload: function(responseDetails) {document.cookie = 'name=KW01-Button;'; location.reload();
    			
    }})



    Nun habe ich noch das folgende Formular mit Checkbox, das soll nun noch hinten an den
    Request dran. Aber egal wie ich es anspreche, der Request streikt dann einfach.

    <form name="kw_ausblenden">KW-ausblenden&nbsp;<input type=checkbox name="ausblenden" value="1" onClick="auswahl()"></form>


    Ich bin über jede Hilfe dankbar.

    Ein schönes WE euch LG Marco
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Möglicherweise ist es problematisch da es in einem neuen Forumlar ist?
    Es ist schwer mit den Informationen etwas zu sagen.

    Könntest du einen Link zu einem Beispiel posten?
  4. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi,

    ich komme aus dem Danke sagen an dich wohl heute nichtmehr raus :)

    Hier mal der vollständige Sourcecode vom Script.
    http://www.pennereck.de/kw_button/gm/Beta%200.02

    Der Teil um den Es geht ist dieser
    // ***********************************************************************************************
    // Ausgabe in der Modt
    // ***********************************************************************************************
    ausgabeform_mod.innerHTML += '<div align=center id="kw" style="width:143px;-moz-border-radius: 5px;border-radius: 5px;padding:2px;position:absolute;font-size:12px;color:#000;background-image:url('+bg_url+');background-repeat:no-repeat;z-index:500;right:'+right+';top:'+top+';">'+name+'<br>Stadt:&nbsp;'+stadt+'<br>Kampfwert:&nbsp;'+kampfwert2+''+'<br>Att:&nbsp;'+attoff+'&nbsp;|&nbsp;Def:&nbsp;'+defoff+''+'<br>Wut:&nbsp;'+wutstatus+'<br>Boost:&nbsp;'+booststatus+'<br><input target="_self"  style="cursor: pointer;" name="button" type="button" id="kw_senden" value="KW übertragen"/>'+'<div align=center; style=font-size:9px;color:#000;><br><a style="cursor: help;" onClick="window.open(\'http://www.pennereck.de/board/index.php\')">Beta 0.02.6 <img src="http://www.pennereck.de/img/script/info-icon-kwbutton.png" alt="text" width="13" height="13";></a><br><br>'+'</div>';
    // -----------------------------------------------------
    +'</div>'
    
    // ***********************************************************************************************
    // Übermitteln der Daten
    // ***********************************************************************************************
    
    document.getElementById('kw').style.backgroundColor = "";
    document.getElementById('kw_senden').addEventListener('click', function kampfwert_senden(){
    
    
    GM_xmlhttpRequest({
    		method: 'POST',
    		url: tabelle,
    		headers: {
    		'Content-type': 'application/x-www-form-urlencoded'
    		},
    		data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost),
    		onload: function(responseDetails) {document.cookie = 'name=KW01-Button;'; location.reload();
    			
    }})
    
    
    },false);


    Alle Daten die derzeit gesendet werden, werden im Quellcode ausgelesen und als Variable gespeichert.

    Nun sollte eine Checkbox dazu die der User ja manuell "befüllt" ,allerdings mag die nicht so wie ich will.
  5. Also in dem Script seh ich nirgends etwas von deinem 2. Form.
    Du musst natürlich auch die Checkbox bei data hinzufügen.

    Außerdem bist du der Betreiber von pennereck.de bzw. Mr77Pink von userscripts.org?
    Falls nicht solltest du vlt. besser ihn fragen.

    Weiters scheint so ein Script den Regeln von pennergame zu widersprechen.
    3.Verwendung von Hilfetools
    3.1 Die Verwendung von Scripten und Programmen, die Aktionen (wie Flaschensammeln und den Verkauf der Flaschen) automatisieren oder die Spieloberfläche verändern bzw. das Spielgeschehen beeinflussen, ist verboten.
    (Quelle: http://www.pennergame.de/rules/)
  6. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Morgen und schönen Sonntag,


    Also gleich als erstes, ja ich bin der Betreiber von Pennereck und auch Mr77Pink bei Userscripts.
    Das mit dem Erlaubt oder nicht bei PG ist so eine Sache. Die Betreiber von Pennergame haben vor kurzem
    einfach alle Scripte als "gefährlich" eingestuft und es liegt beim User welche er nutzt.

    Die Regeln gelten natürlich weiterhin die Du da Kopiert hast.
    Allerdings verändere ich weder das Aussehen des SPiels noch
    beeinflusse ich den Spielablauf. Bisher kam da keine negative Rückmeldung von
    Pennergame und das Script wirde auch schon dort im Forum besprochen.
    Spätestens dort wären die Betreiber eingeschritten.

    So zum Thema,

    Sorry ich hatte gestern noch rum Probiert, da sich mit der Form nichts senden lies habe ich es
    wieder entfernt.
    Hier ist jetzt die Form mit drin.
    http://www.pennereck.de/kw_button/gm/Beta%200.02.js


    Hier mal die beiden stellen wo die Form nun drin ist.

    ausgabeform_mod.innerHTML += '<div align=center id="kw" style="width:154px;-moz-border-radius: 5px;border-radius: 5px;padding:2px;position:absolute;font-size:12px;color:#000;background-image:url('+bg_url+');background-repeat:no-repeat;z-index:500;right:'+right+';top:'+top+';">'+name+'<br>Stadt:&nbsp;'+stadt+'<br>Kampfwert:&nbsp;'+kampfwert2+''+'<br>Att:&nbsp;'+attoff+'&nbsp;|&nbsp;Def:&nbsp;'+defoff+''+'<br>Wut:&nbsp;'+wutstatus+'<br>Boost:&nbsp;'+booststatus+'<br><form name="kw_ausblenden">KW-ausblenden&nbsp;<input type=checkbox name="ausblenden" value="1" onClick="auswahl()"></form><br><input target="_self"  style="cursor: pointer;" name="button" type="button" id="kw_senden" value="KW übertragen"/>'+'<div align=left; style=font-size:9px;color:#000;><a style="cursor: help;" onClick="window.open(\'http://www.pennereck.de/board/index.php\')">Version 1.0</a>&nbsp;<a style="cursor: pointer;" onClick="window.open(\'http://www.pennereck.de/u_seiten/impressum.php\')">© 2012 4D-ESIGN<br>'+'</div>';


    GM_xmlhttpRequest({
    		method: 'POST',
    		url: tabelle,
    		headers: {
    		'Content-type': 'application/x-www-form-urlencoded'
    		},
    		data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost+'&vali='+ausblenden),
    		onload: function(responseDetails) {document.cookie = 'name=KW01-Button;'; location.reload();


    Gibt es denn die Möglichkeit auf das <form> zu verzichten und einfach nur über <input> die Checkbox zu erzeugen?
    So habe ich es mit dem Button zum senden auch gemacht. allerdings ging es da auch ohne Probleme.

    Einen schönen und sonnigen SOnntag wünsche ich.
    Und nochmals Danke das Du Dir die Zeit nimmst mir zu helfen.

    Gruß Marco
  7. m******e

    Mich würde da z.B. der Quelltext der Seite im eingeloggten Zustand interessieren.
    Wohlmöglich haben Form, und/oder Checkbox einen Token-Code, welcher sich jedesmal ändert?
    Sollte der dann beim absenden fehlen, wird die Eingabe auch nicht akzeptiert.
  8. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Hi,

    also nen Token-Code oder ähnliches ist dort nicht drin.
    Das Absenden geht ja auch wunderbar. Erst wenn ich den Data-Request
    um die Checkbox erweiter streikt alles



    So läuft alles Wunderbar wenn die Checkbox fehlt beim Request:
    data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost),


    Füge ich die Checkbox hinten mit ein kann nichts gesendet werden
    data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost+'&vali='+ausblenden),


    LG Marco


    Tante Edit:

    Der Sourcecode beim AUfrufen des Script´s auf Pennergame:
    <div id="kw" style="width: 154px; border-radius: 5px 5px 5px 5px; padding: 2px; position: absolute; font-size: 12px; color: rgb(0, 0, 0); 
    background-image: url(&quot;http://www.pennereck.de/kw_button/bg_button_berlin.png&quot;); background-repeat: no-repeat; 
    z-index: 500; right: 400px; top: -158px;" align="center">Hanshatkeinglueck<br>Stadt:&nbsp;Hamburg<br>Kampfwert:&
    nbsp;770.4<br>Att:&nbsp;274&nbsp;|&nbsp;Def:&nbsp;469<br>Wut:&nbsp;<img src="http://www.pennereck.de/kw_button/nein.png" 
    class="image" alt="Eure Bande hat keine Wutentfachung aktiviert!" height="12" width="12"><br>Boost:&nbsp;<img 
    src="http://www.pennereck.de/kw_button/nein.png" class="image" alt="" height="12" width="12"><br><form 
    name="kw_ausblenden">KW-ausblenden&nbsp;<input name="ausblenden" value="*****" onclick="auswahl()" type="checkbox">
    </form><br><input target="_self" style="cursor: pointer;" name="button" id="kw_senden" value="KW übertragen" type="button"><div 
    style="font-size:9px;color:#000;" align="left;"><a style="cursor: help;" onclick="window.open('http://www.pennereck.de/board
    /index.php')">Version 1.0</a>&nbsp;<a style="cursor: pointer;" onclick="window.open('http://www.pennereck.de/u_seiten
    /impressum.php')">© 2012 4D-ESIGN<br></a></div></div>


    Beitrag zuletzt geändert: 19.8.2012 11:26:15 von aff3m1tw4ff3
  9. m******e

    aff3m1tw4ff3 schrieb:
    Füge ich die Checkbox hinten mit ein kann nichts gesendet werden
    ... &wut='+wut+'&boost='+boost+'&vali='+ausblenden),
    Zuerst fällt mir zu Schluss nen Komma auf - kommt danach noch mehr? Sonst wech damit, bzw durch ";" ersetzen.
    Dann heißt es "&vali='+ausblenden" - wie kommst Du auf "vali"?
    Müsste es nicht "&ausblenden=(inhalt der unten aufgeführten value)" oder ähnlich heißen?

    aff3m1tw4ff3 schrieb:
    Der Sourcecode beim AUfrufen des Script´s auf Pennergame:
    <input name="ausblenden" value="*****" onclick="auswahl()" type="checkbox">
    Was bewirkt die Funktion "auswahl()"?
    Schließlich wird die ja ausgeführt.
    ;)

    Beitrag zuletzt geändert: 19.8.2012 11:59:46 von menschle
  10. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Also zum Komma, ja es geht danach weiter.

    Bei Vali,
    ... &wut='+wut+'&boost='+boost+'&vali='+ausblenden),

    Vali ist die Spalte in der DB und ausblenden der Name der Checkbox.

    <input name="ausblenden" value="*****" onclick="auswahl()" type="checkbox">

    Die Checkbox wird angezeigt und man kann Sie auswählen, wenn ich dann die Daten Senden möchte
    reagiert aber der Button nichtmehr.

    So sieht der Butoon mit Checkbox aus:
    http://prntscr.com/e1kd4


    Beitrag zuletzt geändert: 19.8.2012 12:25:46 von aff3m1tw4ff3
  11. m******e

    aff3m1tw4ff3 schrieb:
    Die Checkbox wird angezeigt und man kann Sie auswählen, wenn ich dann die Daten Senden möchte
    reagiert aber der Button nichtmehr.

    So sieht der Butoon mit Checkbox aus:
    http://prntscr.com/e1kd4
    ^^ So kommen wir ja nicht weiter.
    Erstens ist wohl der Inhalt der "value" der Checkbox nicht unbedeutend.

    Zweitens..
    menschle schrieb:
    <input name="ausblenden" value=" ***** " onclick="auswahl()" type="checkbox">
    Was bewirkt die Funktion "auswahl()"?
    Schließlich wird die ja ausgeführt.
    .. würde Dich der Quelltext der Funktion "auswahl()" Deiner Lösung wohl eher ein Schrittchen näher bringen, als mich ein Screenshot einer Checkbox.
    ;)

  12. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Mhh, also nu stehe ich auf dem Schlauch. Wonach genau soll ich im Quelltext suchen?
    Die Checkbox wird ja im Quelltext angezeigt
    <input name="kw_ausblenden" value="1" onclick="auswahl()" type="checkbox">


    Aber mehr kann ich dort ja nicht sehen.

    Solange ich im Request die Checkbox nicht versuche mit zu senden geht alles, auch wenn das input feld angezeigt wird.
    Sobald ich dann in den Request das value aus der Checkbox anhänge geht nixmehr.

    &vali='+kw_ausblenden

    da hängt es sich dann auf.


    Sorry ich bin echt Ratlos, wo ich mit der Fehlersuche ansetzen soll.
  13. m******e

    aff3m1tw4ff3 schrieb:
    Wonach genau soll ich im Quelltext suchen?
    Nach allen
    <script language="JavaScript" src="egal/irgendwas.js" />
    suchen. Die dann alle mal anschauen, und nach der Funktion auswahl() schauen ;)
  14. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Im Quelltext ist von der Funktion nichts zu finden.
    Die Funktion ist aber drin und sieht so aus.

    function auswahl()
    {
      var i,Text="";
    
       /* jede Checkbox abchecken und wenn ausgewaehlt auflisten : */
      for (i=0;i<1;i++)
        if (document.kw_ausblenden.elements[i].checked)
          Text=Text+document.kw_ausblenden.elements[i].value+"\n";
    
       /* Text im Ausgabefeld setzen : */
      document.kw_ausblenden.anzeige.value=Text;
    }


    Stellt sich also die Frage warum die Funktion nicht auftaucht wenn ich das richtig verstehe.
  15. m******e

    aff3m1tw4ff3 schrieb:
    Stellt sich also die Frage warum die Funktion nicht auftaucht wenn ich das richtig verstehe.
    ^^ Naja, Du hast sie doch gefunden :D also muss sie ja da sein ;)

    K, die Funktion macht nüx besonderes, außer bei Dir im Browser die ausgewählten Optionen aufzulisten - sonst nichts.
    (Machmal kommt es halt vor, dass so ne Funktion noch was bewirkt.)

    Die Form selbst hat den Namen kw_ausblenden und die Checkbox ausblenden.

    Versuche mal als Anhängsel
    &kw_ausblenden.ausblenden.value=true
    oder
    &document.kw_ausblenden.ausblenden.value=true

    Musst Dich mal durchwurschteln, vll klappts ja.
    ;)

    €dit:
    könnte auch
    &kw_ausblenden.ausblenden.checked=true
    oder
    &document.kw_ausblenden.ausblenden.checked=true
    heißen.

    Beitrag zuletzt geändert: 19.8.2012 13:46:10 von menschle
  16. aff3m1tw4ff3 schrieb:
    ...
    Die Regeln gelten natürlich weiterhin die Du da Kopiert hast.
    Allerdings verändere ich weder das Aussehen des SPiels noch
    beeinflusse ich den Spielablauf. ...

    Schon gut, mir ists ja eigentlich egal. Wollte dich nur darauf hinweisen. ;)

    Also was mir als erstes auffällt ist dass du in deinem UserJS die Funktion auswahl() zwei mal definiert hast.

    Rest muss ich erst mal schauen, aber menschle hilft dir ja schon sehr gut. :)

    Edit: ...
    Bei deinem HTML in http://www.lima-city.de/board/action:jump/1077921 hast du ja auch Fehler.
    Wieso ist der "KW übertragen"-Button nicht innerhalb vom form?

    Wird den eigentlich der Text den den mit auswahl() generierst angezeigt?

    Beitrag zuletzt geändert: 19.8.2012 15:02:31 von philippkern
  17. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Also gleich als erstes mal wieder Danke für eure Hilfe, echt der Hammer!!

    Ich hab mich jetzt nochmal dran gesetzt. Ich bin nun soweit das der Request zumindest mal die Daten wieder abschickt.
    Allerdings werden die Daten aus der Checkbox nicht gesendet.

    Den Button zum senden habe ich nun mit in die <form> getan, er war dort nicht mit drin da ich vorher ohne <form> gearbeitet habe.
    Das kam jetzt erst mit der Checkbox.

    <form name="kw_ausblenden"><input type="checkbox"  name="kw_ausblenden" value="1">
    <br><input target="_self"  style="cursor: pointer;" name="button" type="button" id="kw_senden" value="KW übertragen"/>
    </form>


    Beim Request habe ich auch alles durch Probiert, am Ende lief es mit
    data: encodeURI('kw_name='+nameoff+'&kw_wert='+kampfwert2+'&kw_att='+attoff+'&kw_def='+defoff+'&kw_gangid='+gidoff+'&kw_stadt='+stadt+'&wut='+wut+'&boost='+boost+'&document.kw_ausblenden.kw_ausblenden.checked=true'),


    Bei der Funktion sind die Namen jetzt auch passend und es ist nur eine enthalten.
    Da habe ich gestern beim rumprobieren etwas geschludert. Allerdings kann ich im Quelltext der Seite
    die function auswahl() dann nicht finden.



    function auswahl()
    {
      var i,Text="";
    
       /* jede Checkbox abchecken und wenn ausgewaehlt auflisten : */
      for (i=0;i<4;i++)
        if (document.kw_ausblenden.elements[i].checked)
          Text=Text+document.kw_ausblenden.elements[i].value+"\n";
    
       /* Text im Ausgabefeld setzen : */
      document.kw_ausblenden.anzeige.value=Text;
    }



    So werden jetzt zumindest die anderen Daten wieder gesendet, aber die CHeckbox leider nicht. Ich hab jetzt mal die Namen alle gleich gemacht das ich mich da nicht vertue.

    Wenn ich das richtig verstehe sollte ja nun das Value übermittelt werden und laut
    &document.kw_ausblenden.kw_ausblenden.checked=true den Namen kw_ausblenden haben.
    Beim Insert zur DB versuche ich das mit
    vali = '$_POST[kw_ausblenden]'

    zu speichern.

    Vieleicht habt Ihr ja noch eine Idee dazu.

  18. m******e

    aff3m1tw4ff3 schrieb:
    Wenn ich das richtig verstehe sollte ja nun das Value übermittelt werden und laut
    &document.kw_ausblenden.kw_ausblenden.checked=true den Namen kw_ausblenden haben.
    Nö.
    Du verwendest den Namen der Form 2 mal, damit kann das Script nix anfangen.

    Vergleiche:
    &document.kw_ausblenden.kw_ausblenden.checked=true
    &document.kw_ausblenden.ausblenden.checked=true
    ;)
  19. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    Ok dann habe ich das zumindest mal verstanden. ALlerdings geht es trotzdem nicht.
    Ich werde Morgen / nachher mal schauen, das ich aus allen daten, die ich senden
    will, eine saubere <form> hinbekomme. Irgendwie muss das ja gehen.

    Danke wie immer und eine Gute Nacht!!
  20. Also.

    aff3m1tw4ff3 schrieb:
    function auswahl()
    {
      var i,Text="";
    
       /* jede Checkbox abchecken und wenn ausgewaehlt auflisten : */
      for (i=0;i<4;i++)
        if (document.kw_ausblenden.elements[i].checked)
          Text=Text+document.kw_ausblenden.elements[i].value+"\n";
    
       /* Text im Ausgabefeld setzen : */
      document.kw_ausblenden.anzeige.value=Text;
    }


    Du hast da ein
    document.kw_ausblenden.anzeige.value=Text;
    .
    Ich frag dich jetzt nochmal, wird das auch ausgeführt? Und wenn ja was steht dann in deinem anzeige-Element das ich nirgendwo sehen kann?


    Beim Insert zur DB versuche ich das mit
    vali = '$_POST[kw_ausblenden]'

    zu speichern.

    Ich hoffe ja das du es nicht so im PHP-Code stehen hast ...
    Bitte nie Request-Variablen (_GET, _POST, ...) einfach in einen Datenbank-Query einbauen!!
    http://php.net/manual/de/security.database.sql-injection.php

    menschle schrieb:
    Du verwendest den Namen der Form 2 mal, damit kann das Script nix anfangen.

    Das passt schon so. Er hat ein form das kw_ausblenden heißt und die Checkbox heißt auch so ...
  21. Autor dieses Themas

    aff3m1tw4ff3

    aff3m1tw4ff3 hat kostenlosen Webspace.

    philippkern schrieb:
    Also.
    Du hast da ein
    document.kw_ausblenden.anzeige.value=Text;
    .
    Ich frag dich jetzt nochmal, wird das auch ausgeführt? Und wenn ja was steht dann in deinem anzeige-Element das ich nirgendwo sehen kann?


    Nein die Anzeige reagiert ebenfalls nicht. Ich habe Sie drin gelassen um zu sehen ob
    die Checkbox irgendwann mal reagiert.

    philippkern schrieb:
    Ich hoffe ja das du es nicht so im PHP-Code stehen hast ...

    Du hast meine nächste Baustelle gefunden. Ich hab mich mit dem Thema schon
    befasst und werde die DB Abfrage/EIngaben als nächstes absichern.
    Da werde ich mit Sicherheit bei euch nochmal fragen kommen :)

    Nun erst mal ne Kanne Kaffee und dann mal die <form> gequält bis Sie
    alle Daten sendet.

    Schönen Wochenstart euch
    Gruß Marco
  22. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!