seite öffnen

  • hallo gemeinschaft


    habe folgendes problem - möchte aus einem formular bestimmte seiten aufrufen


    HTML
    1. <form id="form1" name="form1" method="post" action= "dest" target="inhalt">
    2. <p> <label for="dest"></label>
    3. <select name="dest" id="dest">
    4. <option value="Afrika">Afrika</option>
    5. <option value="Alaska">Alaska</option>


    wie bekomme ich es hin, dass wenn ich z.b. afrika uaswähle, dass dann die seite afrika.php aufgerufen wird


    waere toll, wenn ihr mir da helfen könntet

  • Du hast grundsätzlich 2 Varianten. Entweder du schickst das Formular normal ab, wertest es in PHP aus und leitest dann im PHP-Script entsprechend der Auswahl weiter.


    Alternativ könntest du die Auswertung aber auch direkt Clientseitig machen, also mit JavaScript oder jQuery. Dabei wäre es z.B. möglich, die Weiterleitung direkt nach der Auswahl auszulösen.


    Gruss,
    -Lukas

  • onclick ist einfach ne etwas veraltete Lösung, darum sag ich jQuery, das ist die einfachste Variante.


    PHP liest du einfach die $_POST aus, am besten hast du irgendwo ein array, welches die form-Ergebnisse an das entsprechende File weiterleitet.


    Beispielcode PHP (ungetestet)

    2 Mal editiert, zuletzt von lukasn () aus folgendem Grund: Formatierung korrigiert.

  • Crossposting!!! :twisted:
    Auszug aus den Forenregeln:

    Zitat

    Inhalt von Beiträgen:
    [FONT=Verdana, Arial, Helvetica, sans-serif]Forum-Hilfe behält sich das Recht vor, jederzeit Beiträge zu löschen, zu verschieben oder zu überarbeiten, die nicht den Forumsregeln entsprechen. Dies geschieht ohne vorherige Information des Verfassers. Die User ist alleine für die von ihnen publizierten Inhalte (Texte; Bilder oder andere Veröffentlichungen) verantwortlich und bestätigt auch damit, das er keine Copyrightgeschütze Werke und Texte hier im Forum veröffentlicht.
    Verboten oder auch unerwünscht sind folgende Inhalte:
    [/FONT]

    • [FONT=Verdana, Arial, Helvetica, sans-serif]extrem politisch oder religiös orientierte Postings [/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]strafbare, pornographische, jugendgefährdende, beleidigende oder ehrverletzende Inhalte[/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]Warez oder fremde copyrightgeschütze Werke [/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]E-Mail Adressen [/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]Songtexte [/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]persönliche Angaben wie Telefonnummern, Adressen usw (diese bitte per PN austauschen) [/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]oder anderweitig inakzeptabel Postings, die hier nicht erfasst wurden, aber gegen geltendes Recht, die guten Sitten, allgemeines Moralempfinden oder eben gegen die Forenregeln verstossen.[/FONT]
    • [FONT=Verdana, Arial, Helvetica, sans-serif]Crosspostings - die gleiche Frage in mehreren anderen Foren gleichzeitig stellen[/FONT]


    Warnung: solltest du nochmals mit einem Crossposting erwischt werden, schließe ich deine Threads!!!

  • alles klar - kommt nicht wieder vor


    - - - Aktualisiert - - -


    hi lukas - kannst du bitte nochmal schauen - bekomme deinen code nicht zum laufen - ich übergebe doch von dem html formular die variable zu der php datei? - nur der code von dir scheint ein prob zu haben bekomme ihn jedenfalls nicht zum laufen

  • Zeige bitte, wie dein aktueller Quellcode aussieht, außerdem solltest du dich mal in Sachen "Affenformular" schlau machen


    Da das ja eigentlich ein PHP-Problem ist -> *schieb *

  • [...]
    nur der code von dir scheint ein prob zu haben bekomme ihn jedenfalls nicht zum laufen


    Was für eine grandiose Fehlerbeschreibung ;)


    Halte mich da an bandit, wenn du weitere Hilfe benötigst muss ich erst mal nen Quellcode und eine Fehlermeldung sehen. Der code oben setzt PHP5.4 voraus, vielleicht ist das das Problem?



    Gruss,
    -Lukas

  • hi


    ich habe nun das form so


    HTML
    1. <form id="form1" name="form1" method="post" action= "weiter.php" target="inhalt">
    2. <p>
    3. <label for="dest"></label>
    4. <select name="dest" id="dest">
    5. <option value="Afrika.php">Afrika</option>
    6. <option value="Alaska">Alaska</option>
    7. </select>
    8. <input type="submit" name="submit" name="Absenden">
    9. </form>


    die datei weiter.php sieht so aus


    bekomme dann nichts angezeigt nach button click

  • HTML
    1. <form id="form1" name="form1" method="post" action= "weiter.php" target="inhalt">
    2. <p>
    3. <label for="dest"></label>
    4. <select name="dest" id="dest">
    5. <option value="Afrika">Afrika</option>
    6. <option value="Alaska">Alaska</option>
    7. </select>
    8. <input type="submit" name="submit" name="Absenden"> </form>
  • Ich seh da kein komplettes Formular. Nur durch die Select-Box passiert natürlich nicht, das Formular muss ja abgeschickt werden...


    Wobei wir wieder bei jQuery wären. Entweder du machst einen Submit-Button, Code steht unten, oder du schickst das Formular direkt mit einem jQuery Script ab.


    Formular mit Submit-Button:

    HTML
    1. <form action="weiter.php" method="post" id="form1">
    2. <select name="dest" id="dest">
    3. <option value="Afrika">Afrika</option>
    4. <option value="Alaska">Alaska</option>
    5. <button type="submit">Go!</button>
    6. </select>
    7. </form>


    jQuery:

    Code
    1. $(document).ready(function(){
    2. $("#dest").change(function(){
    3. $("form#form1").submit();
    4. });
    5. })


    EDIT: Nachtrag, hab deinen nachgelieferten Code nicht gesehen. Du klickst schon auf den submit-button, oder?

  • wenn ich den code nehme,

    HTML
    1. <form action="weiter.php" method="post" id="form1">
    2. <select name="dest" id="dest">
    3. <option value="Afrika">Afrika</option>
    4. <option value="Alaska">Alaska</option>
    5. </select><button type="submit">Go!</button>
    6. </form>


    dann bekomme ich diese ausgabe
    'afrika.php', 'Alaska' => 'alaska.php'); if ( array_key_exists('dest', $_POST) ) { $key = $_POST['dest']; if ( array_key_exists($key, $destinations)) { header("Location: {$destinations[$key]}"); die(); } else { throw new Exception("Unknown destination: $key"); } } ?>

  • GRUNDLAGEN, bitte...


    an den Anfang eines PHP-Files gehört was..?


    EDIT: oder genauer gesagt, nicht am Anfang. Du schliesst scheinbar in deiner weiter.php den php-tag. Lies doch den Code einmal durch bevor du postest.


  • ist doch richtig so - oder ?

  • local


    Hier ist das formular


    hier die datei weiter.php

  • Die Ausgabe bräucht ich noch. Der Code funktioniert so ja 1:1 bei mir.


    EDIT: Kleine Anmerkung: <button> ist ein HTML5-Element, da müsste dann für valides HTML noch der doctype angepasst werden. Oder du verwendest einfach wieder <input type="submit"> ;)