Weiterleitung in neues Fenster öffnen

smyle

Erfahrenes Mitglied
Hallo, Ich stelle direkt meine Frage.
Und zwar habe ich einen Submit-Button erstellt, der eine weiterleitung beinhaltet:
HTML:
...
<input type="submit" name="suchen" value="Suchen">
</td>
<td align="right">
<input type="submit" name="PDF" value="In PDF anzeigen">
...
PHP:
if(isset($_POST['PDF']))
 {
  echo "<meta http-equiv='refresh' content='0; url=../pdf/leistungslohn.php?sem=$sem&box=$id'>";
 }

Nun wenn ich auf den Button PDF klicke wird diese Seite im selben Fenster geöffnet. Kann man den Link irgendwie auch in einem neuen Fenster öffnen lassen?
Wenn ja, wie?
Kann mir da jemand helfen?

Gruss
Smyle


Dann habe ich noch eine zweite Frage:
Diese Weiterleitung funktioniert im Internet Explorer immer. Aus die Variabeln $sem und $id werden immer übergeben, aber im Firefiox nicht. An was kann das liegen?
 
Zuletzt bearbeitet:
Moin,

mit PHP alleine kann man da nichts machen, da würdest du JS zur Hilfe benötigen, wobei das neue Fenster dort auch nicht automatisch erzeugbar wäre(das würde jeder Popupblocker verhindern).

Eine Lösung wäre, das PDF mit einem attachment-Header zu versehen.
Da würde beim User der Speichern-Dialog gestartet, bei dem er dann auswählen kann, was er tun möchte.
 
Sieht zwar optisch dann ganz anders aus, aber warum machst du anstatt eines Buttons nicht einen "normalen" Link. Da kannst du dann doch "target=_blank" oder so angeben!!

Oder was scheinbar auch geht, du erstellst nicht eine sondern zwei FORM Bereiche auf der Seite und gibst bei der Form die den PDF Button enthält das TARGET Attribut an.

Gruß Thomas
 
Ich muss ein button haben, sonst hätte ich schon lange eine Lin^k daraus gemacht.
Das mit den attachmet-Header werde ich mir noch überlegen.

Jedoch, wie sieht es mit meiner zweiten Frage aus?
Wenn ich jetzt mein Code so lassen möchte, müssten die variabeln $id und $sem eigentlich auch im Firefox übergeben werden?
Weis jemand warum das es nicht geht?

Bitte helft mir, ich muss das dringend haben, aber ich bin total verzweifelt und ratlos :(
 
Kann man einem Button nicht einen normalen Link zuweisen, und den Link als FormSubmit benutzen?

HTML:
<a href="blub" <!-- als Submit --><type="button" name="Bump" value="Los gehts!"></a>
 
Jedoch, wie sieht es mit meiner zweiten Frage aus?
Wenn ich jetzt mein Code so lassen möchte, müssten die variabeln $id und $sem eigentlich auch im Firefox übergeben werden?
Weis jemand warum das es nicht geht?

Schwer zu sagen, ohne mehr von deinem Code zu kennen.
So ansich geht das auch im FF...der Fehler muss woanders liegen.

Kann man einem Button nicht einen normalen Link zuweisen, und den Link als FormSubmit benutzen?

Das wird ihm alles nichts helfen, auch nicht die 2 Formulare...er wird ja noch weitere Formularfelder haben, welche übermittelt werden müssen.

Das was er eigentlich braucht, ist ein dynamisches ändern des form-targets je nach geklicktem Button, und das geht halt nur mit JS.
Code:
<input type="submit" name="PDF" value="In PDF anzeigen"  onclick="this.form.target='_blank'">
 
Das mit dem
HTML:
onclick="this.form.target='_blank'"
hat funktioniert. Danke

Nun zu meinem Problem mit dem weiterleiten.
Ich habe mal versucht die Variabelinhalte von $sem und $id in einer Session zu speichern und nun funktioniert es.

Solche Fehler können echt nervig sein :(

Danke trotzdem.

Gruss Smyle



Das was er eigentlich braucht...
ps: ich bin eine sie ;)
 
Ist schon gut ... :D easy ;)

Ich habe sie zuerst ganz normal übergen.
PHP:
$sem = $_POST['semester'];
$id = $_POST['box'];

Diesen habe ich danach weiter unten in den Link gefügt.
PHP:
if(isset($_POST['PDF']))
 {
  echo "<meta http-equiv='refresh' content='0; url=../pdf/leistungslohn.php?sem=$sem&box=$id'>";
 }

Neu sieht das so aus:

PHP:
$_SESSION['PDFs'] = $sem;
 $_SESSION['PDFi'] = $id; 

.........

if(isset($_POST['PDF']))
 {
   	 $sem = $_SESSION['PDFs'];
	 $id = $_SESSION['PDFi']; 
  echo "<meta http-equiv='refresh' content='0; url=../pdf/leistungslohn.php?sem=$sem&box=$id'>";
 }
 
Zurück