tropenberta: js variable an php übergeben

guten morgen leuts

folgende situation<.

ich habe in ner html datei ne variable von js:

  
  var where = parent.uebergabe;  
  document.getElementById("link").value = where;  

die variable where soll nun an ne php datei übergeben werden. hab sonst immer variablen aus nem formular an ne php datei übergeben

  
$empf = "$_POST[email1]";  

der vorgang ist wie folgt:

auf einen klick auf den button wird ein iframe geöffnet. dieses iframe hat zwei formulare. eines davon ist readonly und es wird der seitenlink vom parent objekt angezeigt.
das andere formular hat 3 felder zum ausfüllen, nach klick auf den senden button wird per php mail (seperate datei) das ganze abgesendet. problem ist nun das mein readonly formular nicht übergeben wird, logischerweise.
der inhalt von dem readonly formularfeld muss ich nun irgendwie in der php datei in eine variable verpacken, um diese dann mit der mail zu verschicken.

  1. Vorweg:

    $empf = "$_POST[email1]";

    Das wird schief gehen. Guck dir an wie man Arrays in Strings ausgibt. Momentan würde in $empf höhstwahrscheinlich "Array[email1]" stehen. (und eine Warnung sollte von PHP geworden werden)  
      
    
    > [...] zwei formular [...]  
    > das andere formular hat 3 felder zum ausfüllen, [...] formular nicht übergeben wird, logischerweise.  
    
    Dann benutz doch ein input-Element mit @type="hidden", statt einem 2. Formular.  
      
    Nebenbei, die Shift-Taste befindet sich (meist) über der Strg-/Ctrl-Taste.  
      
    MfG  
    bubble
    
    -- 
    If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
    
    1. Tach!

      Vorweg:

      $empf = "$_POST[email1]";

      
      > Das wird schief gehen. Guck dir an wie man Arrays in Strings ausgibt. Momentan würde in $empf höhstwahrscheinlich "Array[email1]" stehen. (und eine Warnung sollte von PHP geworden werden)  
        
      Bitte gleichfalls, danke. Obige Syntax ist PHP-konform, und liefert den gewünschten Wert, wenngleich man das auch anders schreiben kann: $empf = $\_POST['email1'];  
      Siehe [Why is $foo\[bar\] wrong?](http://www.php.net/manual/en/language.types.array.php#language.types.array.foo-bar) (bitte komplett lesen, bis "So why is it bad then?")  
        
      Andererseits kann man dieses überflüssige Umkopieren gleich ganz weglassen.  
        
        
      dedlfix.
      
      1. hi leuts

        vielen dank für eure antworten.

        werds mir mal zu gemüte ziehen. hab aber denk ich schon die lösung.

        gruss micha

      2. Bitte gleichfalls, danke. Obige Syntax ist PHP-konform, und liefert den gewünschten Wert, wenngleich man das auch anders schreiben kann: $empf = $_POST['email1'];
        Siehe Why is $foo[bar wrong?] (bitte komplett lesen, bis "So why is it bad then?")

        Oha, da hab ich ja mehr als nur ein wenig daneben gelegen.

        MfG
        bubble

        --
        If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
    2. Nebenbei, die Shift-Taste befindet sich (meist) über der Strg-/Ctrl-Taste

      u vollst worts wärn a net schl

      Matthias

      --
      Der Unterschied zwischen Java und JavaScript ist größer als der zwischen Reif und Reifrock.

  2. Tach!

    auf einen klick auf den button wird ein iframe geöffnet. dieses iframe hat zwei formulare. eines davon ist readonly und es wird der seitenlink vom parent objekt angezeigt.

    Warum ist es dann ein Formular?

    das andere formular hat 3 felder zum ausfüllen, nach klick auf den senden button wird per php mail (seperate datei) das ganze abgesendet. problem ist nun das mein readonly formular nicht übergeben wird, logischerweise.

    Es werden immer nur die Elemente des aktuellen Formulars berücksichtigt. Wenn du sowieso dieses zum Server senden willst, warum stehen dann nicht auch die anderen benötigten Werte mit drin?

    Ein Server kann immer nur einen Request berücksichtigen. Wenn du die Werte des anderen Formulars auf irgendeine separate Weise zum Server bringen willst, hast du eventuell ein zeitliches Problem, dass die Reihenfolge der Requests nicht wie vorgesehen geordnet abgearbeitet werden, und ein Zuordnungsproblem. Lediglich letzteres könnte man relativ einfach über eine Session lösen. Aber beide Teil-Probleme bekommst du gelöst, wenn du lediglich ein Formular mit allem benötigten darin erstellst und absenden lässt.

    dedlfix.

  3. Wenn ich mir deine jüngsten drei Postings so angucken, kommt mir der Verdacht, dass du ein Workaround für etwas bastelst, dass es längst in PHP gibt.

    Berichtige mich wenn ich falsch liege, aber du kannst den Seiten-URL, von dem der User stammt auch direkt mit
    $_SERVER[''HTTP_REFERER'] auslesen, sofern der Benutzer das nicht unterbindet. Und wenn er es unterbindet, solltest du vielleicht Rücksicht darauf nehmen.

    --
    Hey Girl,
    i wish you were asynchronous, so you'd give me a callback.
    1. Berichtige mich wenn ich falsch liege, aber du kannst den Seiten-URL, von dem der User stammt auch direkt mit
      $_SERVER[''HTTP_REFERER'] auslesen, sofern der Benutzer das nicht unterbindet. Und wenn er es unterbindet, solltest du vielleicht Rücksicht darauf nehmen.

      Das Formular is ja in einem Iframe, dann steht im $_SERVER[''HTTP_REFERER'] auch nur die URL des Formulares, nicht aber der Hauptseite und auf diese zielt tropenberta ja ab.

      Klar, man könnte das Formular direkt in die Hauptseite einbinden, dann würde es mit  $_SERVER[''HTTP_REFERER'] auch wieder klappen, aber das ist mehr oder weniger wieder eine andere Geschichte.

      MfG
      bubble

      --
      If "god" had intended us to drink beer, he would have given us stomachs. - David Daye
      1. Meine Herren,

        Das Formular is ja in einem Iframe, dann steht im $_SERVER[''HTTP_REFERER'] auch nur die URL des Formulares, nicht aber der Hauptseite und auf diese zielt tropenberta ja ab.

        Danke für die Korrektur, das Verhalten war mir noch nicht bekannt.

  4. હેલો

    auf einen klick auf den button wird ein iframe geöffnet. dieses iframe hat zwei formulare. eines davon ist readonly und es wird der seitenlink vom parent objekt angezeigt.
    das andere formular hat 3 felder zum ausfüllen, nach klick auf den senden button wird per php mail (seperate datei) das ganze abgesendet. problem ist nun das mein readonly formular nicht übergeben wird, logischerweise.

    Warum machst du nicht einfach ein Formular daraus? Das Formular baut sich doch ohnehin erst bei klick zusammen, sprich, du hast zu diesem Zeitpunkt alle Infos, die du brauchst. Warum unterteilst du es dann noch in 2 Formulare, wenn du alle Werte in einem brauchst?

    der inhalt von dem readonly formularfeld muss ich nun irgendwie in der php datei in eine variable verpacken, um diese dann mit der mail zu verschicken.

    Ich verstehe die Notwendigkeit des 2. Formulares nicht? Du kannst die Felder, die Readonly sind, auch in das absendende Formular übernehmen, und dort auf readonly setzen, was also versprichst du dir von deinem 2. Formular?

    Wenn alle stricken reissen (Pseudocode)

    $(formular).submit() {  
      zusätzlicheInhalte = get.val(von_andere_formular);  
      newinput = '<input type="hidden" name="zusatz" val="'+zusätzlicheInhalte+'" />';  
      $(this).append(zusätzlicheInhalte);  // Die benötigten Inhalte aus dem nicht absendenden Formular auslesen und ins andere einfügen  
    }
    

    બાય

    --
     .
    ..: