IFRAME im PHP
Sven_L
- php
Hallo!
Ich habe ein Problem mit dem Scrollbalken !
Kurze Erklärung zum Vorhaben!
Meine HP besteht aus einer index-Seite die sich in HEADER CONTENT und FOOTER aufteilt.
Im CONTENT ist eine Tabelle mit 3 Spalten:
1 Spalte = LINK / NAVIGATION
2 Spalte = IFRAME
3 Spalte = WERBUNG UMFRAGEN usw.
Nun möchte ich den Letzten Link anklicken und er sol sich im IFRAME öfnen.
Soweit so gut es funktioniert auch alles:
Ich scrolle nach unten klicke in der Ersten Spalte auf den Link und es öffnet sich die seite im IFRAME (Also in der zweiten Spalte)!
Doch leider bleibt meine Seite nach unten gescrollt.
Was muß ich machen das sich meine gesammte HP automatisch nach anklicken eines Links sofort wieder nach oben scrollt ?
Hier habe ich mal den Link zu meiner Seite um es pratisch zu verbildlichen!
http://www.Bastel-Geschenke-Welt.de
Wenn man nun auf meine Seite nach unten Scrollt und dann auf "SONSTIGES" klickt weiß jeder genau was ich meine !
Ich danke schon im Voraus für eure Hilfe!!!!
MFG
SVEN_L
Hallo!
Warum <iframe>? Gib doch die Inhalte so aus:
<?php
if ($li == "")
{$li = "deineandereseite.php";}
@include("$li");
?>
ie $li legst Du hinter Deine Links.
deinlink.php?li=deinandererlink.php
Gruß Tom
sorry..
if ($li == "")-->nicht ganz richtig
<?php
if ($li == "deineseiteohnevariable-li")
{$li = "deineandereseite.php";}
@include("$li");
?>
Hallo und danke erstmal für die Hilfe!
Habe zwar erstmal nur ein kleinen Test durchgeführt aber dieser funktioniert schon ganz gut!
Doch ein kleines Problem habe ich noch !
Hier erstmal den Quelltext und dann zum Problem :
<html>
<head>
</head>
<body>
<link rel="stylesheet" type="text/css" href="TEST.css">
<table width=90% align=center><tr><th>
<!-- ### Linke Seite ### //-->
<table><tr><th>
Linkliste
</th></tr><tr><th>
<a href="index.php?li=LINK1.php" OnMouseOver="window.defaultStatus='·• LINK •·';return true" OnClick="window.defaultStatus='·• LINK •·';" OnMouseOut="window.defaultStatus='* TESTSEITE *';return true">
LINK 1
</a>
</th></tr><tr><th>
<a href="index.php?li=LINK2.php" OnMouseOver="window.defaultStatus='·• LINK •·';return true" OnClick="window.defaultStatus='·• LINK •·';" OnMouseOut="window.defaultStatus='* TESTSEITE *';return true">
LINK 2
</a>
</th></tr><tr><th>
<a href="index.php?li=LINK3.php" OnMouseOver="window.defaultStatus='·• LINK •·';return true" OnClick="window.defaultStatus='·• LINK •·';" OnMouseOut="window.defaultStatus='* TESTSEITE *';return true">
LINK 3
</a>
</th></tr><tr><th>
<a href="index.php?li=LINK4.php" OnMouseOver="window.defaultStatus='·• LINK •·';return true" OnClick="window.defaultStatus='·• LINK •·';" OnMouseOut="window.defaultStatus='* TESTSEITE *';return true">
LINK 4
</a>
</th></tr><tr><th>
<a href="index.php?li=LINK5.php" OnMouseOver="window.defaultStatus='·• LINK •·';return true" OnClick="window.defaultStatus='·• LINK •·';" OnMouseOut="window.defaultStatus='* TESTSEITE *';return true">
LINK 5
</a>
</th></tr></table>
</th><th>
<!-- ### Mitte ### //-->
<?php
if ($li == "Start-li")
{$li = "Start.php";}
@include("$li");
?>
</th><th>
<!-- ### Rechte Seite ### //-->
<table><tr><th>
bla bla
</th></tr><tr><th>
Egal
</th></tr><tr><th>
Weiter machen
</th></tr><tr><th>
und
</th></tr><tr><th>
so
</th></tr><tr><th>
Weiter
</th></tr><tr><th>
und
</th></tr><tr><th>
so
</th></tr><tr><th>
weiter
</th></tr><tr><th>
....
</th></tr></table>
<!-- ### ENDE ### //-->
</th></tr></table>
</body>
</html>
Wie bekomme ich das nun hin das ich in der 2 Spalte eine Anfangsseite habe?
Hier mal zur veranschaulichung den Link zum ONLINE-TEST
www.Bastel-Geschenke-Welt.de/Test-Ordner/index.php
In der Mitte sollte zu beginn eigendlich Start stehen!
Doch leider ist die mitte LEER
Liegt wohl daran weil ich das mit der Seite OHNE Variable nicht so ganz verstanden habe!
<?php
if ($li == "Start-li")
{$li = "Start.php";}
@include("$li");
?>
Also hier ein link zum veranschaulichen...
http://www.thomas-sowinski.de/test-li.php
und hier der Quelltext..
<html>
<head>
<title>Unbenanntes Dokument</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body>
<table width="100%" border="0" cellspacing="0" cellpadding="1">
<tr>
<td width="100">
<p><a href="test-li.php?li=erster.php" target="_self">erster</a></p>
<p><a href="test-li.php?li=zweiter.php" target="_self">zweiter</a></p>
</td>
<td>
<?php
if ($li == "")//wenn li leer dann lade run.php
{$li = "run.php";}
@include("$li");//ansonsten lade $li
?>
</td>
<td width="100"> </td>
</tr>
</table>
</body>
</html>
Gruß Tom
Hallo TOM
Genau so ein Beispiel habe ich gebraucht!
Ich Danke dir für deine Hilfe !
Zwar darf ich jetzt meine komplette Seite neu schreiben da das Gästebuch, Forum und mein Shop nicht mehr funktionieren durch den Befehl aber das macht nix ! So habe ich gleich einen Grund meine Seite auch optisch besser zu gestalten!
MFG
Sven
Moin!
Genau so ein Beispiel habe ich gebraucht!
Ich Danke dir für deine Hilfe !
Zwar darf ich jetzt meine komplette Seite neu schreiben da das Gästebuch, Forum und mein Shop nicht mehr funktionieren durch den Befehl
Du hättest das ruhig ein wenig klarer darstellen können. Immerhin hätte es sein können, dass da ein unbedarfterer den Sarkasmus- Tag überliest.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Ich habe da nun noch ein Problem!
Das sich meine Seiten im Mittelteil der Tabelle öffnet funktioniert ja wunderbar doch leider kann ich mit dieser funktion keine Fremdseiten laden!
Denn ich habe auf einem Anderen Server ein Chat diesen möchte ich nun übernehmen und habe versucht ihn mittels dieser "li" funktion aufzurufen doch leider funktioniert es nicht!
<a href="index.php?li=http://Bastel-Geschenke-Welt.mainchat.de/" target="_self">
Chat
</a>
Was habe ich an diesem Quelltext Falsch gemacht?
Moin!
Ich habe da nun noch ein Problem!
Das sich meine Seiten im Mittelteil der Tabelle öffnet funktioniert ja wunderbar doch leider kann ich mit dieser funktion keine Fremdseiten laden!
Denn ich habe auf einem Anderen Server ein Chat diesen möchte ich nun übernehmen und habe versucht ihn mittels dieser "li" funktion aufzurufen doch leider funktioniert es nicht!
DU WIRST DAS BITTE NICHT SO MACHEN WIE ES VORGESCHLAGEN WURDE!!!
Warum schreibe ich da extra hin, wie gefährlich das ist? Niemals dateinamen oder irgendwas, was im Betriebssystem verwendet wird ungeprüft oder gar direkt verwenden. Nie, Nie, Nie!
<a href="index.php?li=http://Bastel-Geschenke-Welt.mainchat.de/" target="_self">
Chat
</a>Was habe ich an diesem Quelltext Falsch gemacht?
Das jetzt jeder Deine .htaccess und beliebige andere Dateien lesen kann.
wenn überhaupt so:
Ich gebe Die zwei Lösungsmuster:
<?php
if (!isset($_GET['li'])) {
$li="startseite.php";
} else {
if ($_GET['li']=='chat') {
$_GET['li']='http://Bastel-Geschenke-Welt.mainchat.de/';
include $_GET['li'];
# angeblich klappt das auf Windows- Maschinen nicht!
} else {
# Wir bedienen uns eines einfachen Tricks und vergeben Zahlen für die einzelnen Dateien:
$arFilenames[0]=startseite.php;
$arFilenames[1]=infoseite.php;
# ...
$_GET['li']=$_GET['li']*1; # beliebt und schnell wird was illegales übergeben kommt da 0 raus.
include $arFilenames[$_GET['li']];
# es wir jetzt die Datei aus dem Array geholt.
}
}
?>
In Deinem Skript sehen die Links dann so aus:
<a href="index.php?li=0" target="_self">home</a>
<a href="index.php?li=1" target="_self">info</a>
<a href="index.php?li=chat" target="_self">chat</a>
Weil, sonst kannst Du Dich gleich wieder bedanken:
<sarkasmus>
Genau so ein Beispiel habe ich dringend gebraucht!
Ich Danke dir für deine Hilfe !
</sarkasmus>
Ich darf jetzt meine komplette Seite neu schreiben da das Gästebuch, Forum und mein Shop durch Deinen unsicheren Programmcode zerstört wurden.
Ich hab Deinen Text leicht geändert.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®
Moin!
Die Lösung entstammt wohl dem Buch "So besser nicht. Selbstmörder programmieren für Sie schlecht und schmutzig."
<p><a href="test-li.php?li=erster.php" target="_self">erster</a></p>
<p><a href="test-li.php?li=zweiter.php" target="_self">zweiter</a></p><?php
if ($li == "")//wenn li leer dann lade run.php
Aha. Damit es funktioniert zuvor die PHP.ini auf unsichere Einstellungen trimmen.
Also wenn überhaupt:
if (!isset($_GET['li'])) {
include 'run.php' or die ("Die Datei run.php existiert nicht oder Sie haben ungenügende Rechte.");
}
@include("$li");//ansonsten lade $li
Fehler Nr. 3:
Das @ ist dafür da, damit bei der Fehlersuche richtig Probleme entstehen oder was?
?>
Sicherheitsproblem:
Auf fein. Ich nehme das und bastele mir die Links selbst dann kann ich mit test-li.php?li=.htaccess.php die .htacess anschauen und mit
test-li.php?li=.htpasswd die verschlüsselten Passwörter, die ich dann ganz in Ruhe zu hause knacken kann.
DAS IST EIN SICHERHEITSPROBLEM!
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix®