Variable mit Funktion übergeben

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

  • Variable mit Funktion übergeben

    Hallo,

    weiß nicht ob mein Topic so passend ist. Also ich versuche mal zu erklären was ich machen will.

    Erstmal hier die momentane Seite klick

    ihr müsst rechts auf "reisen" klicken und dann kommen meine Thumbnails die werden mit diesem Code generiert.
    PHP-Code:
    <?
    if ($pfad != "")
    {
    $start = isset($_GET['start']) ? (int) $_GET['start'] : 0;
    $handle = opendir($pfad);
    $handle2 = opendir($pfad);
    $a=-1;
    $i=0;
    echo "<table border='0' valign='top'><tr valign='top'><td width='10'></td>";
    while (false !== ($file2 = readdir($handle2)))
    {
      $b++;
    }
    $anzahl=($b/2)-1;
    while (false !== ($file = readdir($handle)))
    {
      $pic = explode ("_thumb",$file);
      $pic2 = explode (".",$pic[0]);
      if ($pic[1] == ".jpg")
      {
      }
      else
      {
        if ($a++ <= $start)
       {
          continue;
       }
        if ($i != 18)
        {
          if ($file != "." && $file != "..")
          {
            echo "<td valign='top' style='CURSOR: hand'>";
            echo "<a href='#' onclick=\"change(' ".$pfad."/".$pic[0]." ')\">";
            echo "<img border='0' src='".$pfad."/".$pic2[0]."_thumb.jpg'></a>";
            echo "</td><td width='6'></td>";
          }
         $i++;
         if ($i % 3 == 0)
         {
           if ($i<18)
           {
              echo "<td width='80'></td></tr><tr height='6' valign='top'><td></td></tr><tr valign='top'><td></td>";
           }
         }
       }
      }
    }
    closedir($handle);
    $start=$start+18;
    echo "</tr></table>";

    }
    else
    {
    echo "<table border='0' valign='top'><tr valign='top'><td width='10'></td>";
    echo "</tr></table>";
    }
    ?>

    Das Bild auf der rechten Seite nachdem man auf ein Thumb geklickt hat wird mit dem Code generiert:

    PHP-Code:
    echo "<img src='default.jpg' id='bild' />"
    die funktion für das ganze steht im head und sieht folgendermaßen aus:

    Code:
    <script type="text/javascript"> 
        <!-- 
        function change(inhalt) 
        { 
          document.getElementById('bild').src  = inhalt; 
        } 
        //--> 
    </script>

    jetzt meine frage ich möchte das wenn ich auf ein Thumb klicke eine Variable übergeben wird. z.B. check=1, diese Variable möchte ich in meinem kompletten Script nutzen können wie kann ich das machen?

    Hoffe so auf Hilfe, denn ich komme einfach nicht weiter.

    Danke und Gruß
    Jache

  • #2
    1. ist wohl ie only, im ff funktioniert garnichts
    2.
    PHP-Code:
    echo "<a href='#?check=1' onclick=\"change(' ".$pfad."/".$pic[0]." ')\">";
    echo 
    $_GET['check']; 
    meinst du das?

    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ja genau sowas allerdings geht das nicht da ich zuvor schon jedemenge Variablen übergeben habe.

      meine IE Leiste sieht so aus:

      http://localhost/pics/index.php?pfad...rubrik=reisen#

      und wenn ich das so mache wie du geschrieben hast dann würde es ja so sein:

      http://localhost/pics/index.php?pfad...eisen#?check=1

      und wegen der # erkennt er dahinter keine Variablen mehr.

      Was habe ich noch für Möglichkeiten?

      Danke schon mal

      Kommentar


      • #4
        schon mal was von zeichenkettenverknüpfungen gehört?

        PHP-Code:
        $anhangpfad='pics/reisen/tuerkei2006&rubrik=reisen';
        echo 
        '<a href="#?check=1'.$anhang.'"...>'
        gruß
        peter
        Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
        Meine Seite

        Kommentar


        • #5
          ja schon aber bevor ich auf ein Thumbnail klicke steht bei mir schon im IE in der Leiste oben

          ->http://localhost/pics/index.php?pfad...&rubrik=reisen

          (MIST warum schreibt der das denn nicht aus? naja müsst ihr halt mit der Maus drüber fahren das ihr den kompletten link seht.)

          wenn ich dann jetzt sage hinten dran soll noch folgendes:

          #?check=1&test2=1&test3=1


          dann steht ja in der Zeile insgesamt:

          ->http://localhost/pics/index.php?pfad...est2=1&test3=1

          sprich ab der "#" werden die anderen Variablen nicht mehr erkannt.

          Sprich wenn ich es so machen würde wie du es geschrieben hast müsste ich erst alle vorherigen Variablen löschen. Aber die brauche ich ja da dort mein pfad drinnen steht, welchen ich brauche um mir die Thumbs aus meinem Verzeichnis zu lesen.
          Zuletzt geändert von Jache84; 15.09.2006, 16:16.

          Kommentar


          • #6
            dreh es um:
            PHP-Code:
            $anhang 'pfad='.$GET['pfad'].'&rubrik='.$_GET['rubrik'];
            echo 
            '<a href="#?'.$anhang.'&check=1"...>';
            // usw usw 
            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              okay so würde es gehen, allerdings muss ich dann immernoch meinen Schwanz von Variablen die schon im IE-Explorer stehen bevor ich auf ein Thumbnail gedrückt habe wegbekommen, oder, denn sonst steht ja alles doppelt da.

              Oder verraffe ich gerade total was?

              hier nochmal zwei Bilder.
              Das erste (Neues Bild (3).jpg)zeigt meine IE Leiste wie sie aussieht, bevor ich auf ein Thumb geklickt habe. Und das zweite bild(Neues Bild (4).jpg) wie sie aussieht nachdem ich auf ein Thumb geklickt habe. da sieht man die "#" steht ganz zum Schluß und dahinter kann ich keine Variablen mehr deklarieren.



              Verstehst du was ich meine?

              Ganz liebe Gruß und ein dickes Danke schon mal
              Grüße
              Jochen
              Angehängte Dateien

              Kommentar


              • #8
                hier das zweite Bild:
                Angehängte Dateien

                Kommentar


                • #9
                  PHP-Code:
                  http://localhost/pics/index.php?pfa...&rubrik=reisen# 
                  dann schmeiss den # aus dem link raus, der ist in dem zusammenhang sowieso völlig sinnfrei. wo kommt überhaupt der link her?

                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    das ganze Zeug vor der # kommt von dem drücken auf eines der rechten Bilder. ich brauche ja den Pfad um mir die Thumbs aus dem übergebenen Pfad auszulesen.

                    Die # kommt durch dieses Teilscript.

                    PHP-Code:
                    echo "<a href='#' onclick=\"change(' ".$pfad."/".$pic[0]." ')\">";
                    echo 
                    $_GET['check']; 
                    wenn ich die # weg lasse und dafür meine Seite (index.php) wieder aufrufe. Wird bei jedem klick auf ein thumbnail die Seite neu geladen. und genau das möchte ich ja verhindern.

                    LG
                    jochen

                    Kommentar


                    • #11
                      Kann ich dir mal ein zip file mit der kompletten Seite zumailen, vieleicht ist es dann klarer was ich meine.

                      Danke und gruß

                      Kommentar


                      • #12
                        kann mir nicht noch einer einen Tip geben, ich hab emitlerweile soviel rumprobiert und es einfach nicht hinbekommen.

                        Gibt es nicht irgendeine Möglichkeit womit ich mir eine Variable an meine Funktion übergeb und die Funktion übergibt mir diese wieder an mein Script.

                        Danke und Lieben gruß
                        Jochen

                        Kommentar


                        • #13
                          Hallo Jache84,
                          wenn ich die # weg lasse und dafür meine Seite (index.php) wieder aufrufe. Wird bei jedem klick auf ein thumbnail die Seite neu geladen. und genau das möchte ich ja verhindern.
                          Geht auch mit 'return false; hinterm Funktionsaufruf in 'onklick'':

                          PHP-Code:
                          <a href='' onclick=\"change(' ".$pfad."/".$pic[0]." '); return false;\"> 
                          Oder, du lässt die # im href bestehen und gehst das Problem in der JS-Funktion change() an.

                          Z.B. so:
                          Code:
                          function change(inhalt, linkobject) 
                          { 
                               document.getElementById('bild').src  = inhalt; 
                          
                               // Wenn 'check' in linkobject.href noch nicht gesetzt ist //
                               if(linkobject.href.indexOf('check=') == -1){
                                    var separator = (linkobject.href.indexOf('?') > -1) ? '&' : '?';
                                    var term;
                                    // Wenn linkobject.href mit einer # endet, wird diese entfernt. //
                                    if(linkobject.href.lastIndexOf('#') == (linkobject.href.length - 1)){
                                         linkobject.href.slice(linkobject.href.lastIndexOf('#'));
                                         term = '#';
                                    }else term = '';
                          			
                                    linkobject.href += separator += 'check=1';
                                    linkobject.href += term; 
                               }
                          }
                          Dazu gehörigt dann folgender Aufruf.
                          PHP-Code:
                          <a href='#' onclick=\"change(' ".$pfad."/".$pic[0]." ', this); return false;\"> 
                          Das 'return false;' kann hier auch wegbleiben, da der Neuaufruf der Seite ja bereits mit # verhindert wird .

                          Hoffe, ich konnte helfen.

                          Gruß

                          Kommentar


                          • #14
                            SPITZE!!! Vielen vielen Dank.

                            Aclso ich habe das jetzt mir dem return false gemacht. Kann ich jetzt einfach in das href meine Variablen schreiben also so:

                            PHP-Code:
                            echo "<a href='index.php?pic=".$pic[0]."' onclick=\"change(' ".$pfad."/".$pic[0]." ', this); return false;\">"
                            denn wenn ich das so mache sehe ich zwar in der Statusleiste unten im IE
                            immer das entsprechende bild über das ich gerade fahre, allerdings übergibt er mir das noch nicht, muss ich noch irgendwas angeben?

                            Aber schonmal tausend dank, habe ich wieder was neues gelernt. *freu*

                            Kommentar


                            • #15
                              Hallo

                              kann mir das vieleicht bitte noch eine/r sagen. Danke schon mal.

                              Liebe Grüße
                              Jochen

                              Kommentar

                              Lädt...
                              X