Problem mit der Übergabe von variablen mit der URL.

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

  • Problem mit der Übergabe von variablen mit der URL.

    Hallo

    Ich ahbe ein Problem mit der Übergabe von variablen mit der URL.
    Also ich übergebe per Formular 2 Variablen (ASystem und CSystem) an die seite Galerie.php
    Nun kann es sein das es mehr als 9 bilder gibt dan mach die Galerie automatisch einen Link zur nechsten Seite mit den nechsten 9 Bilder.Das ganze mit der Blätterfuntion klappt alles bestens , solange ich die varibalen nicht mit dem Formular übergebe sondern direkt auf der seite galerie.php definiere.
    Den wenn ich die nechste seite aufrufe stehen die variablen die durch das Fomular übergeben wurden nicht mehr zur verfügung.Deshalb dachte ich das ich die variablen einfach mit der url von seite zu seite übergebe.Leider funtioniet das ganze nicht wirklich ich bin mit meine latain am ende und hoffe ihr könnt mir helfen.


    Quellcode:




    $seite = $_GET["seite"]; //Abfrage auf welcher Seite man ist

    //Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1 das ganze funtioniert prima
    if(!isset($seite))
    {
    $seite = 1;
    $CSystem = $_POST["SucheCS"];
    $ASystem = $_POST["SucheAS"];

    $foo1 = $_POST["SucheCS"];
    $foo2 = $_POST["SucheAS"];
    echo $foo1 ;
    echo $foo2 ;



    }
    //Hier ist das Problem
    else

    {
    $CSystem = $_GET["foo11"];
    $ASystem = $_GET["foo22"];
    echo $CSystem ;
    echo $ASystem ;


    }


    //Hier noch der code mit dem Link


    //Berechner der Seiten


    $result = mysql_query("SELECT * FROM robotic02");
    $menge = mysql_num_rows($result);

    //Errechnen wieviele Seiten es geben wird
    $wieviel_seiten = $menge / $eintraege_pro_seite;

    //Ausgabe der Seitenlinks:
    echo "<div align=\"center\">";
    echo "<b>Seite:</b> ";


    //Ausgabe der Links zu den Seiten
    for($a=0; $a < $wieviel_seiten; $a++)
    {
    $b = $a + 1;

    //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
    if($seite == $b)
    {
    echo " <b>$b</b> ";
    }

    //Aus dieser Seite ist der User nicht, also einen Link ausgeben , hier übergebe ich die variablen
    else
    {
    echo " <a href=\"?seite=$b&?foo11=$foo1&?foo22=$foo2\">$b</a> ";
    }


    }
    echo "</div>";

    [/code] PS:

    das ist nicht der ganze Code von der Page galerie.php sondern nur der teil der nicht funtioniert falls ihr den ganzen code wollt müsst ihr nur was sagen


    Hochachtungsvoll

    Vincent

  • #2
    "&?" ist verkehrt. Wenn man mehr als eine Variable übergeben will, dann werden die mit & verkettet - und das gibt man maskiert aus, also "& amp;" (ohne Leerzeichen dazwischen)
    ich glaube

    Kommentar


    • #3
      Hallo

      Habe es nun so gemacht wie du gesagt hast funktionirt trotzdem nicht !
      Hat jemand noch eine andere Idee bzw Fehler


      <a href=\"?seite=$b&foo11=$foo1&foo22=$foo2\">$b</a>

      Kommentar


      • #4
        Was genau bedeutet funktioniert nicht?
        ich glaube

        Kommentar


        • #5
          Funktioniert nicht bedeutet das wenn ich auf auf den link klicke wird die variable nicht übergeben.
          Fehler meldungen kommen keine

          Kommentar


          • #6
            $seite = $_GET["seite"]; //Abfrage auf welcher Seite man ist

            if(!isset($seite))
            {
            $seite = 1;
            $CSystem = $_POST["SucheCS"];
            $ASystem = $_POST["SucheAS"];

            $foo1 = $_POST["SucheCS"];
            $foo2 = $_POST["SucheAS"];
            echo $foo1 ;
            echo $foo2 ;



            }
            //Hier ist das Problem
            else

            {
            $CSystem = $_GET["foo11"];
            $ASystem = $_GET["foo22"];
            echo $CSystem ;
            echo $ASystem ;


            }
            Das Problem ist, dass von dieser Verzweigung immer der else-Zweig ausgeführt wird, weil, du zuerst $seite setzt und danach abfragst, ob $seite gesetzt ist.

            PHP-Code:
            if (isset($_GET['seite'])) {
                
            $seite $_GET['seite'];
                
            $CSystem $_GET['foo11'];
                ...

            } else {
                
            $seite 1;
                
            $CSystem $_POST["SucheCS"];
                ....

            Übrigens, das nächste mal könntest du PHP-Tags benutzen, dann ist dein Code viel übersichtlicher. Außerdem sind Parameternamen wie foo11 nicht wirklich sprechend.... nicht zu empfehlen.
            ich glaube

            Kommentar


            • #7
              Hallo

              Also ich dachte das der code hier der variable seite den wert den mit
              PHP-Code:
              $_GET["seite"]; 
              übergeben wird zuordent.
              Falls dan
              PHP-Code:
              $_GET["seite"]; 
              nichts beinhaltet hat die variable seite ja keinen inhalt oder ?
              Dan müsste doch das If greifen und nicht else ausführen !


              Der echo befehl wird ja bei der ersten seite auch ausgeführt deshalb denke ich das die if bedingung erfült ist , sonst würde ja kein echo ausgegeben

              PHP-Code:
              echo $foo1 

              Ich will nicht besserwissen , soll auf keinen fall so rüberkommen , bin für deine hilfe sehr sehr dankbar
              Zuletzt geändert von TonyMontana; 16.03.2007, 17:24.

              Kommentar


              • #8
                isset gibt auch true zurück, wenn die Variable leer ist! Du willst auf empty prüfen
                Für Rechtschreibfehler übernehme ich keine Haftung!

                Kommentar


                • #9
                  Nein, weil du nicht abfragst, ob $_GET['seite'] gesetzt ist, sondern ob $seite gesetzt ist... Ein vernünftig eingestelltes Errorreporting hätte dir das übrigens angezeigt.

                  Ich hab dir doch geschrieben, wie es geht. Probier das.
                  ich glaube

                  Kommentar


                  • #10
                    oder du benutzt empty()


                    Im Verhalten von empty() und isset() gibt es folgende Unterschiede:


                    PHP-Code:

                    $test 
                    0;

                    if(empty(
                    $test)){

                        
                    // hier gehter rein

                    }

                    if(!isset(
                    $test)){

                        
                    // hier gehter nicht rein

                    }


                    $test ''


                    if(empty($test)){

                        
                    // hier gehter rein

                    }


                    if(!isset(
                    $test)){

                        
                    // hier gehter nicht rein



                    Das ist der Unterschied ob eine Variable gesetzt oder leer ist. Eine Variable in der ein Leerstring gespeichert ist ist schließlich gesetzt. Allerdings leer (Leerstring erklärt sich ja von selbst)

                    eine 0 wird auch als leer gewertet, die Variable ist aber trotzdem gesetzt
                    signed oder unsigned... das ist hier die Frage

                    Kommentar


                    • #11
                      Hallo


                      Vielen Dank das mit der übergabe der variablen funtioniert jetzt prima.
                      Nun habe ich das nechste problem auf der nechsten seite werden leider keine bilder angezeigt.
                      War nun doch meine bemühungen umsonst weil ich etwas wichtiges übersehen habe.
                      Ich weis das dies eigntlich nicht in diesen Thread gehört aber kannst du dir vieleicht mal den ganzen code anschauen vieleicht siehtst du ja sofort wo der fehler ist.Falls du keine lust oder zeit hast könnte ich das gut verstehen.Aber einen versuch ist es wert wenn ich schon mal jemanden gefunden habe der ahnung davon hat !.

                      PHP-Code:
                      <?php





                      //Wenn man keine Seite angegeben hat, ist man automatisch auf Seite 1
                       
                      if (isset($_GET['seite'])) {
                          
                      $seite $_GET['seite'];
                          
                      $CSystem $_GET["foo11"];
                          
                      $ASystem $_GET["foo22"];
                          echo 
                      $CSystem ;
                          echo 
                      $ASystem ;



                      } else {
                          
                      $seite 1;
                         
                      $CSystem $_POST["SucheCS"];
                         
                      $ASystem $_POST["SucheAS"];

                         
                      $foo1 $_POST["SucheCS"];
                         
                      $foo2 $_POST["SucheAS"];
                         echo 
                      $foo1 ;
                         echo 
                      $foo2 ;


                      }





















                        
                      $link mysql_connect("localhost","root","") or die ("Keine Verbindung moeglich");
                      mysql_select_db("test") or die ("Die Datenbank existiert nicht");


                      //Einträge pro Seite:
                      $eintraege_pro_seite $_POST["BilderAnzeige"];
                      IF(
                      $eintraege_pro_seite == "")
                      {
                      $counter1 2  ;
                      $counter1 4  ;
                      $eintraege_pro_seite ;
                      echo 
                      "6 bzw 0 Bilder anzeigen" ;

                      }
                      else
                      {

                      $counter1 =  $eintraege_pro_seite 3  ;
                      $counter2 =  ($eintraege_pro_seite ) * ;
                      echo 
                      "9  Bilder anzeigen" ;
                      }
                      //Ausrechen welche Spalte man zuerst ausgeben muss:

                      $start $seite $eintraege_pro_seite $eintraege_pro_seite;












                         if(
                      $CSystem == "" and $ASystem == "")

                         {
                         
                      $SuchFeld1 "CSALL" ;
                         
                      $SuchFeld2  =  "ASALL" ;
                         
                      $SuchOption1  =  "ALL" ;
                         
                      $SuchOption2  =  "ALL" ;

                         }

                        elseif(
                      $CSystem == "ALL" and $ASystem == "ALL")

                        {
                        
                      $SuchFeld1 "CSALL" ;
                        
                      $SuchFeld2  =  "ASALL" ;
                        
                      $SuchOption1  =  "ALL" ;
                        
                      $SuchOption2  =  "ALL" ;


                        }


                        elseif(
                      $CSystem == "ALL")

                        {
                        
                      $SuchFeld1 "CSALL" ;
                        
                      $SuchFeld2  =  "ASystem" ;
                        
                      $SuchOption1  =  "ALL" ;
                        
                      $SuchOption2  =  $_POST["SucheAS"];




                        }
                        elseif(
                      $ASystem == "ALL")

                        {
                        
                      $SuchFeld1 "CSystem" ;
                        
                      $SuchFeld2  =  "ASALL" ;
                        
                      $SuchOption1  =  $_POST["SucheCS"];
                        
                      $SuchOption2  =  "ALL" ;





                        }

                        else

                        {
                        
                      $SuchFeld1 "CSystem" ;
                        
                      $SuchFeld2  =  "ASystem" ;
                        
                      $SuchOption1  =  $_POST["SucheCS"];
                        
                      $SuchOption2  =  $_POST["SucheAS"];





                        }




                        echo  
                      "SuchFeld1 - " $SuchFeld1 ,"-x- SucheOptionen1 -" $SuchOption1  " <br> "  ;
                        echo  
                      "SuchFeld2 - " $SuchFeld2 ,"-x- SucheOptionen2 -" $SuchOption2     ;














                       
                      $abfrage "SELECT URL , BildUrl FROM robotic02 WHERE $SuchFeld1 

                      LIKE '
                      $SuchOption1' AND $SuchFeld2 LIKE '$SuchOption2' LIMIT $start$eintraege_pro_seite ";;
                      $ergebnis mysql_query($abfrage);
                      $counter "0";

                        echo 
                      '<br/>' ;



                       while(
                      $row mysql_fetch_object($ergebnis))
                          {


                         
                      $counter =  $counter ;



                         echo 
                      "



                         <a href='
                      $row->URL'> <img src= '$row->BildUrl' alt='' border='1' align='center'  width='25% '  height='25%' /> </a>
                          "  
                      ;



                         }



                         
                      $counter =  $counter ;



                        
                      //Berechner der Seiten


                      $result mysql_query("SELECT * FROM robotic02");
                      $menge mysql_num_rows($result);

                      //Errechnen wieviele Seiten es geben wird
                      $wieviel_seiten $menge $eintraege_pro_seite;

                      //Ausgabe der Seitenlinks:
                      echo "<div align=\"center\">";
                      echo 
                      "<b>Seite:</b> ";


                      //Ausgabe der Links zu den Seiten
                      for($a=0$a $wieviel_seiten$a++)
                         {
                         
                      $b $a 1;

                         
                      //Wenn der User sich auf dieser Seite befindet, keinen Link ausgeben
                         
                      if($seite == $b)
                            {
                            echo 
                      "  <b>$b</b> ";
                            }

                         
                      //Aus dieser Seite ist der User nicht, also einen Link ausgeben
                         
                      else
                            {
                            echo 
                      "  <a href=\"?seite=$b;&foo11=$foo1;&foo22=$foo2;\">$b</a> ";
                            }


                         }
                      echo 
                      "</div>";
                      ?>
                      Zuletzt geändert von TonyMontana; 16.03.2007, 18:02.

                      Kommentar


                      • #12
                        Naja, wenn du übers Blättern auf die Seite kommst, dann steht nichts mehr von $_POST zur Verfügung. Also musst du z.B. da unten bei den Suchoptionen $CSystem statt $_POST['SucheCS'] schreiben.

                        Außerdem hast du es irgendwie echt drauf, das bisschen Code so unübersichtlich wie möglich darzustellen...

                        Regeln

                        -Scrollbalken
                        -Errorreporting
                        -mysql_error()
                        ich glaube

                        Kommentar


                        • #13
                          Hallo

                          Sry das es so inübersichlich ist , bin ein anfänger der sich erst seit ein paar tagen mit php beschäftigt.Wie gesagt ich habe den ganzen code selber geschrieben und immer wieder sachen austauschen oder ändern müssen.
                          Nochmals Sry


                          Ich habe den code so ergänzt

                          PHP-Code:
                          if($CSystem == "" and $ASystem == "")

                             {
                             
                          $SuchFeld1 "CSALL" ;
                             
                          $SuchFeld2  =  "ASALL" ;
                             
                          $SuchOption1  =  "ALL" ;
                             
                          $SuchOption2  =  "ALL" ;

                             }

                            elseif(
                          $CSystem == "ALL" and $ASystem == "ALL")

                            {
                            
                          $SuchFeld1 "CSALL" ;
                            
                          $SuchFeld2  =  "ASALL" ;
                            
                          $SuchOption1  =  "ALL" ;
                            
                          $SuchOption2  =  "ALL" ;


                            }


                            elseif(
                          $CSystem == "ALL")

                            {
                            
                          $SuchFeld1 "CSALL" ;
                            
                          $SuchFeld2  =  "ASystem" ;
                            
                          $SuchOption1  =  "ALL" ;
                            
                          $SuchOption2  =  $ASystem ;




                            }
                            elseif(
                          $ASystem == "ALL")

                            {
                            
                          $SuchFeld1 "CSystem" ;
                            
                          $SuchFeld2  =  "ASALL" ;
                            
                          $SuchOption1  =  $CSystem  ;
                            
                          $SuchOption2  =  "ALL" ;





                            }

                            else

                            {
                            
                          $SuchFeld1 "CSystem" ;
                            
                          $SuchFeld2  =  "ASystem" ;
                            
                          $SuchOption1  =  $CSystem   ;
                            
                          $SuchOption2  =  $ASystem   ;





                            } 
                          Leider geht es immer noch nicht. !!

                          Kommentar


                          • #14
                            Error reporting einstellen Bitte! Und den Scrollbalken wegmachen, siehe Regeln
                            ich glaube

                            Kommentar


                            • #15
                              So habe alles gemacht !!

                              Error report

                              Notice: Undefined index: BilderAnzeige in C:\Dokumente und Einstellungen\vince\Desktop\xampp\htdocs\filterPro.php on line 43

                              Kommentar

                              Lädt...
                              X