Strohhalm

Sprung zu Navigation. Sprung zu Privat. Sprung zu StyleSwitcher. Sprung zum Inhalt.

 

Sprung zu Navigation. Sprung zu Privat. Sprung zu StyleSwitcher. Sprung zum Inhalt.

Privat

 

Anmelde-Formular



Als Strohhalm-Mitglied registrieren.

 

Sprung zu Navigation. Sprung zu Privat. Sprung zu StyleSwitcher. Sprung zum Inhalt.

Sprung zu Navigation. Sprung zu Privat. Sprung zu StyleSwitcher. Sprung zum Inhalt.

Archiv

 

strohhalm.org / Archiv / Programmierung Serverseitig / Eintrag lesen

Formmailer: Ausgabe sortieren mit "sort"

  1. Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 23. November 2004, 11:09

    Hallo,

    ich habe einen kleinen Formmailer ( von drweb) und möchte die Ausgabe nun sortieren lassen. Also die $name Variablen, welche durch eine Schleife ausgelesen werden. Hierzu gibt es den sort Befehl. Nun weiss ich aber nicht wo dieser eingebaut werden muss. Habe schon einiges getestete. Könnt ihr helfen? Ich danke Euch!

    ---------------------------
    <?php
    $admin = "meine@mailadresse.de";
    $subject = "Mailanfrage";
    $message = "Nachricht fuer $admin von $email:\n\n";

    while(list($name,$value)=each($HTTP_POST_VARS))
    {
    $message.="$name: $value\n\n";
    }
    mail($admin,$subject,$message,"From: $admin");
    ?>
    -------------------------

  2. Re: Formmailer: Ausgabe sortieren mit "sort"

    mut 23. November 2004, 11:17

    moin,
    also das Formular dürfte doch schon ein wenig veraltet sein...

    nimm mal lieber $_POST anstatt $HTTP_POST_VARS - und dann sortier einfach das $_POST mit sort.

    Gruss,
    Daniel

  3. Re: Formmailer: Ausgabe sortieren mit "sort"

    deetee 23. November 2004, 12:34

    Ich frage mich wozu du die Namen sortieren willst, das hätte doch überhaupt keine Relevanz für dieses Skript, oder?

    Ansonsten würde ich aber natcasesort() verwenden. Mir sort() bekommt man falsche Sortierung, wenn die Namen mal Groß mal klein geschrieben sind.

    Wo das hier eingebaut werden könnte, gute Frage. Müsste man etwas umbauen denke ich.

  4. Re: Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 23. November 2004, 13:26

    Hallo,
    ohne Sortierung werden die Formulareingaben unsortiert ausgegeben. So kann es passieren, dass Formularfelder, obwohl thematisch zusammengehörig in unterschiedlicher Reihenfolge ausgegeben werden. Insbesondere immer dann, wenn es sich um verschiedene Formularfelder (radiobutton, textarea, checkbox) handelt. Mit der Sortierung möchte ich erreichen, dass die $name variablen mit den zugehörigen $values zusammengehörig ausgegeben werden.

    Wo müsste ich den sort Befehl bei $_POST einsetzen?

  5. Re: Formmailer: Ausgabe sortieren mit "sort"

    mut 23. November 2004, 13:38

    Hmmm,
    also irgendwie scheint da ein Verständnisproblem zu sein...

    > Mit der Sortierung möchte ich erreichen, dass die $name variablen mit den zugehörigen $values zusammengehörig ausgegeben werden.

    das geschieht eh schon...

    WAS genau willst Du denn sortieren ? Die Feldnamen ?

    Ich blick nicht so ganz durch...

  6. Re: Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 23. November 2004, 13:40

    Sorry, habe mich vielleicht zu umständlich ausgedrückt!

    Ja, die Feldnamen. Also Beispielsweise name, vorname, telefon, geschlecht, stadt,

    Die Ausgabe hätte ich dann gerne so sortiert:
    stadt, geschlecht, telefon, name (Beispiel)

    Man kann das alphabetisch sortieren, oder nummerisch klar, mir ist ersteinmal wichtig zu wissen, wie man sortieren kann, also wo der Schalter eingebaut werden muss .....

    danke!

  7. Re: Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 24. November 2004, 08:47

    Hat denn jemand noch eine Idee bzw. wo müsste ich den sort Befehl einhängen?

    Danke!

  8. Re: Formmailer: Ausgabe sortieren mit "sort"

    mut 24. November 2004, 09:41

    Hallo Fixstern,
    also - Du machst einem das aber auch nicht einfach:

    > stadt, geschlecht, telefon, name (Beispiel)

    Was soll das den für eine Reihenfolge sein ? Woher soll php denn wissen, welche Du willst ?

    Wenn Du nach den Feldnamen sortieren willst, dann schau Dir mal KSORT an:
    externer Linkhttp://de3.php.net/manual/de/function.ksort.php

    Falls wir immer noch aneinander vorbei reden, muss ich wohl passen...
    ;-)

  9. Re: Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 24. November 2004, 10:02

    Hallo,

    ok, versuche es mal anders, vielleicht hast Du ja noch Lust Dich damit auseinanderzusetzen:

    Mein Formular hat unterschiedliche Eingabefelder (Checkboxen, Texteingabefelder, Radiobuttons etc.)


    Unter anderem gehören thematisch Radiobuttons und bestimmte Auswahlfelder zusammen. (Beispiel ja/nein und Auswahl vorbelegter Werte)

    ZUr Zeit werden die Daten bei der Übermittlung wahllos und unsortiert ausgegeben. Mein Ziel besteht darin die Daten in einer bestimmten Reihenfolge auszugeben. Als Ansatz sehe ich die alphabetische Sortierung der Feldnamen "name". Bei folgender Bennenung müsste die alphabetische Sortierung möglich sein.

    <input type="radio" name="a_radiobutton" value="wert1">
    <p>
    <input type="checkbox" name="b_checkbox" value="wert2">
    <p>
    <input type="text" name="c_textfield" value="wert3">

    Ist es etwas klarer geworden?

    Gruß
    Fixstern

  10. Re: Formmailer: Ausgabe sortieren mit "sort"

    mut 24. November 2004, 10:52

    Also,
    1. Gib den Dingern Namen, die Du zuordnen kannst - also meinetwegen a_geschlecht c_name usw.

    2. Da Du ein assoziatives Array hast, wende einfach ein
    ksort($_POST) an (bevor DU dann die message generierst natürlich ;-) - das sollte klappen (schau Dir doch einfach mal die Doku oben an).

    Nun sollte es aber klappen - oder ?

    Gruss,
    Daniel

  11. Re: Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 24. November 2004, 11:48

    Danke zunächst.
    Habe jetzt folgendes modifiziert, kommt aber eine Fehlermeldung:

    Fatal error: Maximum execution time of 30 seconds exceeded



    --------------
    while(list($name,$value)=each($_POST))

    sort($_POST);

    {
    $message.="$name: $value\n\n";
    }
    ----------------

    ist sort an der richtige Stelle?

  12. Re: Formmailer: Ausgabe sortieren mit "sort"

    mut 24. November 2004, 12:12

    nee,
    jetzt sortiert er dir ja jedesmal INNERHALB der Schleife Dein Array - auuserdem sortier er mit sort() die WERTE, nicht die Schlüssel...

    Aber ich hab so das Gefühl, Du drückst Dich hier ganz schön um einen Blick ins Manual - ich will hier nicht nen RTFM loswerden oder so, aber ein wenig mitarbeit kann doch nicht so schlimm sein, oder ?

  13. Re: Formmailer: Ausgabe sortieren mit "sort"

    Fixstern 25. November 2004, 15:00

    Nein, drücke mich überhaupt nicht um einen Blick ins Manual. Im Gegenteil. Das Problem besteht einfach darin, dass mir noch Basiswissen fehlt.

    Und wieso unterstellts Du Arbeitsverweigerung? Was soll das? Keiner zwingt Dich zu antworten, dann lass es, wenn Dich die Newbies ärgern oder nerven.

    Grundsätzlich danke ich allen, die sich an diesem Forum beteiligen, ob passiv oder aktiv. Jeder trägt so mehr oder weniger zu einem großen Wissenspool bei.

    ... und die negativen Punkte sind doch wirklich auch nicht nötig. Dieser erhobene Zeigefinger ist doch albern ...

  14. Re: Formmailer: Ausgabe sortieren mit "sort"

    Juggler 25. November 2004, 16:09

    Hi Fixstern,

    ich denke es gibt hier noch ein Kommunikationsproblem.
    Deshalb stelle ich nochmal die Frage: was genau willst du sortieren?
    Gib bitte ein besseres Beispiel in dem du die Feldnamen und auch die Inhalte berücksichtigst. In dem vorhandenen Beispiel von dir
    name, vorname, telefon, geschlecht, stadt
    stadt, geschlecht, telefon, name

    ist für mich jedenfalls keine (sinnvoll) Sortierung erkennbar.

    Grundsätzlich werden die Formularfelder übrigens in der selben Reihenfolge ausgegeben, in der sie auch definiert sind. Wenn also deine Ausgabe unlogisch und durcheinander ist, solltest du vielleicht mal prüfen, ob das Formular nicht vielleicht überarbeitet werden sollte.
    Wenn die Reihenfolge bei der Eingabe sinnvoll ist, frage ich mich, warum sie dann bei der Ausgabe auf einmal durcheinander ist.

    Da das Array $_POST ohnehin assoziativ ist, dürfte die Reihenfolge ohnehin keine Rolle spielen.
    Vielleicht solltest du also mal erklären, was du genau machen willst. Aber unterschlage dabei bitte keine Informationen, damit wir das Problem komplett verstehen können.

    MfG
    Juggler

 
Nach oben springen

.(c) 2002 - 2019 strohhalm.org Community.Server powered by Manitu.Software powered by Mathias Bank
.Impressum + Team.Datenschutz