verschiedene links auf formular - dropdown vorauswahl

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

  • verschiedene links auf formular - dropdown vorauswahl

    hallo freunde,
    freu mich hier zu sein.

    ich starte auch gleich mit einem problem:

    ich habe auf einer seite verschiedene links, die alle auf das selbe formular linken. das formular selbst hat ein dowpdown-feld. dieses dropdown-feld soll bei jedem link bereits eine bestimmten voreintrag anzeigen.

    anders gesagt:
    ich habe eine seite "kontakt" mit 5 verschiedenen links zum kontaktformular.
    die links sind vorstand, leitung, verkauf usw..

    wenn also jemand auf den link "verkauf" klickt, soll er zum formular kommen und im dropdown soll automatisch "verkauf" als betreff ausgewählt sein.

    es geht mir also um die automatisch vorauswahl des richtigen listenwertes.

    wie mach ich das?

    hilfe wäre toll
    dank im voraus
    thomas

  • #2
    Code:
    <a href="kontakt.php?an=Vorstand">Vorstand</a>
    PHP-Code:
    //kontakt.php
    <?php
    if (empty($_GET['an'])) $_GET['an'] = '';
    ?>
    <select name="an">
      <option value="vorstand" <?php
        
    if ($_GET['an'] == 'vorstand')
          echo 
    ' selected = "selected" ';
      
    ?>>Vorstand</a>
      <option value="admin" <?php
        
    if ($_GET['an'] == 'admin')
          echo 
    ' selected = "selected" ';
      
    ?>>Admin</a>
    </select>
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      das ging ja schnell..

      hallo und danke erstmal für die antwort.

      das formular auf das ich verweisen möchte hat ja ein dropdownfeld:

      <select name="Betreff" class="inhalt" id="Betreff">
      <option selected>Bitte w&auml;hlen</option>
      <option>-------------------------------------------------</option>
      <option>Leitung</option>
      <option>Verkauf</option>
      <option>Kunden</option>
      <option>Preisliste</option>
      <option>Prospekte</option>
      </select>


      sorry ..hätt' ich auch gleich sagen können.
      kannst du mir jetzt nochmal einen link zeigen? bspw. auf "leitung"..?

      grüße
      thomas

      Kommentar


      • #4
        Was verstehst du an meinem Beispiel nicht?

        Oben ist der Link, unten das Formular
        Ich denke, also bin ich. - Einige sind trotzdem...

        Kommentar


        • #5
          sorry.. liegt daran das ich nicht wirklich viel ahnung davon habe..

          ich werde es dann nach deinem beispiel versuchen.

          vielen dank!

          EDIT:
          schade.. ich stell mich zu doof an.. kriegs nicht hin..

          ich habe jetzt die links:

          <p><a href="mailformular.php?Betreff=Verlagsleitung">Verlagsleitung</a></p>
          <p><a href="mailformular.php?Betreff=Redaktion">Redaktion</a></p>


          und dann im formular:

          <?php
          if (empty($_GET['an'])) $_GET['Betreff'] = '';
          ?>
          <select name="Betreff">
          <option value="Verlagsleitung" <?php
          if ($_GET['an'] == 'Verlagsleitung')
          echo ' selected = "selected" ';
          ?>>Verlagsleitung</a>
          <option value="Redaktion" <?php
          if ($_GET['Betreff'] == 'admin')
          echo ' selected = "selected" ';
          ?>>Redaktion</a>
          </select>


          evtl. muss ich noch erwähnen, dass dieses formular wiederum per methode=post auf ein formmailerscript verweist. (ich weiß garnicht wieso das nicht mit in der seite ist!)

          das formmailer-script ist ein ganz simples von selfhtml und hat auf "normale" weise gut funktioniert.


          muss ich es jetzt mit in die formularseite einbauen, ist das wichtig?

          (sorry wenn das alles einfach zu dumm klingt..)

          ich muss leider weg und werde erst heute abend wieder hier reinschauen können, also mach dir keine gedanken wenn ich nicht gleich antworte. eine weitere antwort wäre natürlich trotzdem schön.

          hättest du sonst einen tip für einen fertigen formmailer? (denn wie du ja siehst übernehme ich mich wohl glatt daran).

          danke
          thomas
          Zuletzt geändert von styler2000; 19.06.2006, 09:48.

          Kommentar


          • #6
            sorry für die Einmischung.

            für die vorgewählte Option muss ein selected stehen:
            siehe selfhtml, "Einträge vorselektieren"

            <option selected>Verlag</option>

            wie man das "selected" auf der passenden Zeile hineinbringt, lehrt recht kompakt und lesbar ein kleiner php-kurs, z.b. von w3schools.com: http://www.w3schools.com/php/default.asp

            Ansonsten (ohne irgendwelchste selbstkenntnisse) ist imho ein klein kommerzieller Job im handreiche-niveau. Hat dieses Forum keine "Markt"-Abteilung möglichst mit micropayment Verrechnung, oder gibt es das irgendwo in der Nähe?

            Kommentar


            • #7
              puh.. ich hab echt keinen schimmer..

              ich würde gern nochmal nachfragen.

              es geht mir zunächst NUR darum, von einer html-seite auf die formular-seite zu linken. aber eben so, dass bereits einer der einträge im dropdownfeld ausgewählt ist. mehr nicht..

              ein "normaler" link ist jetzt halt: <a href="mailformular.php">E-Mail-Formular</a>
              ich möchte jetzt nur, dass das dropdown im formular eine vorauswahl getroffen hat.

              ich kriege das was mr happiness geschrieben hat einfach nicht hin. komm mir richtig dumm vor. damit ihr aber nicht denkt ich will alles "geschenkt", schreibe ich hier nochmal was ich bisher versucht habe.



              <a href="mailformular.php?Betreff=Vorstand">Vorstand</a>

              ...soll der link zur seite mailformular.php sein und in der auswahl soll dann Vorstand bereits ausgewählt sein. da siehts jetzt noch/wieder so aus: ich habe alles nochmal zurückgesetzt, damit ich nicht zu sehr durcheinander komme.


              <label>
              <select name="Betreff" class="inhalt" id="Betreff">
              <option selected>Bitte w&auml;hlen</option>
              <option>-------------------------------------------------</option>
              <option>Vorstand</option>
              <option>Redaktion</option>
              <option>Gro&szlig;kunden</option>
              <option>Preisliste</option>
              <option>Prospekte</option>
              </select>
              </label>


              was muss ich denn jetzt ändern damit das geht?

              wie gesagt geht es mir noch garnicht um das senden, sondern NUR darum, dass die auswahl automatisch getroffen wir.

              Kommentar


              • #8
                habs jetzt doch geschafft! -ich weiß garnicht was mein problem war - die anleitung von mrhappiness war im grunde ganz klar und richtig.. (sorry!)

                auf jeden fall danke dafür!

                kannst du/oder jemand anderes mir jetzt auch noch dabei helfen wie ich das -jetzt vorausgewählte- formular an verschiede mailadressen bzw. scripte übergeben kann?

                momentan ist es halt noch so, dass das formular alle inhalte an ein script übergibt, welches es eben nur an eine adresse schickt. ich hätte auch kein problem damit einfach 5 verschiedene scripte zu erstellen.

                die frage ist nur:

                wie bringe ich das formular dazu bei verschiedenen auswahlen an verschiedene scripte zu übergeben?


                eine erneute hilfe wäre toll


                EDIT:
                meine seite mit dem formular linkt per <form action="kontaktmailer.php" method="post" auf meine (extra)-seite mit dem mailer

                mein script in kontaktmailer.php sieht so aus:

                <?php


                $strEmpfaenger = 'name@domain.de';


                $strFrom = '"nachricht von domain.de"';


                $strSubject = 'kontaktformular domain.de';


                $strReturnhtml = 'http://www.domain.de/danke.php';


                $strDelimiter = ":\t";


                if($_POST)
                {
                $strMailtext = "";

                while(list($strName,$value) = each($_POST))
                {
                if(is_array($value))
                {
                foreach($value as $value_array)
                {
                $strMailtext .= $strName.$strDelimiter.$value_array."\n";
                }
                }
                else
                {
                $strMailtext .= $strName.$strDelimiter.$value."\n";
                }
                }

                if(get_magic_quotes_gpc())
                {
                $strMailtext = stripslashes($strMailtext);
                }

                mail($strEmpfaenger, $strSubject, $strMailtext, "From: ".$strFrom)
                or die("Die Mail konnte nicht versendet werden.");
                header("Location: $strReturnhtml");
                exit;
                }

                ?>
                <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
                "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
                <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
                <head>
                <title>Kontaktformular</title>
                <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
                <style type="text/css">
                <!--
                .Stil2 {font-family: Arial, Helvetica, sans-serif; font-size: 12px; }
                -->
                </style>
                </head>
                <body>

                </body>
                </html>
                Zuletzt geändert von styler2000; 20.06.2006, 03:45.

                Kommentar


                • #9
                  ..hat nicht vielleicht doch jemand einen tip?

                  Kommentar


                  • #10
                    du brauchst keine verschiedenen scripte.

                    du liest den betreff aus, der ausgewählt wurde. dafür solltest du deine option-tags erweitern:

                    PHP-Code:

                    <option value="vorstand">Vorstand</option>
                    etc

                    vorstand wird bei dir nun als Betreff mitgeschickt - an den mailer.

                    der mailer guckt nun, wohin er es zu schicken hat:

                    PHP-Code:

                    $wohin 
                    $_POST['Betreff']

                    if (
                    $wohin=="vorstand"$strEmpfaenger 'vorstand@domain.de';
                    if (
                    $wohin=="redaktion"$strEmpfaenger 'redaktion@domain.de';

                    // etc...
                    // wahlweise kannst du dir auch die switch-funktion ansehen! 
                    **********
                    arkos
                    **********

                    Kommentar


                    • #11
                      werde es noch heute nacht probieren!

                      ganz toll - vielen dank schonmal

                      Kommentar


                      • #12
                        es geht nicht!

                        ich hatte die option-tags ja bereits nach mrhappiness' rat geändert in:

                        <option value="Redaktion" <?php
                        if ($_GET['an'] == 'Redaktion')
                        echo ' selected = "selected" ';
                        ?>>Redaktion</a>

                        (wobei als <select name> nicht "Betreff" sondern "an" verwendet wurde).

                        ich denke das ist soweit okay, oder?


                        nun habe ich im mailer die zeile:

                        $strEmpfaenger = 'name@domain.de';

                        ersetzt durch:

                        $wohin = $_POST['an']

                        if ($wohin=="Vorstand") $strEmpfaenger = 'name1@domain1.de';
                        if ($wohin=="Redaktion") $strEmpfaenger = 'name2@domain2.de';


                        ...wenn ich es nun teste kriege ich einen fehler:

                        Parse error: parse error, unexpected T_IF in.....


                        was habe ich falsch gemacht?

                        Kommentar


                        • #13
                          Original geschrieben von styler2000
                          es geht nicht!

                          Parse error: parse error, unexpected T_IF in.....


                          was habe ich falsch gemacht?
                          Die Fehlermeldung "es geht nicht" ist redundant.
                          Die Fehlermeldung mit den ..... kommt in Wirklichkeit anders daher, und anstatt der Punkte steht, wo der Fehler ist. und somit lautet die Frage nicht was, sondern wo habe ich etwas falsch gemacht?

                          Tip das "wo" ist oftmals nicht ganz exakt, aber meistens ist es ganz in der Nähe.

                          edit: die Frage könnte auch lauten: wo haben ich und er/sie/es etwas falsch gemacht?
                          Zuletzt geändert von tcpip; 22.06.2006, 01:22.

                          Kommentar


                          • #14
                            okay sorry.. das wusste ich nicht...

                            also hier nochmal der ganze fehler:

                            Parse error: parse error, unexpected T_IF in /mnt/be2/02/975/00000012/htdocs/verzeichnis/kontaktmailer.php on line 6

                            hilft das?

                            inder der6.zeile steht:
                            if ($wohin=="Vorstand") $strEmpfaenger = 'name1@domain.de';
                            Zuletzt geändert von styler2000; 22.06.2006, 01:32.

                            Kommentar


                            • #15
                              Ja, das hilft DIR. in DEINEM Programm ist auf line 6, somit Zeile 6, ein php-Fehler. Vielleicht auch in der Nähe von Zeile 6.

                              nachtrag: sorry ich vergass ganz, dir zu erklären, dass es im Skript kontaktmailer.php ist.
                              Zuletzt geändert von tcpip; 22.06.2006, 01:33.

                              Kommentar

                              Lädt...
                              X