Variablenübertragung

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Variablenübertragung

    Hallo!

    Ich habe ein Problemchen innerhalb eines PHP-Scripts, da es sich aber um HTML-Code handelt, bin ich hier hoffentlich richtiger. Also in einem PHP-Spiel kann man sowohl mit einer Attacke, als auch mit einem Item angreifen. Ich habe in die FORM-Action eine Textzeile reingepackt, in die der Angreifer eine Kampfbotschaft eintippen kann. Lange Rede, hier der Code:
    PHP-Code:
    $bottomCell "<div align=center>
         <form action=battle_2p.pro.php?game=
    $game&action=attack&petid=$petid&page=$page method=post>
                         
                         Benutze ein Angriffswerkzeug:
                         <br>
                         "
    .$equippedItems."
                         <br>
                         oder benutze eine Angriffsart:
                             <select name=use_attack><option>Welche Angriffsart?"
    .$attackList."</select>
                             <br><br>Hinterlasse eine Kampfbotschaft für "
    .$findEnemyName[username].":<br>
                             <input type=\"text\" name=kampfschrei size=\"50\" maxlength=\"100\"><br><br>
                             <input type=submit value=\"Angriff!\">
                     </form>
                     </div>"

    Hier die Definition von $equippedItems:

    PHP-Code:
    while ($getEquipped mysql_fetch_array($findEquipped)) {
        
        
    $get_item fetch("SELECT * FROM battle_items2 WHERE *unwichtig*");
            
                
    $equippedItems .= "<td><p align=center><a href=battle_2p.pro.php?game=$game&action=item&
    use_item=
    $getEquipped[id]&petid=$petid&page=$page>
    <img src=
    $base_url/images/user_images/opg_$game/items/item_$get_item[item_id].gif></a></p></td>";
            

    Also wenn der Angreifer ein Attacke auswählt und auf den Button "Angriff" klickt, dann wird die Textzeile mit der Kampfbotschaft übertragen, schon klar. Bei einem Klick auf einen der EquippedItems wird die Textzeile natürlich nicht übertragen.

    Ich möchte aber, dass eine Textzeile in beiden Fällen übertragen wird. Ist es irgendwie möglich?

    Und weil es in die Überschrift passt: Wie kann ich generell aus HTML-Formularen, die in PHP eingebunden sind, Variablen statt über GET über POST übertragen? Ich meine nicht solche, die im Formular eingetragen und sowieso über POST versendet werden, sondern andere, vorher bestimmte Variablen? Ihr wisst schon.


    Danke schon mal für die Mühen!

  • #2
    Ich meine nicht solche, die im Formular eingetragen und sowieso über POST versendet werden, sondern andere, vorher bestimmte Variablen?
    Du kannst dir den POST Request an den Server auch manuell z.B. mittels AJAX zusammenschustern.
    Such mal zum Thema HTTP.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Tu doch die Items auch in ein Select, dann einen extra-submitbutton dazu, und bei der Verarbeitung unterscheidest du, welcher Submitbutton geklickt wurde.

      Vordefinierte Variablen kannst du einfach in <input type="hidden" ... schreiben, dann kommen sie auch per POST an.
      ich glaube

      Kommentar


      • #4
        Original geschrieben von ministry
        Tu doch die Items auch in ein Select, dann einen extra-submitbutton dazu, und bei der Verarbeitung unterscheidest du, welcher Submitbutton geklickt wurde.

        Vordefinierte Variablen kannst du einfach in <input type="hidden" ... schreiben, dann kommen sie auch per POST an.
        Zu 1) Gute Idee, allerdings ist es mit den Bildchen viel besser für die Spieler. Kann ich das Textfeld irgendwie außerhalb des Formaction platzieren, und beim versenden mit den beiden Möglichken den Inhalt per POST (ich weiß ja jetzt, wie es geht) einfach mitschicken? Beim klicken auf den Button/Pic müsste demnach geprüft werden, ob es Text überhaupt gibt, oder?

        Zu 2) Danke sehr, ich denke das suche ich!

        Kommentar


        • #5
          Zu 1.)

          a) ein Link und "per POST" widersprechen sich

          b) du könntest den Inhalt des Textfeldes per Javascript auslesen und dann entweder in ein hiddeninput schreiben oder per GET an das Linkziel hängen - aber... das ist Murks

          c) auch in Formularen dürfen Bildchen vorkommen. Dann machst du halt die Bildchen dahin mit einer radio-box.
          ich glaube

          Kommentar


          • #6
            zu a) hab ich mir gedacht.

            zu b) stimme ich dir zu

            zu c) da bleibt mir wohl nichts anderes übrig, danke für den Tipp

            Kommentar


            • #7
              Da fällt mir ein, auf diese Weise (RadioButton) werden Konflikte entstehen. Was wäre, wenn der Benutzer einen RadioButton wählt und eine Attacke aus dem Drop-Down? Dann ist nicht klar, was gemeint ist.

              Kommentar


              • #8
                Nein, dafür sollst du ja zwei Submitbuttons reintun.

                Also Bildchen mit Radioboxen

                Button "mit gewähltem Item angreifen"

                Select für die Angriffsart

                Button "mit gewähltem Angriff angreifen".

                So in der Art. Mit ein bisschen JS kannst du dann sogar bei Klick auf das Bildchen die entsprechende Radiobox anschalten.
                ich glaube

                Kommentar


                • #9
                  OK danke sehr!

                  Von JS hab ich überhaupt keine Ahnung, hast du mal bitte ein Stichwort für mich diesbezüglich?

                  Kommentar


                  • #10
                    onclick

                    checked
                    ich glaube

                    Kommentar

                    Lädt...
                    X