php & sensitive Grafiken (anfänger)

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

  • php & sensitive Grafiken (anfänger)

    Hallo,
    ich hoffe ihr könnt einem Anfänger helfen.

    In einem Formular möchte ich verschiedene Felder über PHP in eine Textdatei ( später in eine Datenbank ) schreiben. Soweit klappt das auch ganz gut aber jetzt habe ich noch folgendes Problem:

    Ich möchte mit Hilfe einer sensitiven Grafik ( Europakarte ) eine optionsbox aufrufen die dem jeweiligen Land zugeordnet ist . Sowohl der "Wert" des Landes als auch der Wert der Optionsbox ( und der übrigen Formularfelder ) soll nach drücken des Submit Buttons in die Textdatei geschrieben werden. Als Lösungsansatz hatte ich mir gedacht das ich beim Klick auf die Grafik eine neue Html Seite in ein iframe Lade wo der Benutzer dann die Optionsbox betätigen kann. Allerdings musste ich feststellen das dieser Wert nicht übermittelt wird ( was eigentlich auch verständlich ist, da es sich ja um eine eigene html Seite handelt ).
    Jetzt suche ich verzweifelt nach einer Lösung wie ich den Wert aus der Html Seite mit der Optionsbox in die aufrufende Seite übertragen kann oder wie alles gleich in der ersten Seite belassen kann.
    Hätte jemand einen Lösungsansatz bzw. einen Link wo ich etwas zu diesem Thema nachlesen kann ( meine suche war bislang erfolglos :-( ) ?

    Vielen Dank

  • #2
    mit sensitiver Grafik meinst Du wohl image map und area.

    Du ordnest ja jedem Bereich einen Link zu
    und dem kannst Du auch Parameter übergeben
    die Du dann mit GET auslesen kannst.
    Je nach Auswahl, kannst Du dann die entsprechenden
    Felder ("Optionsbox") darstellen.

    Sollen Variablen über mehrere Seiten hinweg transportiert werden
    dann kannst Du Sessions benutzen.

    Kommentar


    • #3
      Bei meiner suche bin ich eben noch auf einen Lösungsansatz gestoßen:
      <area href="<?php $PHP_SELF ?>?id=0" ....>
      das ganze soll sich mit $_GET["id"] aulesen lassen.
      Damit habe ich aber trotzdem Probleme: Sobald ich auf die Grafik in die entsprechende Area klicke wird die Seite neu geladen( die Adresse ändert sich in Seite.php?id=0), alle Inhalte der bisherigen Formulareingaben sind wieder weg und beim klick auf den Submit Button wird die ID auch nicht an die Textdatei weitergegeben. Was mache ich falsch ?

      Kommentar


      • #4
        Original geschrieben von volker.sanker
        Bei meiner suche bin ich eben noch auf einen Lösungsansatz gestoßen:
        <area href="<?php $PHP_SELF ?>?id=0" ....>
        das ganze soll sich mit $_GET["id"] aulesen lassen.
        Damit habe ich aber trotzdem Probleme: Sobald ich auf die Grafik in die entsprechende Area klicke wird die Seite neu geladen( die Adresse ändert sich in Seite.php?id=0), alle Inhalte der bisherigen Formulareingaben sind wieder weg und beim klick auf den Submit Button wird die ID auch nicht an die Textdatei weitergegeben. Was mache ich falsch ?
        Der Ansatz ist doch ok:

        Du wertest oben in der Datei dann die Variablen aus:

        if (isset ($_GET['id'])
        {
        // hier holst Du die Daten für die Box
        }

        die anderen Variablen des Formulars sind im POST-Array

        also

        if (isset ($_POST .....

        Du solltest den Inhalt prüfen und dann
        kannst Du sie in den input-Feldern des Formulars wieder ausgeben
        lassen.

        Kommentar


        • #5
          Klappt immer noch nicht :-(

          Wenn ich <?php if (isset.... auf die gleiche Seite schreibe in der auch die Image Map ist, dann bekomme ich einen Syntax Fehler.

          Kommentar


          • #6
            der zweite Lösungsansatz ist auf jeden besser, und was
            Koala sagt wäre auch meine Idee gewesen. Wenn du mal nen Stück Quelltext sendest kann ich vieleicht sagen wo dein Fehler ist .
            sorry für meine Rechtschreibung

            Kommentar


            • #7
              <fieldset>
              <legend align="top">Persönliche Daten</legend> <br>
              <form action="Formularausw1.php" method="GET">
              Vorname <input type="text" size="25" name="vorname">
              Nachname <input type="text" size="25" name="nachname"> <br>
              Adresse <input type="text" size="25" name="adresse">
              </fieldset>

              <IMG SRC="Grafik/europa.gif" USEMAP="#europa" BORDER=0>
              <MAP NAME="europa" >
              <AREA SHAPE=CIRCLE COORDS="59,67,18" HREF="<?php $PHP_SELF ?>?id=0" ALT="Niederlande">
              <AREA SHAPE=CIRCLE COORDS="126,96,52" HREF="<?php $PHP_SELF ?>?id=1" ALT="Deutschland" Target="Schule">
              <AREA SHAPE=CIRCLE COORDS="240,62,67" HREF="polen.html" ALT="Polen" Target="Schule">
              <AREA SHAPE=RECT COORDS="74,178,228,377" HREF="italien.html" ALT="Italien" Target="Schule">
              </MAP>

              <br>

              <?php
              if (isset ($_GET['id']=0)
              {
              echo "Niederlande" //ist nur zum testen
              }
              ?>


              Formular senden
              <input type="submit">

              </form>

              Kommentar


              • #8
                bei deinem if (isset ($_GET['id']=0) fehlt eine schließende Klammer
                probiers mal mit if (isset ($_GET['id']=0))
                sorry für meine Rechtschreibung

                Kommentar


                • #9
                  na, wer kennt den unterschied zwischen dem vergleichsoperator und einer zuweisung?

                  Kommentar


                  • #10
                    ICH ICH vergeichsoperator ist 2x also muss es if (isset ($_GET['id']==0)) sein lol
                    sorry für meine Rechtschreibung

                    Kommentar


                    • #11
                      Uuups, das hatte ich wohl übersehen. Nur der Vergleich auf 0 funktioniert nicht. Der Quelltext sieht jetzt so aus:


                      <?php
                      if (isset($_GET['id']=0))
                      {
                      echo "Niederlande"; //ist nur zum testen
                      }
                      ?>

                      Da kommt immer eine Fehlermeldung. Nehme ich das =0 raus ist die Fehlermeldung weg und er zeigt mir (logischerweise) immer "Niedrlande" an.

                      Kommentar


                      • #12
                        guck mal ob es mit dem Tipp von penizillin mit ==0 funzt.

                        Bin jetzt nicht sicher aber glaube es müsste sonnst auch mit
                        if ($_GET['id']==0)
                        {
                        echo "Niederlande"; //ist nur zum testen
                        }
                        gehen, kannst du mal probieren.
                        sorry für meine Rechtschreibung

                        Kommentar


                        • #13
                          nein.

                          bitte informieren:
                          http://tut.php-q.net/get.html
                          http://tut.php-q.net/formulare.html

                          Kommentar


                          • #14
                            Es funktioniert jetzt. Es lag am Vergleichsoperator.

                            Danke für eure Hilfe !!!!!

                            Kommentar


                            • #15
                              PHP-Code:
                              if (isset ($_GET['id'])      // ist die Variable überhaupt da ?
                                  
                              {
                                   if (
                              $_GET['id'] == "0")  // ist die Variable gleich "0" ?
                                      
                              {
                                       
                              // Inhalt der Box holen
                                       
                              }
                                   } 

                              Kommentar

                              Lädt...
                              X