Ankündigung

Einklappen
Keine Ankündigung bisher.

[Erledigt] value wert aus einem option einem link übergeben

Einklappen

Neue Werbung 2019

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

  • [Erledigt] value wert aus einem option einem link übergeben

    hallo,

    man soll im browser einen mitarbeiternamen auswählen können in einem select feld.
    PHP-Code:
    // Benutzerdaten abfragen
    $user mysql_query("SELECT id, vorname, nachname FROM user");
    if(!isset(
    $_GET['benutzer_id']))
    {
    echo 
    'Bitte <b>deinen</b> Namen auswählen: 
    <select name="id_benutzer" size="1">
    <option value="-----">-----</option>'
    ;
    while(
    $benutzer mysql_fetch_array($user))
    {
    echo 
    '<option value="'.$benutzer['id'].'">'.$benutzer['vorname'].' '.$benutzer['nachname'].'</option>';

    danach soll die "$benutzer['id']" dem nachfolgendem link übergeben werden:

    PHP-Code:
    echo '
    </selected>
    <form name="namen" acion="" method="post">
    <input type="submit" name="auswaehlen" value="Auswählen" onclick="window.location.href=\'http://.../verteilung_namen.php?benutzer_id='
    .$_POST['id'].'\'">
    </form>'
    ;

    mit $_POST funktioniert das nicht. was muss ich ändern?

    marcel

  • #2
    Hi.

    Mach doch um deine Select Geschichte ein Form Tag und gib als action Attribut die aufzurufende Seite an.

    Wolf29
    while (!asleep()) sheep++;

    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

    Kommentar


    • #3
      ach ja stimmt, genau.

      hab ich gemacht. aber ich weiß trotzdem nicht, wie ich den value wert von dem ausgewählten namen in den link übergebe.

      PHP-Code:
      echo 'Bitte <b>deinen</b> Namen auswählen:
      <form name="namen" action="verteilung_namen.php?benutzer_id='
      .$_POST['id'].'" method="post">
      <input type="hidden" name="id" value="'
      .$benutzer['id'].'">
      <select name="id_benutzer" size="1">
      <option value="-----">-----</option>'
      ;
      while(
      $benutzer mysql_fetch_array($user))
      {
      echo 
      '<option value="'.$benutzer['id'].'">'.$benutzer['vorname'].' '.$benutzer['nachname'].'</option>';

      Kommentar


      • #4
        Zitat von Dintar1989 Beitrag anzeigen
        mit $_POST funktioniert das nicht. was muss ich ändern?
        Deine Strategie - sowohl beim Problembeschreiben, als auch beim Fehlersuchen.

        "Funzt nich" ist keine brauchbare Problembeschreibung.
        [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

        Kommentar


        • #5
          wenn du werte per link übergeben willst, dann nimm get und nicht post.

          Kommentar


          • #6
            Musst du gar nicht! Du hast in deiner aufgerufenen PHP Datei dann mit $_PHP[NamedeinerSelectBox] Zugriff auf den gewählten Wert. Schau mal bitte
            hier:

            Formulare und PHP
            http://www.selfphp.de/praxisbuch/pra...roup=32&page=2

            Dir fehlt einiges an Basiswissen noch - dafür ist der link gut.

            Wolf29
            while (!asleep()) sheep++;

            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

            Kommentar


            • #7
              get ist doch nur um einen wert einer url adresse rauszunehmen. aber ich muss erst mal den wert da reinschreiben in eine adresse.

              Kommentar


              • #8
                Nein. Lies Dir bitte mal meine Links durch.

                GET und POST

                Wolf29
                while (!asleep()) sheep++;

                Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                Kommentar


                • #9
                  Zitat von Dintar1989 Beitrag anzeigen
                  aber ich muss erst mal den wert da reinschreiben in eine adresse.
                  Was dabei dein Problem ist, hast du aber immer noch nicht nachvollziehbar beschrieben.
                  [SIZE="1"]RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?[/SIZE]

                  Kommentar


                  • #10
                    Ganz einfaches Beispiel:

                    PHP-Code:
                    <?php

                    //seite1.php
                    <form action="seite2.php" method="POST">
                    <
                    input type="text" name="meintext"><br />
                    <
                    input type="submit" name="submit" value="Senden">
                    </
                    form>

                    //seite2.php
                    <?php
                    if (isset($_POST["meintext"])){
                     echo 
                    "Ausgabe: ".$_POST["meintext"];
                    }else{
                     echo 
                    "Kein Wert übbermittelt";
                    }
                    ?>

                    ?>
                    Verständlich?

                    Wolf29
                    while (!asleep()) sheep++;

                    Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                    Kommentar


                    • #11
                      ja, das ist verständlich.

                      jetzt hab ich das so gemacht:

                      PHP-Code:
                      <form name="namen" action="verteilung_namen.php?benutzer_id='.$_GET['id_benutzer'].'" method="get">
                      <
                      select name="id_benutzer" size="1"
                      linkadresse: http://.../verteilung_namen.php?id_b...en=Ausw%E4hlen

                      PHP-Code:
                      echo '
                      </selected>
                      <input type="submit" name="auswaehlen" value="Auswählen">
                      </form>'

                      Kommentar


                      • #12
                        Ähm, bei action muss aber auch keine ?benutzer_id... hinter. Das zeigt mir nur, dass Du die links noch nicht durchgelesen hast! Zudem würde ich dir raten (soweit es geht) Html und PHP Code zu trennen. Hier nochmal was zu GET:

                        PHP $_GET Function

                        Wolf29

                        Bsp.:

                        PHP-Code:
                        //seite1
                        <form name="namen" action="verteilung_namen.php" method="get">
                        <select name="id_benutzer" size="1">  
                        <option value="...">...</option>
                        <!-- usw. -->
                        </select>
                        <input type="submit" name="submit" value="Abschicken">
                        </form>

                        //verteilung_namen.php
                        <?php
                        if (isset($_GET['id_benutzer'])){
                         echo 
                        "Ausgabe: ".$_GET['id_benutzer'];
                        }
                        ?>
                        while (!asleep()) sheep++;

                        Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                        Kommentar


                        • #13
                          danke, funktioniert jetzt, nachdem ich ?benutzer_id... das weg gemacht habe.

                          aber wie kann ich die beiden werte des submit buttons "&auswaehlen=Ausw%E4hlen" wegmachen?

                          Kommentar


                          • #14
                            Wenn Du Dir die Links durchlesen würdest, wüßtest du, warum die da sind! Dann würdest Du auch verstehen, warum man normalerweise POST statt GET nimmt!

                            Wolf29
                            while (!asleep()) sheep++;

                            Unterschätze nie jemanden der einen Schritt zurück geht! Er könnte Anlauf nehmen.

                            Kommentar

                            Lädt...
                            X