Duyuruyu Kapat
Facebook Gözat
Twitter Gözat

Java ile açılan pencereye bilgi göndermek !!!

Konu, 'PHP' kısmında TeDDy tarafından paylaşıldı.

  1. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    Merhaba arkadaşlar

    ben bir adet php forumunun doldurulduktan sonra verilerini, JAVA ile açılan bir popup penceresi içine bu girilen verileri post etmek istiyom ama aynı zamanda arkadaki girilen bilgilerde oynama olmasın istiyom. Ve veriler açılan popup pencerede gözükür mü?


    yardım ederseniz sevinirim !!
     
  2. mithat

    mithat Yeni Üye

    Kayıt:
    1 Şubat 2003
    Mesajlar:
    17
    Beğenilen Mesajlar:
    0
    Şehir:
    Bursa
    konuyu biraz daha açabilirmisin :confused:
     
  3. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    yaa hani sayfa bir form war (mesela üye giriş forumu) bilgiler doldurulduktan sonra bu girilen bilgileri başka bir sayfada girilen bilgilerin değişkenler sayesinde gösterilmesini istiyom. normal bir browser'a gönderdiğin zaman oluyo. yalnız bu sayfayı JAVA script ile açılan bir popup menude açıyorum ve bilgiler burada gözükmüyor.


    umarım anlatabilmişimdir.
     
  4. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Bıldıgım kadarıyla html ıle bı formu java ıle acacagın popup pencereye post etmen mumkun degıl? Ama sana su yolu tavsıye edebılırım;

    Post ettıgın degıskenlerı once oturum degıskenı (session) olarak kaydet ardından acıcagın popup ıcınden bu degıskenlerı oku..

    Ornegın elınde ıkı php scrıptı oldugunu varsıyorum.. Bırıncısı form.php;

    PHP:
    <?
    # form.php

      
    if($submit)
         {
         
    session_start();
         
    session_register("text");
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="tr">
    <script>
    function openWindow(url, w, h) {
            var windowprops = "width=" + w + ",height=" + h;
            popup = window.open(url,'remote',windowprops);
            return true;
    }
    </script>
    </head>
    <body onLoad="JavaScript: openWindow('popup.php', '400', '300');">

    <form method="POST" action="form.php">
      <input type="text" name="text" size="20">
      <input type="submit" value="Gönder" name="submit"></p>
    </form>

    </body>

    </html>
    <?
         
    }
      else
         {
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="tr">
    </head>
    <body>

    <form method="POST" action="form.php">
      <input type="text" name="text" size="20">
      <input type="submit" value="Gönder" name="submit"></p>
    </form>

    </body>

    </html>
    <?
         
    }
    ?>
    Burda formu basıyorsun ve form submıt oldugunda post edılen degıskenlerı bır oturuma kaydedıyorsun (session_register) ardından bastıgın html ıle popup olarak popup.php scrıptını calıstırıyorsun,

    PHP:
    <?
    # popup.php

      
    session_start();
      echo 
    $HTTP_SESSION_VARS["text"];
    ?>
    Ve daha onceden kaydettıgın degıskenlerı $HTTP_SESSION_VARS[] yardımıyla okuyup ekrana basıyorsun.. Hepsı bu.. Umarım yeterınce acık olmustur...
     
    Son düzenleme yönetici tarafından yapıldı: 19 Mart 2003
  5. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Eklemeyı unutmusum.. Popup.php ıcınde herseferınde aynı degerı gormemek ıcın scrıptın sonuna "session_unset();" satırını eklemelısın.. Sunun gıbı yanı..

    PHP:
    <?
    # popup.php

      
    session_start();
      echo 
    $HTTP_SESSION_VARS["text"];
      
    session_unset(); 
    ?>
     
    Son düzenleme yönetici tarafından yapıldı: 19 Mart 2003
  6. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    baba çok saol beee ellerine sağlık tam aradığım şey.


    yardımlarınız için teşekkürler
     
  7. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
  8. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    Hunter kardeşim çok teşekkür ederim.


    ama benim yapamadığım bir nokta daha war.Sanırım bu yazdığın kod sadece bir "text" için sanırım . Peki daha fazla kutucuklar için ayrı ayrı session mı açmak gerekir? yoksa but "text" session değişkeni bir dizi gibi hepsini tutuyor mu?

    çok mu soru soruyom? :rolleyes:
     
  9. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    :) Yok hayır sormuyorsun.. Ve evet her degıskenı ayrı ayrı kayıt (session_register) etmelısın.. Aynı ornekten devam edersek:

    PHP:
    <?
    # form.php

      
    if($submit)
         {
         
    session_start();
         
    session_register("text");
         
    session_register("select");
         
    session_register("checkbox");
         
    session_register("radio");
         
    session_register("textarea");
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="tr">
    <script>
    function openWindow(url, w, h) {
            var windowprops = "width=" + w + ",height=" + h;
            popup = window.open(url,'remote',windowprops);
            return true;
    }
    </script>
    </head>
    <body onLoad="JavaScript:openWindow('popup.php', '400', '300');">
      <a href="JavaScript:window.history.back(1)">Geri Dön</a>
    </body>

    </html>
    <?
         
    }
      else
         {
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="tr">
    </head>
    <body>

    <form method="POST" action="form.php">
      <input type="text" name="text" size="20">
      <select name="select">
        <option>select1</option>
        <option>select2</option>
        <option>select3</option>
      </select>
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="radio" name="radio" value="radio">
      <br>
      <textarea name="textarea"></textarea>
      <input type="submit" value="Gönder" name="submit"></p>
    </form>

    </body>

    </html>
    <?
         
    }
    ?>
    ve

    PHP:
    <?
    # popup.php

      
    session_start();

      
    $output .= "Text : ".$HTTP_SESSION_VARS["text"]."<br>\n";
      
    $output .= "Select : ".$HTTP_SESSION_VARS["select"]."<br>\n";
      
    $output .= "Checkbox : ".$HTTP_SESSION_VARS["checkbox"]."<br>\n";
      
    $output .= "Radio : ".$HTTP_SESSION_VARS["radio"]."<br>\n";
      
    $output .= "Textarea : ".$HTTP_SESSION_VARS["textarea"]."<br>\n";

      echo 
    $output;

      
    session_unset();
    ?>
    seklınde kodunu duzenleyebılırsın..
     
    Son düzenleme yönetici tarafından yapıldı: 19 Mart 2003
  10. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    walla saolasın..
     
  11. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    yaa :rolleyes:

    bişi daha sorsam :confused:

    javascript ile popup'u açıyor ama asıl browser'daki sayfada değişiyor.

    onun değişmemesini sağlayabilirmiyiz?

    öyle imkan war mı?
     
  12. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    :) Aslında hata bende.. Sana balık vermek yerıne tutmayı ogretmelıydım.. Sorunun cozumune gelınce.. Form.php yı su sekılde degıstırmen yeterlı:

    PHP:
    <?
    # Bu ornekte artık sadece <body> tagını degıstırıyoruz..
    # Boylece form sayfası hıc degısmıyor
    # Aşşagıdakı satır ıse degıskenlerı kaydederken dogacak
    # Hatayı engellemek ıcın bu mutlaka sayfanın en basında yeralmalı
      
    ob_start();
    ?>
    <html>
    <head>
    <meta http-equiv="Content-Language" content="tr">
    <script>
    function openWindow(url, w, h) {
            var windowprops = "width=" + w + ",height=" + h;
            popup = window.open(url,'remote',windowprops);
            return true;
    }
    </script>
    </head>
    <?
    # Eger formu post edersen ($submit degıskenının bır ıcerıgı varsa)
    # Bu kısım ıcra edılecek. Yanı form degıskenlerın kayıt edılıp
    # Popup pencerenın acılmasını saglıyacak <body ...> tagı yazdırılacak

      
    if($submit)
         {
         
    session_start();
         
    session_register("text");
         
    session_register("select");
         
    session_register("checkbox");
         
    session_register("radio");
         
    session_register("textarea");

         echo 
    "<body onLoad=\"JavaScript:openWindow('popup.php', '400', '300');\">\n";
         }

    # Yok eger formu henuz post etmedıysen sadece <body> tagı yazdırılacak
    # Bu sayede sayfa ılk acıldıgında bos bır popupla karsılasmıyacaksın

      
    else
         {
         echo 
    "<body>\n";
         }
    ?>
    <form method="POST" action="form.php">
      <input type="text" name="text" size="20">
      <select name="select">
        <option>select1</option>
        <option>select2</option>
        <option>select3</option>
      </select>
      <input type="checkbox" name="checkbox" value="checkbox">
      <input type="radio" name="radio" value="radio">
      <br>
      <textarea name="textarea"></textarea>
      <input type="submit" value="Gönder" name="submit"></p>
    </form>

    </body>

    </html>
     
  13. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    Hunter, bişi desem kızar mısın?

    hocam denedim ama verileri göstermemekte AMA hata da vermemekte.

    acab daha önceli (üyelik girişi oldğundan dolayı ) session kullanmıştım ondan dolayı çalışmıyor olabilir mi?
     
  14. Mingitau

    Mingitau Misafir

    He he :)
    Java diil JavaScript :)
     
  15. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    saolasın:eek:
     
  16. Mingitau

    Mingitau Misafir

    Pardon he he Hunter için di :)
    Diğer kısım ise bunu ben hep yaparım :D
     
  17. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Axionun dedıgı gıbı sanırım vBulletin'ın azızlıgıne ugradık.. Sorunu cozmek ıcın form.php dekı;

    Kod:
    echo "<body onLoad=\"java script:openWindow('popup.php', '400', '300');\">\n";     
    
    satırını,

    Kod:
    echo "<body onLoad=\"Java[COLOR=#333333]Script:openWindow('popup.php', '400', '300');\">\n";     
    
    seklınde degıstır.. Yanı java script yerıne JavaScript yazman gerekıyor.

    Not: Yukardakı ıkı satırda aynı bılıyorum.. Buna sebep vBullettın.. JavaScript ıfadesını yazmama ızın vermıyor.. Oyuzden sen parantez ıcınde soyledıgımı yap..
     
    Son düzenleme yönetici tarafından yapıldı: 19 Mart 2003
  18. Sahin

    Sahin Daimi Üye

    Kayıt:
    28 Mayıs 2002
    Mesajlar:
    8,943
    Beğenilen Mesajlar:
    0
    Alttaki kodda kucuk bir düzenleme yaptim simdi normal:)
     
  19. TeDDy

    TeDDy Aktif Üye

    Kayıt:
    27 Ekim 2002
    Mesajlar:
    469
    Beğenilen Mesajlar:
    0
    Meslek:
    Eleman
    Şehir:
    Antalya
    yaa arkadaşlar

    belki diyeceksiniz. (ulan sen s.l.k'mısın) ama ben hala gönderemedim. Session olmadı hata wermedi. Ama istediğimi de yapmadı. Ben daha önce bu sayfaya girerkende Session kullandım ondan olma ihtimali war mı acaba?

    hala sorunu mu çözemedim?
     
  20. HunTER

    HunTER ...

    Kayıt:
    15 Ağustos 2002
    Mesajlar:
    8,684
    Beğenilen Mesajlar:
    0
    Meslek:
    Web Programlama
    Şehir:
    İstanbul
    Estafurullah (bolemı yazılıyordu).. Bole demıycez elbette ama bıraz deneme yanılma yapmanı tavsıye edebılırız..

    Oncelıkle buraya tıklayarak ındırebılecegın kodları al ve localhost (C:\Apache\htdocs gıbı) ıcınde bıyere ac.. Ardından yenı bır tarayıcı penceresı ac ve form.php yı calıstır..

    Eger php.ini ıcınde bı terslık yoksa (kı nasıl bır terslık olucagını bılmıyorum, hata yok dıyorsun cunkı) kodların calısması gerekıyor.. Burda hemen sunu soylıyım:

    Sen yeni bir tarayıcı penceresı actıgında ve o pencere ıcınde calıstırdıgın php sıcrıptının ıcınde session_start() yeraldıgında, php yenı bır oturum acacaktır.. Kendı gozlerınınle gormek ıcın Apache dızının altındakı tmp klasorune bı goz at (C:\Apache\Tmp gıbı)..

    Aksı durumda, yanı oturum acan bır sayfadan form.php ye ulastıgında eskı oturumla devam edecektır php.. Ama bunun da sorun cıkarmaması gerekır.. Zıra bız degıskenlerımızı mevcut oturuma kaydetmek dısında bısey yapmıyoruz..

    Olsa olsa, popup.php nın sonundakı session_unset() fonksıyonu basını agrıtır.. Cunku bu fonksıyon guzelım oturumundakı tum degıskenlerı (onceden kaydettıklerın dahıl) sıfırlar.. Bu durumda da bu fonksıyonu daha zararsız olan:

    session_unregister("text", "select", "checkbox", "radio", "textarea");

    session_unregister() ıle degıstırebılırsın.. Sımdılık bu kadar ınan bu seferde olmazsa oraya gelıp ben yapıcam..