kostenloser Webspace werbefrei: lima-city


Werte aus URL in Array einfügen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    neo1000

    neo1000 hat kostenlosen Webspace.

    Huhu,

    also ich habe derzeit ein Array mit mehreren "Werten". Das Script gibt alle Werte aus dem Array aus. Wenn ich jetzt ".../index.php?wert=WoW" schreibe, schreibt er mir WoW auch dazu, so wie es auch sein soll.

    $games = array();
    $games[] = "Diablo";
    $games[] = "Warcraft";
    $games[] = "Counter Strike";
    $games[] = "Sims";
    
    $wert = $_GET["wert"];
    
    if(isset($wert))
      {
      $games[] = $wert;
      }
    
    foreach($games AS $ausgabe)
      {
      echo "$ausgabe <br>";
      }


    Meine Frage ist jetzt wie mache ich das wenn ich folgende URL habe:

    .../index.php?wert1=WoW&wert2=Vietcong&wert3=FarCry


    Also k?nnte mir da mal jemand auf die Spr?nge helfen, ich hatte da was mit einer for-Schleife im Kopf.



    Beitrag ge?ndert am 20.12.2005 23:36 von neo1000
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Hi,

    also, es tut mir leid, aber ich versteh nicht ganz, was du willst. Willst du einen Array in eine url als query-string umwandeln oder verkehrt rum?

    Edit:
    Ich habs begriffen, was du meinst.
    Mach es doch so, um alle Werte aus _get auszulesen:

    foreach ($_GET as $wert) {
     $games[] = $wert;
    }


    _get ist ja ein Array, mit allen werten des query-strings. Also kann man ihn ja mit foreach auslesen.
    Ich hoffe, dass es dein Problem l?st.

    mfg,
    hr

    Beitrag ge?ndert am 20.12.2005 23:39 von heavyraptor
  4. r*****r

    so in etwa, da k?nnen bis zu drei zahlen ?bersprungen, ewrden, und es wird mit der schleife weitergemacht:

    $games = array();
    $games[] = "Diablo";
    $games[] = "Warcraft";
    $games[] = "Counter Strike";
    $games[] = "Sims";
    
    
    $x = 0;
    for($i = 1;;$i++) {
    	if(isset($_GET["wert$i"])) {
    		$x = 0;
    		$games[] = $_GET["wert$i"];
    	}else{
    		$x++;
    		if($x == 3) {
    			break ;
    		}
    	}
    }
    
    foreach($games AS $ausgabe)
      {
      echo "$ausgabe <br>";
      }



    edit:

    jetzt hast du zwei l?sungen


    edit2: so sollte es allerdings klappen, tut bei mir!


    Beitrag ge?ndert am 21.12.2005 15:59 von ruehrer
  5. Du k?nntest auch die beiden Antworten vermischen. :biggrin:

    Du holst dir mit array_keys($_GET) ( http://de2.php.net/manual/de/function.array-keys.php ) die "Schl?ssel" von Get.

    Dann kannst du ja mit hilfe von foreach schauen, ob es mit Wert beginnt und dann eine Zahl kommt.
    Wenn ja packst du den Wert aus den Array mit diesen Schl?ssel in dein $game[].

    Jens
  6. Autor dieses Themas

    neo1000

    neo1000 hat kostenlosen Webspace.

    Also ich habe es jetzt so gel?st, das sich alles in einer for-Schleife befindet.

    In dieser Schleife befindet sich eine if-schleife, die solange neue Werte f?r den array erstellt, bis keine Werte mehr in der URL ?brig sind.

    Danach kommt die else-Anweisung zum Tragen, dort wird einmal alles aus dem Array ausgegeben und dann beendet.

    Der gesamte Code sieht dann so aus:

    $games = array();
    
    $games[] = "Diablo";
    
    $games[] = "Warcraft";
    
    $games[] = "Counter Strike";
    
    $games[] = "Sims";
    
    
    for($i = 1;;$i++) 
    	{
    	if(isset($_GET["wert$i"])) 
    		{
            $games[] = $_GET["wert$i"];
        	}
    	else
    		{
    		foreach($games AS $ausgabe)
      			{
      			echo "$ausgabe <br>";
      			}
            exit();
    		}
        }


    Beitrag ge?ndert am 21.12.2005 16:15 von neo1000
  7. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!