Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [JavaScript]gdzie wstawić <script> alert
Forum PHP.pl > Forum > Przedszkole
jacusek
Witam.
Mam formularz z dwoma submitami. Oba generują pdfy, gdzie jeden jest do druku i zapisuje do bazy, a drugi powinien być tylko podglądem. W tym drugim przypadku chciałem, żeby po wybraniu opcji podgląd z formularza wyświetlał się w osobnym oknieku komunikat:
  1. echo "<script>alert('Komunikat');</script>";
  2. echo("<script>window.location.href =\"podglad.php\";</script>");

Plik który odpowiada za wysłanie do bazy bądź samo wygenerowanie z podglądu wygląda następująco:
  1. <?php
  2. include('browser.php');
  3. include('cookie.php');
  4. require('connect2.php');
  5. switch($_POST['submit']){
  6. case 'Zobacz':
  7. include('podglad.php');
  8. echo "<script>alert('Komunikat');</script>";
  9. echo ("<script>window.location.href =\"podglad.php\";</script>");
  10. include('podglad.php');
  11. break;
  12. case 'Zapisz':
  13. include('test3.php');
  14. break;
  15. }
  16. ?>

Gdziekolwiek nie postawie echo <script>... przed czy po include niestety nie działa tak jakbym sobie tego życzył. W przypadku postawienia przed include pojawia się komunikat, ale niestety nie generuje się podgląd włącza się obsługa błędów i zachowuje się tak jak zmienne z formularza nie zostały przesłane. Kiedy postawię za include to oczywiście generuje się podgląd, ale nie pokazuje się komunikat (to akurat oczywiste).
Natomist jeżeli taki komunikat znajdzie się w includowanym pliku, po obsłudze błędów wówczas powtarza się sytuacja nr 1.
Czy ktoś ma jakiś alternatywny pomysł jak cos takiego rozwiązać?
Z góry dziękuję za odpowiedź
skarabe.pl
A po co Ci to przekierowanie?
jacusek
bez niego też niestety nie działa. Dostaję informację FPDF error: Some data has already been output, can't send PDF file. Szkoda tylko że nie wiem czgo to dotyczy konkretnie.
skarabe.pl
No bo niestety się wyświetlić PDF-a i HTML-a jednocześnie.
jacusek
no tak, ale w takim razie gdzie to echo powinno się znaleźć
skarabe.pl
Jeżeli kod później generuje PDF-a i wyświetla go w przeglądarce, to nigdzie.
everth
Chyba że osadzi PDFa w <iframe>
jacusek
za radą everth zrobiłem coś takiego:
przy case "zobacz:
  1. echo "<iframe width=\"300\" height=\"200\" src=\"podglad.php\">
  2. Tu napis lub odwołanie w przypadku gdy przeglądarka nie
  3. obsługuje pływających ramek</iframe>";

ale niestety włacza się obsługa błędów tak jakby nie przekazywał zmiennych do pliku podglad.php

//edit
zminiłem jeszcze na taką opcję:
  1. echo "<a href=\"podglad.php\" target=\"ramka\">";
  2. echo "<center><iframe align=\"center\" name =\"ramka\" width=\"800\" height=\"600\">
  3. Tu napis lub odwołanie w przypadku gdy przeglądarka nie
  4. obsługuje pływających ramek</iframe></center>";

ale to niestety to też jest nieskuteczne. Otwiera się pusta ramka. Nie bardzo wiem jak to dalej zrobić.
everth
Nie rozumiesz - do iframe możesz załadować tylko i wyłącznie PDFa - bez żadnych echo, var_dumpów czy printów. Skrypty ładujesz albo innym plikiem, albo tym samym z instrukcją warunkową np.
  1. if (isset($_GET['pdf']) {
  2. // wyrzuć tu samego pdfa
  3. } else {
  4. echo "<script>$twoj_skrypt</script>";
  5. echo "<iframe width=\"300\" height=\"200\" src=\"podglad.php?pdf\">
  6. Tu napis lub odwołanie w przypadku gdy przeglądarka nie
  7. obsługuje pływających ramek</iframe>";
  8. }
jacusek
Witam.
Nie bardzo rozumiem skąd mam wziać tą zmienną $_GET['pdf'] z czego ona ma wynikać. Dlaczego nie można tego zrobić w casie? Czy nie da się przekazać do zmiennych z formularza do pliku znajdującego się iframe?
Z góry dzieki za odpowiedź
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.