Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
popup-aufruf und header () [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
popup-aufruf und header ()


 
minuta
18-02-2004, 19:53 
 
Ich habe ein popup-aufruf-script vor dem header("location:...) geschrieben, die seite funktioniert nicht richtig (öffnet nur popup, wird nicht umgeleitet, wie ändere ich das?

Quelcode:

<SCRIPT LANGUAGE="JavaScript">
function fenster()
{
var win;
win=window.open("angebot.html","Sonderangebot","width=300,height=200");
}
</SCRIPT>

<?php
session_start();
$sid = session_id();
include("inc/config.inc.php");
if($lang == ""){
$lang = $var_shop_lang;
}
$angebot=1; // 0 - falls kein Popup-Fenster gewünscht ist
if ($angebot==1){

<body onload="fenster()"}>
header("location:shop.php?mode=home&lang=$lang&sid=$sid");
?>

 
hydrococcus
18-02-2004, 20:05 
 
laut Rasmus Lerdorf müssen Header gesetzt werden, bevor der body generiert wird.
:teach:

 
Innuendo
18-02-2004, 20:07 
 
http://de.php.net/manual/de/function.header.php

 
vatal
18-02-2004, 20:11 
 
na du kannst das popup erst nach dem header() aufrufen oder nach session_start(), das dürfte ja nicht schwer sein, vor diesen beiden funktionen darf keine ausgabe an den browser erfolgen

 
minuta
18-02-2004, 20:17 
 
ok, ist klar..
Aber das hier geht auch nicht....wieso?
<SCRIPT LANGUAGE="JavaScript">
function fenster()
{
var win;
win=window.open("angebot.html","Sonderangebot","width=300,height=200");
}
</SCRIPT>
<?php
session_start();
$sid = session_id();
include("inc/config.inc.php");
if($lang == ""){
$lang = $var_shop_lang;
}

header("location:shop.php?mode=home&lang=$lang&sid=$sid");
?>

<?php
$angebot=1; // 0 - falls kein Popup-Fenster gewünscht ist
if ($angebot==1){ ?>

<body onload="fenster()">
<?php } ?>

 
Abraxax
18-02-2004, 20:26 
 
Original geschrieben von Innuendo
http://de.php.net/manual/de/function.header.php

 
vatal
18-02-2004, 20:30 
 
dann probier's mal so hier:

<?php
session_start();
$sid = session_id();
include("inc/config.inc.php");
if($lang == ""){
$lang = $var_shop_lang;
}

header("location:shop.php?mode=home&lang=$lang&sid=$sid");
?>

<?php
$angebot=1; // 0 - falls kein Popup-Fenster gewünscht ist
if ($angebot==1){ ?>
<SCRIPT LANGUAGE="JavaScript">
function fenster()
{
var win;
win=window.open("angebot.html","Sonderangebot","width=300,height=200");
}
</SCRIPT>
<body onload="fenster()">
<?php } ?>

 
minuta
18-02-2004, 20:33 
 
so gibt es zwar keine Fehlermeldung, aber auch kein popup;-(

 
vatal
18-02-2004, 20:39 
 
also das ist eh sinnlos hier:

var win;
win=window.open("angebot.html","Sonderangebot","width=300,height=200");

es reicht schon mal

window.open("angebot.html","Sonderangebot","width=300,height=200");

in der funktion...

sonst seh ich momentan auch keinen fehler :dontknow:

 
vatal
18-02-2004, 20:41 
 
na klar vor dem <SCRIPT LANGUAGE="... fehlt das <head>-tag und ein abschließendes <head>-tag fehlt nach dem </SCRIPT>

 
minuta
18-02-2004, 20:51 
 
Hier ist der fertige Script...es öffnet sich doch kein popup-fenster

<?php
session_start();
$sid = session_id();
include("inc/config.inc.php");
if($lang == ""){
$lang = $var_shop_lang;
}

header("location:shop.php?mode=home&lang=$lang&sid=$sid");
?>

<?php
$angebot=1; // 0 - falls kein Popup-Fenster gewünscht ist
if ($angebot==1){ ?>
<head>
<SCRIPT LANGUAGE="JavaScript">
function fenster()
{
window.open("angebot.html","Sonderangebot","width=300,height=200");
}
</SCRIPT></head>
<body onload="fenster()">
<?php } ?>

 
vatal
18-02-2004, 20:56 
 
hmmm naja oder probier mal

<body onLoad="window.open(......)">

und lass alles zwischen <head> und </head> weg

vielleicht haste auch nen popupblocker? ;)

 
vatal
18-02-2004, 20:57 
 
haste auch mal dran gedacht das diese bedingung vielleicht nicht erfüllt wird?

if ($angebot==1){ ?>

 
asp2php
18-02-2004, 21:16 
 
@vatal, ist ja nett dass du versuchst zu helfen, aber es wäre besser wenn du es sein lässt, sonst verwirrst du ihn noch mehr. Weil:

1. JS-Routine müssen nicht im <head> Bereich sein,
2. wenn unmittelbar davor $angebot=1; steht dann muss die Bedingung im If true sein


@minuta
was bewirkt denn die Zeile:
header("location:shop.php?mode=home&lang=$lang&sid=$sid");

denk mal nach dann weisst du auch warum kein PopUp kommt

 
minuta
18-02-2004, 21:24 
 
sie leitet ja um..deshalb hat es mich gewundert, wie es die zeilen nach ihr ausgeführt werden können....
also...wie schaffe ich das? Pop-up und Umleitung ?
danke

 
asp2php
18-02-2004, 21:33 
 
na bitte :D

OK 2 Möglichkeiten

1. erst Umleitung dann im Ziel das PopUp erzeugen
2. erst PopUp dann per JavaScript das Hauptfenster per document.location.href umleiten

 
Abraxax
18-02-2004, 21:39 
 
jeder, der hier irgendwie php-code ohne php-tags des forum gepostet hat, darf nun alle seine posts bearbeiten.

bitte sofort.. ;)

 
vatal
18-02-2004, 23:12 
 
ups :eek: das mit dem $angebot=1 hab ich wohl überlesen

 
minuta
19-02-2004, 00:13 
 
1. erst Umleitung dann im Ziel das PopUp erzeugen

Das war auch ursprunglich so, nur muss das popup nur ein mal erscheinen!
WIe regele ich das?
Danke

 
asp2php
19-02-2004, 00:19 
 
Ähm, mein Glaskugel ist z.Z. in der Reinigung :D daher kann ich nichts
dazu sagen, weil ich den Code nicht kenne

Übrigens, IMHO sollte man solche PopUp mit dem Timer verbinden, dass das Fenster nach ein paar (sagen wir mal 30-45) Sekunden selbst zugeht. Dazu braucht man aber wdn=window.open... was @vatal für unfug erklärt hatte :mad:

 
Wurzel
19-02-2004, 01:14 
 
Original geschrieben von minuta
Das war auch ursprunglich so, nur muss das popup nur ein mal erscheinen!
WIe regele ich das?setz einfach ein cookie oder speicher es in einer session.

- -

Alle Zeitangaben in WEZ +2. Es ist jetzt 04:25 Uhr.