PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Weiterleitung die Xte .. + URL ??ß


Hushi2
04.11.2002, 15:00:33
Ja, ich weiss, zum Thema Weiterleitung gibts so einiges im Forum, nu leider nicht das, was ich suche !

Ich möchte von einer html Seite eine Script in dieser Form aufrufen

../cgi-bin/script.pl?anweisung1=ja&anweisung2=nein&anweisungx=vielleicht usw. usw.

Das läuft auch hervorragend, das Script wird aufgerufen !

Nun möchte ich aber bevor das Script abgearbeitet wird bzw. bis es geladen ist einen Text wie z.b.

Bitte einen Moment Geduld ...

anzeigen lassen.

In der PHP Seite soll dann áutomatisch an die mit übergebenede URL/Script-Anweisung weiter geleitet werden und die mit übergebenen Variablen und Werte HAARGENAU SO wie sie sind das Script aufrufen !

Praktisch also eine Brückenseite, über die jeder Scriptaufruf läuft !

Also LInks
<a href= weiterleitung.php?Ursprüngliche URL>LINKNAME</a>

GEHT DAS !

|Coding
05.11.2002, 20:28:15
nein geht nicht, nicht mit php.

DerMagier
05.11.2002, 22:29:26
ein js wäre da ziemlich gut - ein bisschen stoppen lassen und dann is gut...
aber was genau willst du damit bezwecken?
nimm doch nen normalen meta?!

Hushi2
06.11.2002, 09:43:53
es handelt sich bei dem Script um ein shop-Script.

Da der Shop sehr gross ist kann der Aufruf je nach Serverbelastung etwas länger dauern !

Ich will das "WILDER HERUMKLICKEN" verhindern, d.h.
wenn jetzt einer auf den Link klickt, dann passiert u.U. ein paar Sekunden nichts, weil das Script ja auf dem Server verarbeitet wird !

Dafür will ich eine SOFORTANZEIGE einer Meldung die dann weg geht, wenn das eigentliche Script anfängt Daten zu schreiben !

Gweilo
06.11.2002, 10:01:40
kannste mit JavaScript machen.
mach ein Layer am anfang, gerade nach <body>. Du solltest gerade am anfang das anzeigen lassen im php code. dann, auf <body OnLoad="javascript:verstecken()">
da versteckst du dieses Layer wieder.

|Coding
06.11.2002, 18:58:23
du kannst nicht mit js und php gemeinsam agieren!!!

js wird vom client ausgeführt und php vom server!

Gweilo
08.11.2002, 11:19:21
@|Coding. jo, das ist mir klar.

Aber es sollte trotzdem möglich sein, sofern ich mich nicht komplett irre. zB so:


<?php

?>
<html>
<head>
<script language="JavaScript">
var win=window.open("loading.html","Die Seite wird geladen","outerHeight=150,outerWidth=150");
</script>
</head>
<body Onload="javascript:win.close()">
<?
include("$_GET['url']");
?>
</body>
</html>


Hier drin könnte auch ein Template verstaut sein. Ob es jedoch funktionniert weiss ich nicht, musst du selbst ausprobieren.

Hushi2
11.11.2002, 10:57:48
Wie muss dann der LINK-Aufruf gestalltet werden ????

Gweilo
11.11.2002, 21:02:52
so, hab den code noch geändert. der oben hätte sowieso nicht funktionniert =)


<?php
?>
<html>
<head>
<script language="JavaScript">
function MM_reloadPage(init) { //reloads the window if Nav4 resized
if (init==true) with (navigator) {if ((appName=="Netscape")&&(parseInt(appVersion)==4)) {
document.MM_pgW=innerWidth; document.MM_pgH=innerHeight; onresize=MM_reloadPage; }}
else if (innerWidth!=document.MM_pgW || innerHeight!=document.MM_pgH) location.reload();
}
MM_reloadPage(true);

var N,I;
var DOM=(document.getElementById)?1:0
if (!DOM){
N = (document.layers)? 1:0
I = (document.all)? 1:0
}
if (N)
{
var h="hide";
var v="show";
}
else {
var h="hidden";
var v="visible";
}

function hide()
{
if (DOM)
{
document.getElementById("loadlayer").style.visibility=h;
}
if (N)
{
window.document.loadlayer.visibility=h;
}
if (I)
{
loadlayer.style.visibility=h;
}
}
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000" onload="hide()">
<div id="loadlayer" style="position:absolute; width:237px;
height:27px; z-index:1; left: 263px; top: 116px;
background-color: #0033CC; layer-background-color:
#0033CC; border: 1px none #000000">
Shop Datenbank wird geladen...
</div>

<?
$url = $_GET['url'];
include("$url");
?>
</body>
</html>


Diesen Code speicherst du in einer datei zB load.php oder so

Aufrufen kannst du es mit "load.php?url=shopdatei.php"

Momentan sind die <body> und <html> tags in dieser datei, das heisst dann, dass in der zu ladenden datei dies alles entfernt werden muss. oder, dass diese Datei so umstrukturiert wird, dass es die gesamte seite lädt... dann muss aber auch im body tag dieser datei onload="hide()" eingefügt werden...

doudie
13.11.2002, 12:52:48
gibt es wirklih nicht was in PHP, was ne "Pause" macht ?!

Gweilo
13.11.2002, 13:21:26
soweit ich weiss net. php steigt sowieso nach 30 sekunden (einstellbar in php.ini glaub ich) laufzeit automatisch aus.

cyRus
13.11.2002, 18:38:28
sleep() macht doch ne pause oder? Allerdings muss man einen festen Wert angeben.

Gweilo
13.11.2002, 20:08:25
ah, genau. stimmt

doudie
15.11.2002, 12:16:58
was ist flush() ????

echo "Jetzt passiert 5 Sekunden gar nichts.<br>";
flush();
sleep(5);
echo "<br>Die 5 Sekunden sind vorbei !!!<br>";

Beachte: ohne die Funktion flush() wird erst abgewartet wird, bis die Zeit verstrichen ist - erst dann wird die komplette Seite an den Browser gesendet

über flush() hab ich keine Beschreibung in SelfPHP gefunden ...
wäre vielleicht eine kleine Erweiterung wert ?! Wenigstens einen kurzen Satz dazu, bei der Befehlreferenz ?!