Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] Frage zur Variablenübergabe

Einklappen

Neue Werbung 2019

Einklappen
Dieses Thema ist geschlossen.
X
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Erledigt] Frage zur Variablenübergabe

    Hallo, erstmal!

    Ich heiße Matthias, bin PHP-Anfänger und neu hier im Forum.
    Habe ein kleines Problem und hoffe, daß mir vielleicht jemand einen Tipp geben kann!
    Möchte gerne aus einem Array per Zufall 3 Elemente ausgeben.
    Habe dazu im Manual folgende Funktion gefunden:

    <?php
    srand((float) microtime() * 10000000);
    $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
    $rand_keys = array_rand($input, 2);

    echo $input[$rand_keys[0]] . "\n";
    echo $input[$rand_keys[1]] . "\n";
    ?>

    Klappt wunderprächtig und ist genau daß, was ich gesucht habe.
    ABER: ich möchte die Werte nicht auf derselben- sondern einer anderen Seite ausgeben.

    Kann mir bitte jemand zeigen, wie ich das bewerkstelligen kann?

    Vielen Dank im Voraus,
    Matthias

    (Sorry, aber die PHP-Code Funktion hat bei mir nicht geklappt, weshalb in ihn einfach nur so w.o. schreiben musste)


  • #2
    schreib doch deinen code als Funktion oder eben in der Seite in der Du es ausgeben willst...
    oder willst DU den Wert weiterverarbeiten und später ausgeben dann pack ihn in eine session...

    Kommentar


    • #3
      Hallo und Willkommen im Forum!

      Du könntest das über Sessions lösen. Speichere die Werte in einer Session Variablen. In der Datei wo die Daten ausgegeben werden sollen musst du mit session_start(); beginnen so wird eine Session eingeleitet bzw. wieder gestartet und du kannst dort die Werte die in den Session Variablen stehen wieder verwenden!

      mfg der Litter
      Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
      http://www.lit-web.de

      Kommentar


      • #4
        Hallo, und Danke für die schnellen Antworten!

        Geht die Übermittlung nicht auch einfacher?
        Habe gedacht, die Werte in ein Formular zu packen, und mittels input type"hidden" an die auswertungs.php zu schicken.
        Ist mir aber leider nicht gelungen...

        Danke nochmals,

        Matthias

        Kommentar


        • #5
          Zitat von elwoodblues Beitrag anzeigen
          Habe gedacht, die Werte in ein Formular zu packen, und mittels input type"hidden" an die auswertungs.php zu schicken.
          Das geht auch, nur musst du das Formular dann natürlich auch abschicken.
          Wenn du eine PHP Version > 4.2 benutzst (was ich hoffe), kannst du srand() weglassen.
          Hier noch eine andere Möglichkeit:
          PHP-Code:
           <?php
          $input 
          = array("Neo""Morpheus""Trinity""Cypher""Tank");
          shuffle($input);
           
          echo 
          "$input[0]<br />";
          echo 
          "$input[1]<br />";
          ?>
          Gruss
          L

          Kommentar


          • #6
            Wenn man da eine rand funktion nutzt,wäre es da nicht besser array_rand() zu nutzen?

            Nur eine Frage!
            Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
            http://www.lit-web.de

            Kommentar


            • #7
              Zitat von litterauspirna Beitrag anzeigen
              Wenn man da eine rand funktion nutzt,wäre es da nicht besser array_rand() zu nutzen?
              Ist doch völlig egal. Ich gehe davon aus, dass shuffle die gleichen internen Funktionen benutzt.
              Ausserdem, was heisst hier «wenn man eine rand funktion nutzt»?
              Gruss
              L

              Kommentar


              • #8
                Deshalb schrieb ich das!

                Seit PHP 4.2.0 besteht keine Notwendigkeit mehr, den Zufallsgenerator für Zahlen mit srand() oder mt_srand() zu füttern, das geschieht nun automatisch.

                Kann natürlich auch sein das ich da was verwürfel! Darum fragte ich das ja!
                Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
                http://www.lit-web.de

                Kommentar


                • #9
                  Steht ja auch bei shuffle
                  Gruss
                  L

                  Kommentar


                  • #10
                    Hallo und willkommen =)

                    Wenn du die 3 Werte ausgewaehlt hast, kannst du sie doch einfach per GET uebergeben:

                    Schau dir dazu mal folgende Funktionen an:
                    PHP: shuffle - Manual
                    PHP: array_slice - Manual
                    PHP: http_build_query - Manual
                    PHP: header - Manual

                    Wie moechtest du die Daten denn uebergeben, per automatischer Weiterleitung, per <a>-Klick? Sessions gibt es ja auch:

                    PHP: Sessions - Manual

                    Oder du schreibst das ganze wie vorgeschlagen in eine Funktion. Einbinden kannst du sie auf der anderen Seite dann mit require:

                    PHP: require - Manual
                    "Mein Name ist Lohse, ich kaufe hier ein."

                    Kommentar


                    • #11
                      Danke zunächst für Eure Tipps!

                      Habe das Problem folgendermaßen gelöst:


                      <form action="auswertung.php" method="post">

                      <?php
                      $input = array("Neo", "Morpheus", "Trinity", "Cypher", "Tank");
                      $rand_keys = array_rand($input, 3);
                      ?>

                      <input type="hidden" name="wert1" value="<?php echo $input[$rand_keys[0]]; ?>">
                      <input type="hidden" name="wert2" value="<?php echo $input[$rand_keys[1]]; ?>">
                      <input type="hidden" name="wert3" value="<?php echo $input[$rand_keys[2]]; ?>">

                      <input type="submit" value="Absenden">
                      </form>


                      Auf der auswertung.php kann ich die Elemente dann einfach mit:

                      <?php echo $wert1; ?>
                      <?php echo $wert2; ?>
                      <?php echo $wert3; ?>

                      an beliebigen Stellen ausgeben (können auch Bilder, Links oder was auch immer sein).

                      MfG, Matthias

                      Kommentar


                      • #12
                        noch ein register_globals

                        Kommentar


                        • #13
                          @elwoodblues
                          gewöhn Dir das gleich mal wieder ab und schau Dir mal was zum Thema register_globals an und die arrays $_GET, $_POST

                          Kommentar


                          • #14
                            Lass bitte die Crosspostings sein.

                            Thread geschlossen.
                            "Mein Name ist Lohse, ich kaufe hier ein."

                            Kommentar

                            Lädt...
                            X