Stephan: Formulardaten in URL-Adresse

Hallo,
ich hoffe ihr könnt mir helfen. Googeln hat leider nicht viel gebracht und meine Geduld mit dem Rumprobieren ist auch langsam zu ende.
Ich habe folgendes Problem:
Ich möchte Formulardaten mit der URL versenden, nur weiss ich nicht, wie ich es aufzubauen habe. Scheint eine Art Liste oder Matrix zu sein.

Der eigentliche Code sieht so aus:
<FORM METHOD='POST'
ACTION='http://www.url.de/main.php4?page=1'>

<input type='text' name='a_bestellen[]' maxlength='8' size='9' value='0'>
<input type='text' name='a_bestellen[]' maxlength='8' size='9' value='0'>
<input type='text' name='a_bestellen[]' maxlength='8' size='9' value='0'>
<input type='text' name='a_bestellen[]' maxlength='8' size='9' value='0'>
<input type='text' name='a_bestellen[]' maxlength='8' size='9' value='0'>

<INPUT TYPE='submit' VALUE=' jetzt produzieren ' class='send'></form>

Wie soll ich jetzt diese Daten an die Url anfügen?
Da hinter der Adresse schon ein ? steht, muß ich wohl mit einem & weitermachen. Ich bin mir nicht sicher, wie es mit dem a_bestellen[] funktioniert. Muss ich dort den Value eintragen oder beides seperat eingeben?
http://www.url.de/main.php4?page=1&name=a_bestellen[29]
http://www.url.de/main.php4?page=1&name=a_bestellen[]&value=29
http://www.url.de/main.php4?page=1&name=a_bestellen[29,0,0,0,0]
http://www.url.de/main.php4?page=1&name=a_bestellen[29;0;0;0;0]Semikolon geht wohl nicht.

hat jemand eine Idee? bzw. weiss wo ich die lösung finde?
weiss ja auch nicht, ob ich die richtige Rubrik gewählt habe. Gehört es mehr zu php, html, http etc.?

Ich hoffe ihr könnt mir helfen
Danke
Stephan

  1. Ich grüsse den Cosmos,

    hat jemand eine Idee? bzw. weiss wo ich die lösung finde?

    Lies dir das Kapitel zu Formularen in Selfhtml durch. Die URL wird durch das Formular selbst generiert. Du  brauchst die Daten nur noch auf der Webseite einzugeben und das Formular abzusenden.

    Möge das "Self" mit euch sein

    --
    Neulich dachte ich mir, einmal S/M ausprobieren wäre eine tolle Erfahrung. Also hab ich Windows gebootet ...
    ie:{ br:> fl:| va:| ls:& fo:{ rl:( n4:{ de:] ss:) ch:? js:| mo:) sh:( zu:)
    1. das ist ja das Problem an der Sache. Ich kann die Seite nicht bearbeiten und ich möchte nach Möglichkeit das Formular nicht öffnen. Sprich über Excel alle Formulardaten mit einer URL übermitteln.

      in der URL werden die Parameter mit einem ? von der Datei getrennt und mit & verknüpft. Nur habe ich jetzt mehrere Felder mit gleichem Namen und deswegen weiss ich nicht, wie ich den Wert übergeben soll. Habe auch bei selfhtml keinen Parameter mit []gesehen.
      Es muß irgendwie eine Art Liste sein, bzw. da muß die Nummer des Feldes rein.
      &name=a_bestellen[0]&value=29
      oder
      &name=a_bestellen[0,29]
      oder
      &name=a_bestellen_0&value=29

      Also diese Formularelemente möchte ich mit in der URL haben.
      Habe auch schon nach einem Programm gesucht, welches mir anzeigt, welche Befehle zur Internetseite gesendet werden; habe ich allerdings auch nicht gefunden.

      Hoffe ich könnt mir trotzdem helfen.

      Gruß
      Stephan

      1. &name=a_bestellen[0]&value=29
        oder
        &name=a_bestellen[0,29]
        oder
        &name=a_bestellen_0&value=29

        Wo nimmst du denn immer "name" her, wozu sollte das in der URL stehen?

        &a_bestellen[0]=29&a_bestellen[1]=365&a_bestellen[2]=111

        Grüße

        Eric

        1. Wo nimmst du denn immer "name" her, wozu sollte das in der URL stehen?

          &a_bestellen[0]=29&a_bestellen[1]=365&a_bestellen[2]=111

          Grüße

          Eric

          Eric, du bist mein Held!!!
          "name" habe ich immer da stehen lassen, da in es so in einem Beispiel mal gesehen habe.
          Nach einigen Tests habe ich auch festgestellt, dass man die ID's keine Rolle spielen. Kann also leider nicht nur &a_bestellen[2]=111 schreiben,  sonst wird es als [0] angesehen. Muss also für jedes Eingabefeld ein &a_bestellen[]=1 schicken.
          ABER so funktioniert es.
          Ich danke dir.

          Gruß
          Stephan

      2. Hallo,

        das ist ja das Problem an der Sache. Ich kann die Seite nicht bearbeiten und ich möchte nach Möglichkeit das Formular nicht öffnen. Sprich über Excel alle Formulardaten mit einer URL übermitteln.

        das Dumme ist nur, dass das Formular die POST-Methode verwendet. Als URL-Parameter werden die Formulardaten aber nur bei GET übermittelt. Und ich glaube nicht, dass du mit Excel einen POST-Request generieren kannst.
        Bleibt also nur die Hoffnung, dass das auswertende Script schlampig programmiert ist und die Daten auch per GET akzeptiert.

        Nur habe ich jetzt mehrere Felder mit gleichem Namen und deswegen weiss ich nicht, wie ich den Wert übergeben soll.

        Streng nach "Schema F".

        &name=a_bestellen[0]&value=29
        oder
        &name=a_bestellen[0,29]
        oder
        &name=a_bestellen_0&value=29

        Wo kriegst du die Parameter "name" und "value" her? Nein, das hast du missverstanden. Zwar wird die Übergabe oft symbolisch dargestellt als name=value, aber das sind doch nur Platzhalter für die *tatsächlichen* Namen bzw. Werte.

        Also in deinem Fall etwa:

        ...&a_bestellen[]=0&a_bestellen[]=29&a_bestellen[]=3&a_bestellen[]=1

        für den Fall, dass du die Werte 0, 29, 3 und 1 in die Formularfelder eingetragen hast. Der Raffinesse von PHP ist es zu verdanken, dass eine Zuweisung in der Form varname[]=wert immer ein neues Arrayelement mit fortlaufendem Index erzeugt.

        Habe auch schon nach einem Programm gesucht, welches mir anzeigt, welche Befehle zur Internetseite gesendet werden; habe ich allerdings auch nicht gefunden.

        Die LiveHTTPHeaders-Extension von Firefox würde genau das leisten.

        So long,
         Martin

        --
        Es gibt Tage, da gelingt einem einfach alles.
        Aber das ist kein Grund zur Sorge; das geht vorbei.
  2. Hallo,
    ich bin zwar auch nur Anfänger, aber um es ganz einfach zu machen würde ich im php-Skript

    $page=1;

    setzen. Außerdem würde ich die namen "a_bestellen" durchnummerieren und dann anstatt mit action='POST' mit action='GET' schicken.
    Damit die page auch wieder mitkommt einfach ein verstecktes Feld ins Formular einbauen:

    <input type='hidden' name='page' value='$page'>

    Zusammen sieht es dann ungefähr so aus:

    <?php
    $page=1;
    echo "
    <FORM METHOD='GET'
    ACTION='http://www.url.de/main.php4'>

    <input type='text' name='a_bestellen1' maxlength='8' size='9' value='0'>
    <input type='text' name='a_bestellen2' maxlength='8' size='9' value='0'>
    <input type='text' name='a_bestellen3' maxlength='8' size='9' value='0'>
    <input type='text' name='a_bestellen4' maxlength='8' size='9' value='0'>
    <input type='text' name='a_bestellen5' maxlength='8' size='9' value='0'>

    <INPUT TYPE='submit' VALUE=' jetzt produzieren ' class='send'></form>

    ?>