Javascript variable an php senden

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

  • Javascript variable an php senden

    Habe folgendes Problem:
    Newsletteranmeldung liegt im Web ganz oben(rootverzeichnis), weil verschiede Webs ( keine einzelnen Webseiten ) in anderen Unterordnern darauf zugreifen sollen.
    Da ich aber nun, um eine exakte zuweisung zu haben, den seitentitel auslesen möchte was in der E-mail an mich erscheinen soll.
    Das habe ich mit javascript gelöst, mit :

    Html-datei: --> wird im frame aufgerufen

    <script type="text/javascript">
    <!--
    var x = (top.document.title); //Titel des TopFrame auslesen
    //-->
    </script>
    ----------------------------------------------------------------------------------------------
    ---- obiges Ergebnis soll PHP in die Mail schreiben ----
    -- habe das script in die php-datei geschrieben, geht auch nicht ---

    habe es schon versucht mit:

    <input type="Hidden" name="x" value="(top.document.title)">

    aber das geht nicht, da habe ich in der Mail als betreff
    "Anmeldung-Newsletter von "(top.document.title)"".
    -----------------------------------------------------------------------------------------------

    <form action="eintragen.php" method="" target="">
    <p align="center">Hier können Sie sich in unseren Newsletter eintragen bzw.
    austragen !
    <p align="center">
    Ihre E-Mail-Adresse: <input type="Text" name="email" value="" size="30" maxlength="100">
    <select name="Aktion" size=""><option value="Anmelden">Anmelden <option value="Abmelden"> Abmelden</select>
    <input type="Submit" name="" value="Abschicken">
    </p>

    </form>
    ------------------------
    und die eintrag.php: --> wird im gleichen Frame aufgerufen

    <?php
    if ($Aktion=="Anmelden")
    {
    print "Sie wurden in die Newsletterliste mit folgender E-Mail-Adresse aufgenommen: $email";
    mail("xxx@xxx.de","ANMELDUNG-Newsletter von

    $x", <-- die variable bleibt frei ? warum ? genau die brauch ich

    "E-Mail-Adresse: $email","From: <$email>") or print "<font color=#FF0000>Entgegen der obigen Nachricht, kam es doch zu Problemen bei der Anmeldung. Bitte nehmen Sie diese von Hand vor, d.h. schicken Sie bitte eine E-Mail (xxx@xxx.de).</font>";
    } else
    {
    print "Ihre E-Mail-Adresse: $email wurde aus der Newsletterliste entfernt.";
    mail("xxx@xxx.de","ABMELDUNG-Newsletter von

    $x", <-- und hier das gleiche !!

    "E-Mail-Adresse: $email","From: <$email>") or print "<font color=#FF0000>Entgegen der obigen Nachricht, kam es doch zu Problemen bei der Abmeldung. Bitte nehmen Sie diese von Hand vor, d.h. schicken Sie bitte eine E-Mail (xxx@xxx.de).</font>";
    }
    ?>



    Wie könnte man das Problem lösen.
    Ich danke euch im Voraus.

    Gruß
    Heiko

  • #2
    Re: Javascript variable an php senden


    habe es schon versucht mit:

    <input type="Hidden" name="x" value="(top.document.title)">

    aber das geht nicht, da habe ich in der Mail als betreff
    "Anmeldung-Newsletter von "(top.document.title)"".
    das kann nicht funktionieren, eigentlich logisch, oder?

    du könntest es stattdessen so machen:
    <input type="Hidden" name="x">

    und dann per javascript dieses input-feld füllen:

    document.Formularname.x.value = top.document.title;



    oder aber, du hängst es gleich als GET-parameter an die formular-action dran, dann kannst du es mit php wieder auslesen:

    <form action="eintragen.php?titel=seitentitel" method="" target="">

    dann hast du im php-script die variable $_GET[titel] zur verfügung.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      und wieder einer, der nicht gesucht hat ...
      Code-Schnipsel > JavaScript-Variablen an PHP
      mein Sport: mein Frühstück: meine Arbeit:

      Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

      Kommentar


      • #4
        Hallo Titus! Hallo Wahsaga !

        Hallo Titus.
        Leider kann ich deine Kritik nicht so ganz verstehen. Weil ich das Problem ohne Cockies lösen will. Deshalb passt dieser Beitrag nicht so ganz. (Habe vor meinem Beitrag natürlich die Foren abgesucht. Sonst hätte ich doch keinen Beitrag geschrieben.

        Zwecks Fehleintrag im Forum: Obwohl mein Problem sowohl als auch ist. Sorry war nicht meine Absicht.

        ----schnipp
        Hi Wahsaga.

        Habe deinen Tip ausprobiert, aber entweder ich kann nicht richtig abschreiben, oder das script ist blöde.

        folgende Einträge habe ich gemacht in dem HTML-Formular:

        PHP-Code:
        <script type="text/javascript">
        <!--
        var 
        = (top.document.title);
        //-->
        </script
        PHP-Code:
        <script type="Javascript">
        <!--
        document.Newsletter.x.value=top.document.title;
        -->
        </
        script>

        <
        form name="Newsletter" action="eintragen.php" method="" target="">
        <
        p align="center">Hier können Sie sich in unseren Newsletter eintragen bzw.
        austragen !
        <
        p align="center">
        Ihre E-Mail-Adresse: <input type="Text" name="email" value="" size="30" maxlength="100">
        <
        select name="Aktion" size=""><option value="Anmelden">Anmelden <option value="Abmelden"Abmelden</select>
        [
        B]<input type="hidden" name="x">[/B]
        <
        input type="Submit" name="" value="Abschicken">
        </
        p
        Aber es kommt nix inder Variable an:
        test in der PHP-Datei mit
        PHP-Code:
        echo $x;
        und mit
        print $x
        aber es kommt zu keiner Ausgabe.

        Warum?
        Habe ich vielleicht irgendtwo einen Fehler drin ?

        Danke
        Heiko

        Kommentar


        • #5
          Cookies sind nur ein Anwendungsbeispiel für die Sache. In JavaScript
          kann man nämlich auch Cookies setzen, die an PHP aber vorbei gehen.

          Aber ich muss zugeben, dass ich nur den Titel des Threads gelesen habe ... sorry.

          Da JavaScript von den meisten Browsern schon beim Aufbau der Seite
          ausgeführt ist, können HTML-Elemente einer Seite erst verändert werden,
          wenn das entsprechende Tag (in diesem Fall <form>) komplett definiert ist.

          Beende dein Formular also mit </form>
          und stell den JavaScript-Schnipsel dahinter, dann sollte es tun.


          PS: Gewöhn dir bitte in [code]- und [php]-Postings an, gelegentlich Zeilenumbrüche einzufügen. Sonst wird die ganze Seite so unnötig aufgeblasen wie hier; und man muss ständig seitwärts scrollen, um die ganze Geschichte zu lesen.
          mein Sport: mein Frühstück: meine Arbeit:

          Sämtliche Code-Schnipsel sind im Allgemeinen nicht getestet und werden ohne Gewähr auf Fehlerfreiheit und Korrektheit gepostet.

          Kommentar


          • #6
            Re: Hallo Titus! Hallo Wahsaga !

            Habe deinen Tip ausprobiert, aber entweder ich kann nicht richtig abschreiben, oder das script ist blöde.

            folgende Einträge habe ich gemacht in dem HTML-Formular:

            PHP-Code:
            <script type="text/javascript">
            <!--
            var 
            = (top.document.title);
            //-->
            </script
            dieses erste script kannst du dir schenken, ist überflüssig.

            und das andere muss nach dem formular kommen, ansonsten versuchst du ja auf ein formularelement zuzugreifen, was zu diesem zeitpunkt noch gar nicht existiert!

            [PHP]
            <form name="Newsletter" action="eintragen.php" method="" target="">
            ...
            <input type="hidden" name="x">
            ...
            </form>

            <script type="Javascript">
            <!--
            document.Newsletter.x.value=top.document.title;
            -->
            </script>
            I don't believe in rebirth. Actually, I never did in my whole lives.

            Kommentar


            • #7
              Nach einer kleinen Änderung hat es geklappt // Danke

              Moin Moin,

              Nachdem ich dann noch folgendes hinzugefügt habe ging es dann:

              <script type="text/Javascript">

              Ich danke euch für eure rasche beantwortung.

              PS. Man lernt nie aus !!!

              Danke Heiko

              PPS. Ich
              werd
              mich
              bessern.

              Versprochen.
              Zuletzt geändert von HeikoM27; 12.12.2002, 08:48.

              Kommentar

              Lädt...
              X