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)
frames, weiterleitung & google [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr
ebiz-webhosting
- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
frames, weiterleitung & google


 
tmaniacr
01-04-2005, 10:42 
 
ich habe eine website, welche mit frames arbeitet:

mainframe - navigationsleiste, etc.
iframe - wechselnder inhalt


das problem ist, das google bei bestimmten schlagwörtern, seiten die im iframe angezeigt werden sollen ausspuckt.
beim klick auf den google-link wird nur die seite aus dem iframe angezeigt. (ohne navi des mainframes).

technisch gesehen, wäre es sicher besser ohne frames zu arbeiten, ich möchte die aber bei behalten.

meine idee:

- mit seiten-weiterleitung zu arbeiten, abhänig von einem parameter der über die url mit geliefert wird.

das heisst:

wenn von einer adresse ausserhalb meines servers, eine iframe-seite in den browser läd, wird über seiten-weiterleitung erst die indexseite mit dem mainframe und dem entsprechenden inhalt im iframe geladen.


wird von meiner indexseite oder einer sub-seite eine iframe-seite geladen, soll ein parameter (über url) übergeben werden, welcher die weiterleitungsfunktion überspringt.



kann mir jemand folgen?

gibt es eine einfachere möglichkeit?

greetingz

 
Quetschi
01-04-2005, 11:09 
 
ich benutze das hier, ist zwar kein PHP sondern javascript aber der großteil der Surfer hat javascript aktiviert, also sollte es in den meisten Fällen so klappen:

<SCRIPT LANGUAGE="JavaScript">if ( top.location.href == self.location.href )
{

top.location.href = "pfad_zur_index?parameter_zum_produkt=1_2_oder3";
}


Tip: ganz am Ende deines Quelltextes einbauen sonst verweigern manche Browser den Ausdruck de Seite.

P.S.
An besseren Lösungen bin ich jederzeit auch interessiert
:)

 
tmaniacr
01-04-2005, 11:54 
 
<SCRIPT LANGUAGE="JavaScript">if ( top.location.href == self.location.href )
{

top.location.href = "pfad_zur_index?parameter_zum_produkt=1_2_oder3";
}



wie soll ich den parameter_zum_produkt definieren?

 
Kropff
01-04-2005, 11:58 
 
ich habe das mal mit einer mischung aus javascript und php gemacht.
in den einzelnen seiten fast der selbe code wie der von quetschi, nur das ich als paramter den relativen link der jeweiligen seite angegeben habe also:

<SCRIPT LANGUAGE="JavaScript">
if ( top.location.href == self.location.href )
{
top.location.href = "pfad_zur_index.php?link=relativer_pfad/seitenname.htm";
}
und dann in der index.php
if (!$_GET['link'])
{
$link = 'site/home/home.htm';
}
else
{
$link = $_GET['link'];
}
echo '<frameset rows="110,*" frameborder="no" border="0" framespacing="0">
<frame src="site/navi/navi.htm'" name="kopf" scrolling="NO" noresize>
<frame src="'.$link.'" name="main" id="main">
</frameset>';


gruss
peter

 
tmaniacr
01-04-2005, 12:42 
 
Kropff´s lösung sieht vielversprechend aus :)

das einzige problem ist, ich benutze einen iframe als fenster mit wechselndem inhalt, wie definiere ich im frameset den iframe?

(bin ein wenig eingerostet mit so altertümlichen html *g)

 
aimbot
01-04-2005, 12:45 
 
du wirst doch wohl selfhtml kennen.

http://de.selfhtml.org/navigation/suche/index.htm?Suchanfrage=iframe

:rtfm:

 
tmaniacr
01-04-2005, 12:49 
 
öhm, stimmt, danke nochmal :)

 
tmaniacr
01-04-2005, 13:09 
 
index.php :


<?php

if (!$_GET['link'])
{
$link = linkseite.html';
}
else
{
$link = $_GET['link'];
}
echo '<frameset rows="100%,*" frameborder="no" border="0" framespacing="0">
<frame src="index.html" name="kopf" scrolling="NO" noresize>
<iframe src="'.$link.'" name="main" id="main">
</frameset>';

?>




iframe-seite:



<SCRIPT LANGUAGE="JavaScript">
if ( top.location.href == self.location.href )
{
_____top.location.href = "index.php?link=linkseite.html";
}
</script>




wenn ich jetzt über google auf die iframe-seite klicke, wird diese kurz angezeigt und kurz drauf wird die startseite mit dem iframe zusammen geladen.


soweit so gut, das prob ist, das die iframeseite (in diesem fall linkseite.html) nicht im iframe angezeigt wird, sondern die seite die immer bei start geladen wird.


kann jemand einen fehler im code entdecken?

 
Kropff
01-04-2005, 13:32 
 
$link = 'linkseite.html';

peter

 
tmaniacr
01-04-2005, 13:37 
 
sorry, war nur ein schreibfehler im forum

im code steht es korrekt : $link = 'linkseite.html';

(mit dem fehlendem ' )

es wird automatisch zur index-seite weitergeleitet, aber im iframe wird nicht die gewünschte seite angezeigt: linkseite.html


wo liegt das problem?

ps:

in der adresszeile steht:

index.php?link=linkseite.html

 
LJedi
01-04-2005, 13:53 
 
:confused: grundsätzlich: sollte der iframe nicht in der index.html auftauchen anstatt Bestandteil eines framesets zu sein :confused:

 
tmaniacr
01-04-2005, 15:03 
 
der iframe steht komplett in der index.html


in der index.php wird nur festgelegt, welche quell-seite in den frame geladen werden soll und das funktioniert leider irgendwie noch nicht richtig

 
LJedi
01-04-2005, 15:09 
 
if (!$_GET['link'])
{
$link = 'linkseite.html';
}
else
{
$link = $_GET['link'];
}
echo '<frameset rows="100%,*" frameborder="no" border="0" framespacing="0">
<frame src="index.html" name="kopf" scrolling="NO" noresize>
<iframe src="'.$link.'" name="main" id="main">
</frameset>';

:confused: :dontknow:

 
tmaniacr
01-04-2005, 15:31 
 
ich hab eben den fehler endeckt:

in der index.php wird dem iframe die quelle: linkseite.html zugewiesen und dann wird die index.html geladen.


in der index.html weise ich die eigenschaften des frames zu und eine andere quellseite für den frame. (leer.html)

logischer weise wird dann die zuletzt festgelegte quellseite angezeigt.


das problem ist jetzt folgendes:

wenn direkt auf eine subsite gelinkt wird (über z.b. google) soll der iframe mit der angeklickten seite bestückt werden.

(in der index.php festgelegt)

geht mann aber über einen korrekten link, direkt auf die index.html, soll die leer.html in den frame geladen werden.

(wird in der index.html festgelegt)



was kann mann da nun machen?


Alle Zeitangaben in WEZ +2. Es ist jetzt 20:15 Uhr.