Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: dwa submity (jeden kieruje do nowego okna)
Forum PHP.pl > Forum > PHP
arti1
Mam taki problem:

robie sobie panel do mailingu, mam dwa submity - jeden podglad a drugi wyslij.
Chciałbym aby poglad kierowal do nowego okna (o wymiarach 500x600px) a wyslij do pliku w ktorym sie znajduje.
Jak to zrobić?
bamboos
Witam!!
JavaScript?
W php to raczej niemożliwe:) Tak mi się przynajmniej wydaje!
arti1
no tez mi sie tak wydaje... ale jak uzyc javascriptu w tym przypadku?

zrobilem do tej pory tak:
oba submity prowadza do tej samej strony na ktorej jest formularz, tam jest kod, ktory w zaleznosci jakiego submita uzylem uruchamia jakies linie kodu. Jak uruchamiam pogdlad uruchamia sie popup - z tym ze trace w tym momencie zmienne... wiec ZONK.

No nic kombinuje dalej.
bamboos
Witam!!
Przesyłaj je w $_GET, albo w sesji (nie wiem czy w sesji będzie działąło między okienkami, ale wydaje mi się, że będzie).
POLVIP
da sie to zrobic bez zadnego problemu

w formie napisz i wwyslij do tego samego pliku
Kod
<input type="submit" name="Submit" value="Preview">

  <input type="submit" name="Submit" value="Send">


[php:1:0f303055d6]<?php
if ($_POST['Submit']=='Preview') {
// Preview
// zrob popup i wroc do poprzedniej strony
}

if ($_POST['Submit']=='Send') {
// Send
}

?>[/php:1:0f303055d6]
bamboos
Witam!!
Z tego co się zorientowałem, to taki kodzik już powstał. Problem pojawiał się przy urtacie danych do wyświetlenia w okienku! A w sumie nie utracie, a poprostu ich nie przesłaniu. Spróbuj:
Plik główny:
[php:1:d47dbd8676]<?php
session_start();
$_SESSION['wyswietl'] = 'to się wyświetli w popupie';
session_write_close();
?>[/php:1:d47dbd8676]
Plik w popupie:
[php:1:d47dbd8676]<?php
session_start();
echo $_SESSION['wyswietl'];
?>[/php:1:d47dbd8676]
Nie obiecuje, że się uda:)
menic
jezeli poda sie odpowiednie parametru do adresu to nie ma bata aby ich nie przeslal 8)
A swoja droga jak masz kilka tych zmiennych to zamiast pisac
[php:1:ee459df435]<?php
echo '<a href="link.php?var1='.$v1.'&var2='.$v2.'&var3='.$v3.'">';
?>[/php:1:ee459df435]
mozesz uzyc funkcji [manual:ee459df435]serialize[/manual:ee459df435] do przeslania, a potem w popupie [manual:ee459df435]unserialize[/manual:ee459df435]
arti1
->> POLVIP:
to co napisałeś to OK zgadza się i to kumam: ale chodziło aby jeden submmit prowadizł do nowego okna!

->> bamboos:
własnie dokladnie o to chodzi - o utrate danych do wyswietlania w okienku. Po wybraniu submita PODGLĄD przeladowywalem strone do tego samego pliku, tam dla submita o wartosci podgląd otwieralo sie za pomoca javascriptu nowe okienko - ale zmienne szły się kochać sad.gif
Jedna zmienna zawiera b. duzo znakow (wlacznie z wieloma tagami html'a) wiec chyba przesylanie tego w parametrach linku nie ma sensu.

Może rzeczywiscie popróbuje z sesjami.

->> menic:
wlasnie tutaj mam watpliwosci: jw. zmienna zawiera tagi html i jest duza objetosciowo

Guys... w kazdym badz razie dzieki za pomoc.
menic
to zapisuj zmienna do pliku i w okienku ja odczytuj :]
arti1
no jest to tez rozwiazanie...
... mam nadzieje ze sie nie irytujesz.

Domyslam sie ze mozna to zrobic na kilka sposobow. ale szukam najskuteczniejszego.

pzdr
talee
Moim skromnym zdaniem jest to klasyczny przypadek przerostu formy nad treścią, czyli niepotrzebnego komplikowania sobie życia nieprzemyślanym rozwiązaniem interfejsu użytkownika.

Pytanie: Na co ci popup?

Ładujesz podgląd via post'a do następnej strony na której dopiero pokazuje się guzik wyślij!!

motywacja: po pierwsze nowe okno działa subtelnie na psyche, może nie aż tak subtelnie, wtajemniczeni chyba zrozumieli. Po drugie minimalizujesz prawdopodobieństwo wysłania nie do końca dopracowanych treści smile.gif.

Oczywiście twój problem można rozwiązać korzystając z js. Schemat jest prosty: po naciśnięciu guzika podgląd przetwarzasz formularz w następujący sposób. Jedziesz po polach formularza i kleisz URL, to dalej dajesz do open() i po stronie serwera generujesz blebleble. I tu ujawnia się następny problem GET może obsłużyć mniejszą ilość danych niż POST.

Może istnieje inne rozwiązanie, ale jeszcze raz podkreślam, po co komplikować sobie życie...
arti1
Cytat
Pytanie: Na co ci popup?


Po to, aby pokać w nim podgląd hehehe! biggrin.gif
A tak w ogole to oprócz wielkiego pokazu oratorstwa nic nie wniosłeś do tematu...
Tak się składa, że ładuje pogląd za pomocą POST do następnej strony. Działa wszystko bez zarzutu i nie zamierzam tego zmieniać.

Pytałem czysto teoretycznie, gdyż byłem ciekawy jakie padną propozycje rozwiązania.
Pozdr. dla filozofów!
talee
Cytat
...
Tak się składa, że ładuje pogląd za pomocą POST do następnej strony. Działa wszystko bez zarzutu i nie zamierzam tego zmieniać.
...
Pytałem czysto teoretycznie, gdyż byłem ciekawy jakie padną propozycje rozwiązania.
...


Powyższe stwierdzenia stoją w sprzeczności z poprzednimi twoimi wypowiedziami. To tak apropo filozofii a raczej logiki smile.gif.

Cytat
...
A tak w ogole to oprócz wielkiego pokazu oratorstwa nic nie wniosłeś do tematu...
...

Nie sądzę! Delikatnie zasugerowałem, że…. Włączamy myślenie.
arti1
Oj talee - to, ze mam zrobiony u siebie na stronie podglad ładowany za pomoca POST do nastepnej strony to nie znaczy, że nie mogę próbować zrobić tego za pomocą osobnego okna.

Może robie strone dla kogoś, kto własnie rząda takiego rozwiązania (mimo, iż jest nieefektywne). Może chcialem zobaczyc jak mozna uruchomic nowe okno (porównac sposoby) - z czystej ciekawosci.

A ty musisz snuc jakies swoje filozoficzne (bo ja ich za logiczne nie uwazam) dywagacje. Dziwny trafem inni użytkownicy forum potrafili zaproponowac rózne rozwiazania... ale sa ludzi, którzy wolą przekazać swoje święte racje, nawe jesli nikt ich o to nie pyta. Chyba pomyliles forum

Cytat
Nie sądzę! Delikatnie zasugerowałem, że…. Włączamy myślenie.


Nastepnym razem jak nie chcesz pomagac to "nie włączaj" tego swojego "logicznego" myslenia... działasz subtelnie na psyche smile.gif
talee
Cytat
...
A ty musisz snuc jakies swoje filozoficzne (bo ja ich za logiczne nie uwazam) dywagacje.
...

Przemyśl to jeszcze raz. Pamiętaj ja nie atakuję tylko pomagam.

Cytat
...
Sa ludzi, którzy wolą przekazać swoje święte racje, nawe jesli nikt ich o to nie pyta. Chyba pomyliles forum
...

Error ja wyraziłem swój pogląd...

Cytat
...
no tez mi sie tak wydaje... ale jak uzyc javascriptu w tym przypadku?
...

Cytat
...
Oczywiście twój problem można rozwiązać korzystając z js. Schemat jest prosty: po naciśnięciu guzika podgląd przetwarzasz formularz w następujący sposób. Jedziesz po polach formularza i kleisz URL, to dalej dajesz do open() i po stronie serwera generujesz blebleble. I tu ujawnia się następny problem GET może obsłużyć mniejszą ilość danych niż POST.
...

Otwórz oczy smile.gif

Cytat
...
Nastepnym razem jak nie chcesz pomagac to "nie włączaj" tego swojego "logicznego" myslenia... działasz subtelnie na psyche smile.gif


pomidor
jono
W head:
[xml:1:c873d3be73]
<SCRIPT>
<!--
function displayWindow(url, width, height) {
var Win = window.open(url,"displayWindow",'width=' + width + ',height=' + height + ',resizable=0,scrollbars=yes,menubar=no' );
}
//-->
</SCRIPT>
[/xml:1:c873d3be73]

W body:
[xml:1:c873d3be73]
<form action="java script:displayWindow('plik.php?zmienna=$zmienna',500,300)">
[/xml:1:c873d3be73]

Poza tym to powinno być na podforum "po stronie przeglądarki"
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.