Beiträge von Arne Drews

    Tolle Idee... mail() gibt ein bool zurück, was - lass mich raten - true oder false ist.
    Was genau bringt das jetzt dem TE?! Kurze Info, bevor Du antwortest: true bedeutet nicht zwingend, dass die Mail versendet wurde!
    Der Rückgabewert von mail() ist genau genommen komplett unwichtig...

    Zitat

    Foren sterben ja fast so schnell aus wie Printverläge. Witzig, dass es hier aber am Tonfall liegt (auch in Hinblick auf eure anderen Beiträge)

    Ein Text in schriftlicher Form hat immer den Tonfall, den der Lesende interpretiert!
    Wenn Foren aussterben, hat das u.a. sicher damit zu tun, dass es Leute gibt, die Hilfe in Foren erwarten, sich aber dann zu fein sind, die Lösungen mit anderen zu teilen.

    [MOD: User verwarnt, Thread geschlossen]

    Erlaubt es Dein Ego, uns die Lösung mitzuteilen?
    Das hätte zum Einen Vorteile für Suchende, die über eine Suchmaschine ihres Vertrauens diesen Thread finden und ein ähnliches Problem haben und zum Anderen hat evtl. auch für Dich noch jemand einen Tipp, wie es vielleicht besser geht.

    Ob so oder so, Lösung posten macht immer Sinn und ist so eine Art FairPlay.

    Zitat

    Aso ok. Dann ist this.responseText also die ausgabe der php datei welche dann im div mit id log ausgegeben wird ?

    Jap

    Zitat

    Weitere Frage wenn ich weitere so input felder mit anderem namen haben, dann muss ich ja das xmlhttprequest entsprechend ändern für dies also anstatt : var rButtons = document.querySelectorAll( 'input[type='radio']' ); dass : var rButtons = document.querySelectorAll( 'input[name='radiobuttonnamen']' ); ?

    Solange alles Radio-Types sind, brauchst Du das nicht anpassen. Es sei denn, Du möchtest für verschiedene Radios unterschiedliche Aktionen durchführen in der PHP. Da würde ich dann aber eher ein action-Schlüssel zusätzlich mit dem Request übermitteln.
    PHP kann dann daran entscheiden, was er machen soll. JSON wird ab da dann imho immer diskutabler...

    Ich glaube, Du meinst das richtige.

    • Der Klick auf einen Radio löst den Request mit POST-Daten an die PHP Datei aus
    • PHP Datei verarbeite die Daten und führt ggf. die SQL-Anweisungen durch
    • PHP-Datei mach Status-Ausgabe
    • In der HTML-Datei wird die Ausgabe der PHP-Datei als Response empfangen und ebenfalls verarbeitet

    Ja, den Grundstein dafür hast Du ja bereits.

    • Klick auf RadioButton erzeugt XmlHttpRequest mit POST-Daten
    • PHP-Datei empfängt POST Daten
    • Dieser Part fehlt: PHP-Datei verarbeitet die empfangen POST-Daten und stößt den Schreibvorgang für die DB an.
    • PHP-Datei macht Ausgabe je nach Status der Verarbeitung
    • JavaScript empfängt den Response des Requests und werte diesen ggf. aus.

    Vielleicht würde ich den Response noch als JSON liefern, aber das ist für den Ablauf erstmal irrelevant.

    Es gibt definitiv keinen Grund, die PHP-Datei direkt aufzurufen!

    Ich befürchte Du hast da was am Prinzip nicht ganz verstanden.
    Oder ich verstehe Dich nicht, das wäre auch denkbar.

    Diese PHP-Datei:

    PHP
    <?php
    echo ( $_POST['data'] )? print_r($_POST['data'], true): 'fail';

    wird in dem Moment ausgeführt, in dem sie aufgerufen wird.
    Rufst Du sie bspw. so auf:

    Code
    http://www.example.com/formdata.php

    existiert kein POST ( beachte: HTTP-Request-Bindung! ). Woher soll er also data kennen?!
    Wenn Du in der HTML-Datei auf einen Radio-Button klickst, wird ein HTTP-Request erzeugt, der POST-Daten mitsendet, so dass die Datei diesen verarbeiten kann.
    Vollkommen egal, wie oft Du die PHP-Datei selbst aufrufst, es wird immer ein neuer HTTP-Request erzeugt, in dem der POST nicht bekannt ist.

    Du sagst aber selber, dass er Dir in dem Container, die richtigen Ergebnisse anzeigt, wenn Du auf einen RadioButton klickst.
    Scheinbar ist das aber für ich nicht das Ergebnis, das DU wolltest.

    Also müssetst Du nochmal detailliert beschreiben, was genau Du eigentlich möchtest.
    Vielleicht gehst Du ja auch den falschen Weg und benötigst gar keine XMLHttpRequests?

    - - - Aktualisiert - - -

    Zitat

    Btw. warum wird bei diesem php script nix ausgegeben ?

    PHP
    <?phpif(isset($_POST['data'])){    $kaeseart = $_POST['data'];     $kaeseart;}?>

    Ja... Wie... Soll er raten, was Du ausgeben möchtest?!

    Hier mal als Beispiel zum Üben, allerdings ohne jQuery:

    PHP
    <?php
    echo ( $_POST['data'] )? print_r($_POST['data'], true): 'fail';

    Bei der Variante ist es übrigens egal, wie viele RadioButtons Du hast, das Click-Event wird auf jeden gelegt und verarbeitet.

    Gruß Arne

    Hi,

    Ich kann an keiner Stelle Deines Codes erkennen, dass Du auf das Klick-Event reagierst?!
    Deinen Ajax-Request führt er imho nur einmal nach dem vollständigen Laden der Seite aus.

    Ausserdem ist hier m.M.n. das Komma zu viel:

    Code
    [COLOR=#333333]val : value4},[/COLOR]

    Ob JavaScript damit umgehen kann, bin ich mir nicht ganz sicher, würde Dir aber die Konsole Deines Browsers mitteilen.