# Iframe nach dem Inhalt anpassen(mal wieder)



## TreX2006 (26. Juli 2006)

Hallo,
bitte steinigt mich jetzt nicht, ich weiß das Thema gab es schon bestimmt zu oft das man es noch zählen kann. Ich hab auch die Suchfunktion verwendet und das nicht nur in einem Forum.

Problem in Kürze: In einer Tabelle wird ein Iframe aufgerufen, die Höhe der aufgerufenen Dateien variert stark. Das iframe soll sich jetzt größer oder kleiner machen in abhängigkeit vom inhalt.

Was ich bischer fand: Hier im Forum sind zwei realisierbare Vorschläge die mir gefallen.
Der Lange: (http://www.tutorials.de/forum/html/...eite-aendern-wie.html?highlight=iframe+h%F6he)
hab zwar noch nicht getestet sieht aber schon sehr gut aus.
Der Kurze: (http://www.tutorials.de/forum/php/2...rames-automatisch-iframe-inhalt-anpassen.html)
Gefält mir persönlich besser, da kurz und verständlich( die Version von D@nger)
Die Frage: Ich würde gerne die kurze Methode verwenden, doch sie funktioniert nur beim Explorer beim Firefox wird das Iframe nicht kleiner wenn ich nach einer großen Datei eine Kleinere lade. Kann mir einer sagen was ich machen soll damit es auch im FF funktioniert?

Danke im vorraus
TreX

PS: hier die Seite für die ich das brauche http://patchworx.pa.funpic.de/main.php (Das projekt ist erst 2 tage alt, aber wen ich das iFrame problem gelöst habe dann kommt auch der Inhalt)


----------



## Gumbo (26. Juli 2006)

Meines Wissens ist das nicht möglich. Ist das iframe-Element denn unumgänglich?


----------



## TreX2006 (26. Juli 2006)

Unumgänglich? Nichts ist unumgänglich und genau aus diesem Grund versuche ich das iFrame zum laufen zu bringen. Die Include funktion von PHP würde die gesamte Seite neuladen, und das währe nicht gut bei vielen Graphiken außerdem wirden ein teil der Besucher auch ganz normale Modemuser sein. Der einzige Nachteil der iFrames ist, das sie nicht mit allen Browsern kompatibel sind. Aber wer  nicht wenigstens  ab und zu mal seine Browser aktualisiert oder JS abschaltet naja der kann hmmm weiß nicht was er kann, aber bestimmt nicht auf meine Seite.^^


----------



## Html (26. Juli 2006)

Hallo habe zwar nicht die Lösung für dein Problem aber habe eben auch ein thread eröffnet, denn ich habe das gleiche Problem. Nur ich wäre froh wenn ich es überhaupt mal hinbekommen würde das sich bei mir was ändert.

Kannst dir ja mal meinen thread anschauen und mir vielleicht weiterhelfen-denn du hast ja auch ne php-seite(?) und irgendwie weiß ich nicht so recht wie ich das machen soll mit php und javascript zusammen.

http://http://www.tutorials.de/forum/php/250654-iframe-hoehe-anpassen.html

Danke,Olli


----------



## TreX2006 (26. Juli 2006)

@Html immer wen ich auf dein Link klicke komme ich auf spiegel.de?

PHP und JS stören sich doch nicht gegenseitig. Du programmierst die Seite als ob es nur Html währe und wenn du php brauchst fügst du <?php ...phpcode... ?> ein^^.
Also für Explorer und zur Hälfte für Firefox steht oben ein Link zur Lösung (der kurze) 

Aber wenn ich das mal hinkriegen sollte so wie ich das brauche, dann sag ich hier bescheid mit Quäll-Code^^. 

PS: Es gibt eine ganz nette Variante, du mußt leider aber auf jeder seite die included wird ihr größe angeben.(die funktioniert auf jeden Fall)

edit:http://www.tutorials.de/forum/html/145044-i-frame-problem.html der post von vonsomatic scheint auch bedingt zu funktionieren, mal sehen ob es DIE Lösung ist, wenn man den halben Code wegschneidet^^. Die Version läuft diesmal besser bei FireFox Arghhhh
edit2: will mal nicht doppelposting, aber heureka die version schint zu funzeln... mit kleinen problemchen aber es .


----------



## Html (26. Juli 2006)

Du hast mich da auf eine Idee gebracht. Und siehe da es klappt-fast. Nur leider noch nicht im IE.

Und zwar habe ich folgende Lösung angewendet: die erste.

http://http://www.tutorials.de/forum/html/172304-inline-frame-groesse-durch-geladene-seite-aendern-wie.html?highlight=iframe+h%F6he

Also im firefox funktioniert es , das frame wird sowohl größer als auch wieder kleiner.

Nur im IE nicht, da habe ich das Gefühl das die Funktion erst gar nicht ausgeführt wird. Der IE zieht mir das Fenster auf 1000px (die höhe im iframe angegeben).

Vielleicht liegt es an der art und weise wie ich den onload tag in der php seite eingebettet habe:


```
<?php

    /*
    myPHP Guestbook
    Copyright (C) 2003 - 2006  Claudio Pose
    myPHP Guestbook is a open source project of Networkarea.ch

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    */

    include("config.inc.php");
    include("functions.inc.php");
    connect();







    $sql_properties = mysql_query("SELECT
                                       bbcode,
                                       deactivate_html,
                                       default_style,
                                       default_template,
                                       entries_per_site,
                                       guestbook_status,
                                       guestbook_title,
                                       links_in_sitefunction,
                                       max_word_length,
                                       release_entries,
                                       show_ip,
                                       smilies,
                                       statistic,
                                       statistic_ban
                                   FROM
                                       ".$table."_properties");

    $properties    = mysql_fetch_assoc($sql_properties);
    $default_style = $properties['default_style'];

    $sql_template = mysql_query("SELECT
                                     bgcolor,
                                     bgimage,
                                     border,
                                     cellpadding,
                                     cellspacing,
                                     html,
                                     image_email,
                                     image_homepage,
                                     tablealign,
                                     tablewidth,
                                     tdcolor,
                                     td2color
                                 FROM
                                     ".$table."_template
                                 WHERE
                                     id='".$properties['default_template']."'");

    $template = mysql_fetch_assoc($sql_template);

    if ($properties['statistic']) {
        include("stats.inc.php");
    }

    $sql_count_entries = "SELECT
                              id
                          FROM
                              ".$table."_entries";

    if (isset($properties['release_entries']) AND $properties['release_entries'] == 1) {
        $sql_count_entries .= " WHERE status='1'";
    }

    $query_count_entries = mysql_query($sql_count_entries);
    $count_entries       = mysql_num_rows($query_count_entries);

    include("lang.inc.php");

    if (isset($_GET['page'])) {
        if (!is_numeric($_GET['page']) OR empty($_GET['page'])) {
            $page = 1;
        } else {
            $page = $_GET['page'];
        }
    } else {
        $page = 1;
    }

    $page               = mysql_escape_string($page);
    $pages_total        = ceil($count_entries/$properties['entries_per_site']) ;
    $page_start         = floor($page - $properties['links_in_sitefunction']/2) ;
    $page_start         =   $page_start <= 0 ?  1 : $page_start ;
    $page_end           = ($page_start + $properties['links_in_sitefunction']-1) ;
    $page_end           =   $page_end >= $pages_total ?  $pages_total : $page_end ;
    $page_max           = $page*$properties['entries_per_site'];
    $max_minus_per_page = $page_max-$properties['entries_per_site'];
    $page_entry_start   = $count_entries-$max_minus_per_page+1;

    echo "<?xml version=\"1.0\" encoding=\"".$encoding."\" ?>
    <!DOCTYPE html
    PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"".$lang_short."\" lang=\"".$lang_short."\"><head>
    <style type=\"text/css\">
    <!-- ";

    getStyle();

    echo " //-->
    </style>
    <title>".$properties['guestbook_title']."</title>
    </head>";

    if ($template['bgimage'] == "") {
        echo "<body bgcolor=\"".$template['bgcolor']."\" onload=\"parent.resize_me('guestbook')\">";
    }

    if ($template['bgimage'] != "") {
        echo "<body bgcolor=\"".$template['bgcolor']."\" background=\"".$template['bgimage']."\" onload=\"parent.resize_me('guestbook')\">";
    }

    if ($properties['guestbook_status']) {
        echo "<div align=\"".$template['tablealign']."\">".$ms[16]."<br /><b><a href=\"".$url."insert.php";

        if (isset($get_lang)) {
            echo "?lang=".$_GET['lang']."";
        }

        echo "\" title=\"".$ms[17]."\">".$ms[17]."</a></b><br /><br />";

        if ($page > 1) {
            $page_minus = $page-1;
            echo " <a href=\"".$url."/index.php?page=".$page_minus."";


            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/links.gif\" alt=\"".$ms[6]."\" border=\"0\" /></a>";
        }

        if ($page_start > 1) {
            echo " <a href=\"".$url."/index.php?page=1";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">1</a> ...";
        }

        for ($i = $page_start; $i <= $page_end ;$i++) {
            if ($i == $page) {
                echo "<b>".$i."</b>";
            } else {
                echo " <a href=\"".$url."/index.php?page=".$i."";

                if ($get_lang) {
                    echo "&lang=".$_GET['lang']."";
                }

                echo "\">".$i."</a> ";
            }
        }

        if ($page_end < $pages_total) {
            echo " ... <a href=\"".$url."/index.php?page=".$pages_total."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">".$pages_total."</a>";
        }

        if ($page < $pages_total) {
            $page_plus = $page+1;
            echo " <a href=\"".$url."/index.php?page=".$page_plus."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/rechts.gif\" alt=\"".$ms[18]."\" border=\"0\" /></a>";
        }

        echo "</div>
        <br />";

        if ($properties['release_entries']) {
            $sql_entries = mysql_query("SELECT
                                            comment,
                                            date,
                                            email,
                                            homepage,
                                            icq,
                                            id,
                                            ip,
                                            name,
                                            text,
                                            time
                                        FROM
                                            ".$table."_entries
                                        WHERE
                                            status='1'
                                        ORDER BY
                                            id DESC
                                        LIMIT
                                            ".(($page-1)*$properties['entries_per_site'] ).",".$properties['entries_per_site']."");
        } else {
            $sql_entries = mysql_query("SELECT
                                            comment,
                                            date,
                                            email,
                                            homepage,
                                            icq,
                                            id,
                                            ip,
                                            name,
                                            text,
                                            time
                                        FROM
                                            ".$table."_entries
                                        ORDER BY
                                            id DESC
                                        LIMIT
                                            ".(($page-1)*$properties['entries_per_site'] ).",".$properties['entries_per_site']."");
        }

        while ($entries = mysql_fetch_assoc($sql_entries)) {
            $page_entry_start = $page_entry_start-1;

            if ($properties['deactivate_html']) {
                $entries['text'] = htmlentities($entries['text']);
            }

            $email               = $entries['email'];
            $entries['comment']  = nl2br($entries['comment']);
            $entries['email']    = strip_tags($entries['email']);
            $entries['email']    = noSpam($entries['email']);
            $entries['email']    = stripslashes($entries['email']);
            $entries['homepage'] = stripslashes($entries['homepage']);
            $entries['homepage'] = strip_tags($entries['homepage']);
            $entries['homepage'] = htmlentities($entries['homepage']);
            $entries['id']       = $page_entry_start;
            $entries['name']     = htmlentities($entries['name']);
            $entries['name']     = stripslashes($entries['name']);
            $entries['text']     = badwords($entries['text']);
            $entries['text']     = shortWords($entries['text'], $properties['max_word_length']);
            $entries['text']     = nl2br($entries['text']);
            $entries['text']     = stripslashes($entries['text']);

            if ($properties['bbcode']) {
                $entries['text']    = bbcode($entries['text']);
                $entries['comment'] = bbcode($entries['comment']);
            }

            if ($properties['smilies']) {
                $entries['text']    = smilies($entries['text']);
                $entries['comment'] = smilies($entries['comment']);
            }

            $template_data = $template['html'];
            $template_data = str_replace("<\$border\$>", $template['border'], $template_data);
            $template_data = str_replace("<\$cellpadding\$>", $template['cellpadding'], $template_data);
            $template_data = str_replace("<\$cellspacing\$>", $template['cellspacing'], $template_data);
            $template_data = str_replace("<\$date\$>", $entries['date'], $template_data);
            $template_data = str_replace("<\$id\$>", $entries['id'], $template_data);
            $template_data = str_replace("<\$name\$>", $entries['name'], $template_data);
            $template_data = str_replace("<\$tablealign\$>", $template['tablealign'], $template_data);
            $template_data = str_replace("<\$tablewidth\$>", $template['tablewidth'], $template_data);
            $template_data = str_replace("<\$tdcolor\$>", $template['tdcolor'], $template_data);
            $template_data = str_replace("<\$td2color\$>", $template['td2color'], $template_data);
            $template_data = str_replace("<\$text\$>", $entries['text'], $template_data);
            $template_data = str_replace("<\$time\$>", $entries['time'], $template_data);

            if ($entries['comment']) {
                $template_data = str_replace("<\$comment\$>", "<br /><br /><table cellpadding=\"2\" cellspacing=\"1\" align=\"center\" width=\"95%\" class=\"guestbook_table\"><tr><td bgcolor=\"".$template['tdcolor']."\" align=\"left\"><b>".$ms[116].":</b><br />".$entries['comment']."</td></tr></table>", $template_data);
            } else {
                $template_data = str_replace("<\$comment\$>", "", $template_data);
            }

            if ($properties['show_ip']) {
                $template_data = str_replace("<\$ip\$>", "IP: ".$entries['ip']."<br />", $template_data);
            } else {
                $template_data = str_replace("<\$ip\$>", "", $template_data);
            }

            if ($entries['email'] == "") {
                $template_data = str_replace("<\$email\$>", "", $template_data);
                $template_data = str_replace("<\$email_icon\$>", "", $template_data);
            } else {
                $template_data = str_replace("<\$email\$>", "<a href=\"mailto:".$entries['email']."\" title=\"".$entries['email']."\">".$entries['email']."</a>", $template_data);
                $template_data = str_replace("<\$email_icon\$>", "<a href=\"mailto:".$entries['email']."\"><img src=\"".$url."/images/icons/email/".$template['image_email']."\" border=\"0\" alt=\"".$entries['email']."\" /></a>", $template_data);
            }

            if ($entries['homepage'] == "" OR $entries['homepage'] == "http://") {
                $template_data = str_replace("<\$homepage\$>", "", $template_data);
                $template_data = str_replace("<\$homepage_icon\$>", "", $template_data);
            } else {
                $template_data = str_replace("<\$homepage\$>", "<a href=\"".$entries['homepage']."\" title=\"".$entries['homepage']."\">".$entries['homepage']."</a>", $template_data);
                $template_data = str_replace("<\$homepage_icon\$>", "<a href=\"".$entries['homepage']."\" target=\"_blank\"><img src=\"".$url."/images/icons/homepage/".$template['image_homepage']."\" border=\"0\" alt=\"".$entries['homepage']."\" /></a>", $template_data);
            }

            if ($entries['icq'] == 0) {
                $template_data = str_replace("<\$icq\$>", "", $template_data);
                $template_data = str_replace("<\$icq_icon\$>", "", $template_data);
            } else {
                $template_data = str_replace("<\$icq\$>", "<a href=\"http://web.icq.com/whitepages/about_me?Uin=".$entries['icq']."\">".$entries['icq']."</a>", $template_data);
                $template_data = str_replace("<\$icq_icon\$>", "<a href=\"http://web.icq.com/whitepages/about_me?Uin=".$entries['icq']."\" target=\"_blank\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=".$entries['icq']."&amp;img=5\" border=\"0\" alt=\"".$entries['icq']."\" /></a>", $template_data);
            }

            echo "<div align=\"".$template['tablealign']."\">
            ".$template_data."
            </div>";
        }

        echo "<p align=\"".$template['tablealign']."\">";


        if ($page > 1) {
            $page_minus = $page-1;
            echo " <a href=\"".$url."/index.php?page=".$page_minus."";


            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/links.gif\" alt=\"".$ms[6]."\" border=\"0\" /></a>";
        }

        if ($page_start > 1) {
            echo " <a href=\"".$url."/index.php?page=1";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">1</a> ...";
        }

        for ($i = $page_start; $i <= $page_end ;$i++) {
            if ($i == $page) {
                echo "<b>".$i."</b>";
            } else {
                echo " <a href=\"".$url."/index.php?page=".$i."";

                if ($get_lang) {
                    echo "&lang=".$_GET['lang']."";
                }

                echo "\">".$i."</a> ";
            }
        }

        if ($page_end < $pages_total) {
            echo " ... <a href=\"".$url."/index.php?page=".$pages_total."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">".$pages_total."</a>";
        }

        if ($page < $pages_total) {
            $page_plus = $page+1;
            echo " <a href=\"".$url."/index.php?page=".$page_plus."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/rechts.gif\" alt=\"".$ms[18]."\" border=\"0\" /></a>";
        }

    echo '</p>';

    } else {
        echo "<b>".$ms[34]."</b>";
    }

    echo "</body>
    </html>";
?>
```

Kannst ja mal drüber schauen, hätten ja beide was davon 

Sorry aber irgendwie klappt das nicht mit den links...

Hier nochmal:

http://www.tutorials.de/forum/html/...eite-aendern-wie.html?highlight=iframe+h%F6he


----------



## TreX2006 (26. Juli 2006)

Also bei mir scheints zu funktionieren. Hab dieses Thema verwendet.
http://www.tutorials.de/forum/html/145044-i-frame-problem.html
es geht sowohl mit firefox als auch im Explorer, mit einer geringfügigen modifikation, da Firefox trotzdem die iFrames länger darstellt als Explorer(aber den wert für d sollte glaube jeder für sich ausprobieren.. Aber ich hab nur den Teil des @uelcodes verwendet der das vertikale Scalieren erlaubt also die Höhe.

So sieht es bei mir aus, ganz oben zwischen Head und Body (ka wie es hin kommt) auf der Seite die das iFrame besitzt(da wo die Seiten included werden)


> <script type="text/javascript">
> <!--
> function resize_me
> {
> ...



Dann nur noch der Aufruf auf der selben Seite: Hier wird dann das was man einfügen will stehen.


> <iframe style="padding-top: 1" name="content" src="aboutme.php" frameborder="0" scrolling=no height="500" width="100%" border="0">
> <p>Leider unterstützt ihr Broweser keine iFrames...so ein pech aber auch.</p>
> 
> 
> </iframe>



Und zu aller letzt bekommt jede Seite die Included wird  so ein teilchen:


> <body onload="parent.resize_me('content')">




Also nach Genau 2 Tagen anstrengender suche bin ich glücklich. fals einer eine noch genauere beschreibung haben möchte soll es nur sagen.


----------



## Html (27. Juli 2006)

Also noch mal zu meinem Problem. Ich habe eine seite gaestebuch.html. Auf dieser Seite befindet sich das iframe in welches die seite index.php geladen wird. Das ist die Startseite des Gästebuches. Nun habe ich es genau so gemacht wie oben beschrieben. 

Aber im firefox klappts, nur nicht im IE.

Was mache ich verkehrt ?


Hier die seite gaestebuch.html mit dem javascript und dem iframe:


```
<html>
<head>
<title>Freiwilllige Feuerwehr Hübingen</title>
<meta http-equiv="content-type" content=
"text/html; charset=iso-8859-1">
<meta http-equiv="imagetoolbar" content="no">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<meta name="author" content="Oliver Noll">
<meta name="description" content=
"Freiwillige Feuerwehr Hübingen">
<meta name="keywords" content=
"Feuerwehr Hübingen, Feuerwehr, Hübingen, Jugendfeuerwehr, LF8/6, Einsätze, Förderverein">
<meta name="classification" content="Offizielle Homepage">
<meta name="robots" content="index">
<meta name="revisit-after" content="90 days">
<meta name="DC.Title" content=
"Freiwillige Feuerwehr Hübingen">
<meta name="DC.Creator" content="Oliver Noll">
<meta name="DC.Subject" content=
"Freiwillige Feuerwehr Hübingen">
<meta name="DC.Description" content=
"Freiwillige Feuerwehr Hübingen: Startseite">
<meta name="DC.Publisher" content="Oliver Noll">
<meta name="DC.Type" content="Text">
<meta name="DC.Format" content="text/html">
<meta name="DC.Identifier" content=
"http://www.feuerwehr-huebingen.de/">
<meta name="DC.Language" content="de">
<meta name="DC.Coverage" content="Feuerwehr">
<meta name="DC.Rights" content="http://www.feuerwehr-huebingen.de/impressum.html">
<link rel="stylesheet" href="navigation.css" type="text/css">
<link href="../css/text.css" rel="stylesheet" type="text/css">
<link href="../css/design.css" rel="stylesheet" type="text/css">
<link href="../css/menue3.css" rel="stylesheet" type="text/css">


<script type="text/javascript" language="JavaScript">
<!--
function machRahmen()
{
if(top.frames.length<1)
top.location.href="../index.html?gaestebuch/gaestebuch.html"
}
//-->
</script>

<!-- Begin Grab This - You'll need this external CSS file and the IE Statement below -->


<!--[if IE]>
<style type="text/css" media="screen">
#menu{float:none;} /* This is required for IE to avoid positioning bug when placing content first in source. */
/* IE Menu CSS */
/* csshover.htc file version: V1.21.041022 - Available for download from: http://www.xs4all.nl/~peterned/csshover.html */
body{behavior:url(css/csshover.htc);
font-size:100%; /* to enable text resizing in IE */
}
#menu ul li{float:left; width: 100%;}
#menu h2, #menu a{height:19px;font:bold 10pt arial,helvetica,sans-serif;}
</style>
<![endif]-->

<!-- End Grab This -->

<script type="text/javascript">
<!--
function resize_me(n)
{
d=30;ifObj=document.getElementsByName(n)[0];p=(document.all)?'scroll':'offset';

eval("ifObj.style.height=window.frames[n].document.getElementsByTagName('body')[0]."+p+"Height+"+d);
}
//-->
</script>


</head>

<body onload="machRahmen();">







<table width="100%" height="21" cellpadding="0"  cellspacing="0" class="hg_grau_rahmenunten">
<tr>
<td>&nbsp;</td>
</tr>
</table>  


<div id="scroll" align="center">

<table  border="0" align="left" class="fenster">
<tr ><td  rowspan="2" class="leerzeile_links">&nbsp;</td>
<td height="10">&nbsp;</td></tr>
<tr>
<td>

<table cellpadding="0"  cellspacing="0" class="tab_rahmen">
  <tr>
    <td  colspan="3" class="leerzeile_oben_oben"></td>
    </tr>
  <tr>
    <td width="17">&nbsp;</td>
    <td width="495" ><p class="ueberschrift">- G&auml;stebuch - </p></td>
    <td width="17">&nbsp;</td>
  </tr>
  <tr>
    <td colspan="3" class="leerzeile_oben">&nbsp;</td>
    </tr>
  <tr>
    <td width="17" >&nbsp;</td>
    <td >

<iframe style="padding-top: 1" name="test" src="index.php" frameborder="0" scrolling=no height="500" width="100%" border="0">
<p>Leider unterstützt ihr Broweser keine iFrames...so ein pech aber auch.</p>


</iframe>


</td>
    <td width="17"">&nbsp;</td>
  </tr>
  <tr>
    <td  colspan="6" class="leerzeile_unten" ></td>
    </tr>
</table>
</td></tr>

</table>
</div>

</body>
</html>
```


Und hier die seite index.php mit dem onload:


```
<?php

    /*
    myPHP Guestbook
    Copyright (C) 2003 - 2006  Claudio Pose
    myPHP Guestbook is a open source project of Networkarea.ch

    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation; either version 2 of the License, or
    (at your option) any later version.

    This program is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.
    */

    include("config.inc.php");
    include("functions.inc.php");
    connect();







    $sql_properties = mysql_query("SELECT
                                       bbcode,
                                       deactivate_html,
                                       default_style,
                                       default_template,
                                       entries_per_site,
                                       guestbook_status,
                                       guestbook_title,
                                       links_in_sitefunction,
                                       max_word_length,
                                       release_entries,
                                       show_ip,
                                       smilies,
                                       statistic,
                                       statistic_ban
                                   FROM
                                       ".$table."_properties");

    $properties    = mysql_fetch_assoc($sql_properties);
    $default_style = $properties['default_style'];

    $sql_template = mysql_query("SELECT
                                     bgcolor,
                                     bgimage,
                                     border,
                                     cellpadding,
                                     cellspacing,
                                     html,
                                     image_email,
                                     image_homepage,
                                     tablealign,
                                     tablewidth,
                                     tdcolor,
                                     td2color
                                 FROM
                                     ".$table."_template
                                 WHERE
                                     id='".$properties['default_template']."'");

    $template = mysql_fetch_assoc($sql_template);

    if ($properties['statistic']) {
        include("stats.inc.php");
    }

    $sql_count_entries = "SELECT
                              id
                          FROM
                              ".$table."_entries";

    if (isset($properties['release_entries']) AND $properties['release_entries'] == 1) {
        $sql_count_entries .= " WHERE status='1'";
    }

    $query_count_entries = mysql_query($sql_count_entries);
    $count_entries       = mysql_num_rows($query_count_entries);

    include("lang.inc.php");

    if (isset($_GET['page'])) {
        if (!is_numeric($_GET['page']) OR empty($_GET['page'])) {
            $page = 1;
        } else {
            $page = $_GET['page'];
        }
    } else {
        $page = 1;
    }

    $page               = mysql_escape_string($page);
    $pages_total        = ceil($count_entries/$properties['entries_per_site']) ;
    $page_start         = floor($page - $properties['links_in_sitefunction']/2) ;
    $page_start         =   $page_start <= 0 ?  1 : $page_start ;
    $page_end           = ($page_start + $properties['links_in_sitefunction']-1) ;
    $page_end           =   $page_end >= $pages_total ?  $pages_total : $page_end ;
    $page_max           = $page*$properties['entries_per_site'];
    $max_minus_per_page = $page_max-$properties['entries_per_site'];
    $page_entry_start   = $count_entries-$max_minus_per_page+1;

    echo "<?xml version=\"1.0\" encoding=\"".$encoding."\" ?>
    <!DOCTYPE html
    PUBLIC \"-//W3C//DTD XHTML 1.0 Transitional//EN\"
    \"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd\">
    <html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"".$lang_short."\" lang=\"".$lang_short."\"><head>
    <style type=\"text/css\">
    <!-- ";

    getStyle();

    echo " //-->
    </style>
    <title>".$properties['guestbook_title']."</title>
    </head>";

    if ($template['bgimage'] == "") {
        echo "<body bgcolor=\"".$template['bgcolor']."\" onload=\"parent.resize_me('test')\">";
    }

    if ($template['bgimage'] != "") {
        echo "<body bgcolor=\"".$template['bgcolor']."\" background=\"".$template['bgimage']."\" onload=\"parent.resize_me('test')\">";
    }

    if ($properties['guestbook_status']) {
        echo "<div align=\"".$template['tablealign']."\">".$ms[16]."<br /><b><a href=\"".$url."insert.php";

        if (isset($get_lang)) {
            echo "?lang=".$_GET['lang']."";
        }

        echo "\" title=\"".$ms[17]."\">".$ms[17]."</a></b><br /><br />";

        if ($page > 1) {
            $page_minus = $page-1;
            echo " <a href=\"".$url."/index.php?page=".$page_minus."";


            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/links.gif\" alt=\"".$ms[6]."\" border=\"0\" /></a>";
        }

        if ($page_start > 1) {
            echo " <a href=\"".$url."/index.php?page=1";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">1</a> ...";
        }

        for ($i = $page_start; $i <= $page_end ;$i++) {
            if ($i == $page) {
                echo "<b>".$i."</b>";
            } else {
                echo " <a href=\"".$url."/index.php?page=".$i."";

                if ($get_lang) {
                    echo "&lang=".$_GET['lang']."";
                }

                echo "\">".$i."</a> ";
            }
        }

        if ($page_end < $pages_total) {
            echo " ... <a href=\"".$url."/index.php?page=".$pages_total."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">".$pages_total."</a>";
        }

        if ($page < $pages_total) {
            $page_plus = $page+1;
            echo " <a href=\"".$url."/index.php?page=".$page_plus."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/rechts.gif\" alt=\"".$ms[18]."\" border=\"0\" /></a>";
        }

        echo "</div>
        <br />";

        if ($properties['release_entries']) {
            $sql_entries = mysql_query("SELECT
                                            comment,
                                            date,
                                            email,
                                            homepage,
                                            icq,
                                            id,
                                            ip,
                                            name,
                                            text,
                                            time
                                        FROM
                                            ".$table."_entries
                                        WHERE
                                            status='1'
                                        ORDER BY
                                            id DESC
                                        LIMIT
                                            ".(($page-1)*$properties['entries_per_site'] ).",".$properties['entries_per_site']."");
        } else {
            $sql_entries = mysql_query("SELECT
                                            comment,
                                            date,
                                            email,
                                            homepage,
                                            icq,
                                            id,
                                            ip,
                                            name,
                                            text,
                                            time
                                        FROM
                                            ".$table."_entries
                                        ORDER BY
                                            id DESC
                                        LIMIT
                                            ".(($page-1)*$properties['entries_per_site'] ).",".$properties['entries_per_site']."");
        }

        while ($entries = mysql_fetch_assoc($sql_entries)) {
            $page_entry_start = $page_entry_start-1;

            if ($properties['deactivate_html']) {
                $entries['text'] = htmlentities($entries['text']);
            }

            $email               = $entries['email'];
            $entries['comment']  = nl2br($entries['comment']);
            $entries['email']    = strip_tags($entries['email']);
            $entries['email']    = noSpam($entries['email']);
            $entries['email']    = stripslashes($entries['email']);
            $entries['homepage'] = stripslashes($entries['homepage']);
            $entries['homepage'] = strip_tags($entries['homepage']);
            $entries['homepage'] = htmlentities($entries['homepage']);
            $entries['id']       = $page_entry_start;
            $entries['name']     = htmlentities($entries['name']);
            $entries['name']     = stripslashes($entries['name']);
            $entries['text']     = badwords($entries['text']);
            $entries['text']     = shortWords($entries['text'], $properties['max_word_length']);
            $entries['text']     = nl2br($entries['text']);
            $entries['text']     = stripslashes($entries['text']);

            if ($properties['bbcode']) {
                $entries['text']    = bbcode($entries['text']);
                $entries['comment'] = bbcode($entries['comment']);
            }

            if ($properties['smilies']) {
                $entries['text']    = smilies($entries['text']);
                $entries['comment'] = smilies($entries['comment']);
            }

            $template_data = $template['html'];
            $template_data = str_replace("<\$border\$>", $template['border'], $template_data);
            $template_data = str_replace("<\$cellpadding\$>", $template['cellpadding'], $template_data);
            $template_data = str_replace("<\$cellspacing\$>", $template['cellspacing'], $template_data);
            $template_data = str_replace("<\$date\$>", $entries['date'], $template_data);
            $template_data = str_replace("<\$id\$>", $entries['id'], $template_data);
            $template_data = str_replace("<\$name\$>", $entries['name'], $template_data);
            $template_data = str_replace("<\$tablealign\$>", $template['tablealign'], $template_data);
            $template_data = str_replace("<\$tablewidth\$>", $template['tablewidth'], $template_data);
            $template_data = str_replace("<\$tdcolor\$>", $template['tdcolor'], $template_data);
            $template_data = str_replace("<\$td2color\$>", $template['td2color'], $template_data);
            $template_data = str_replace("<\$text\$>", $entries['text'], $template_data);
            $template_data = str_replace("<\$time\$>", $entries['time'], $template_data);

            if ($entries['comment']) {
                $template_data = str_replace("<\$comment\$>", "<br /><br /><table cellpadding=\"2\" cellspacing=\"1\" align=\"center\" width=\"95%\" class=\"guestbook_table\"><tr><td bgcolor=\"".$template['tdcolor']."\" align=\"left\"><b>".$ms[116].":</b><br />".$entries['comment']."</td></tr></table>", $template_data);
            } else {
                $template_data = str_replace("<\$comment\$>", "", $template_data);
            }

            if ($properties['show_ip']) {
                $template_data = str_replace("<\$ip\$>", "IP: ".$entries['ip']."<br />", $template_data);
            } else {
                $template_data = str_replace("<\$ip\$>", "", $template_data);
            }

            if ($entries['email'] == "") {
                $template_data = str_replace("<\$email\$>", "", $template_data);
                $template_data = str_replace("<\$email_icon\$>", "", $template_data);
            } else {
                $template_data = str_replace("<\$email\$>", "<a href=\"mailto:".$entries['email']."\" title=\"".$entries['email']."\">".$entries['email']."</a>", $template_data);
                $template_data = str_replace("<\$email_icon\$>", "<a href=\"mailto:".$entries['email']."\"><img src=\"".$url."/images/icons/email/".$template['image_email']."\" border=\"0\" alt=\"".$entries['email']."\" /></a>", $template_data);
            }

            if ($entries['homepage'] == "" OR $entries['homepage'] == "http://") {
                $template_data = str_replace("<\$homepage\$>", "", $template_data);
                $template_data = str_replace("<\$homepage_icon\$>", "", $template_data);
            } else {
                $template_data = str_replace("<\$homepage\$>", "<a href=\"".$entries['homepage']."\" title=\"".$entries['homepage']."\">".$entries['homepage']."</a>", $template_data);
                $template_data = str_replace("<\$homepage_icon\$>", "<a href=\"".$entries['homepage']."\" target=\"_blank\"><img src=\"".$url."/images/icons/homepage/".$template['image_homepage']."\" border=\"0\" alt=\"".$entries['homepage']."\" /></a>", $template_data);
            }

            if ($entries['icq'] == 0) {
                $template_data = str_replace("<\$icq\$>", "", $template_data);
                $template_data = str_replace("<\$icq_icon\$>", "", $template_data);
            } else {
                $template_data = str_replace("<\$icq\$>", "<a href=\"http://web.icq.com/whitepages/about_me?Uin=".$entries['icq']."\">".$entries['icq']."</a>", $template_data);
                $template_data = str_replace("<\$icq_icon\$>", "<a href=\"http://web.icq.com/whitepages/about_me?Uin=".$entries['icq']."\" target=\"_blank\"><img src=\"http://wwp.icq.com/scripts/online.dll?icq=".$entries['icq']."&amp;img=5\" border=\"0\" alt=\"".$entries['icq']."\" /></a>", $template_data);
            }

            echo "<div align=\"".$template['tablealign']."\">
            ".$template_data."
            </div>";
        }

        echo "<p align=\"".$template['tablealign']."\">";


        if ($page > 1) {
            $page_minus = $page-1;
            echo " <a href=\"".$url."/index.php?page=".$page_minus."";


            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/links.gif\" alt=\"".$ms[6]."\" border=\"0\" /></a>";
        }

        if ($page_start > 1) {
            echo " <a href=\"".$url."/index.php?page=1";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">1</a> ...";
        }

        for ($i = $page_start; $i <= $page_end ;$i++) {
            if ($i == $page) {
                echo "<b>".$i."</b>";
            } else {
                echo " <a href=\"".$url."/index.php?page=".$i."";

                if ($get_lang) {
                    echo "&lang=".$_GET['lang']."";
                }

                echo "\">".$i."</a> ";
            }
        }

        if ($page_end < $pages_total) {
            echo " ... <a href=\"".$url."/index.php?page=".$pages_total."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\">".$pages_total."</a>";
        }

        if ($page < $pages_total) {
            $page_plus = $page+1;
            echo " <a href=\"".$url."/index.php?page=".$page_plus."";

            if ($get_lang) {
                echo "&lang=".$_GET['lang']."";
            }

            echo "\"><img src=\"".$url."/images/rechts.gif\" alt=\"".$ms[18]."\" border=\"0\" /></a>";
        }

    echo '</p>';

    } else {
        echo "<b>".$ms[34]."</b>";
    }

    echo "</body>
    </html>";
?>
```

Im firefox wird das frame wie gewollt auf die größe des inhaltes angepasst. 
Der IE macht mir das iframe auf die Größe die ich angegeben habe, also 500px und zieht mir das Gästebuch auseinander.

Wäre echt dankbar wenn jemand den Fehler findet.

Danke,Olli


----------



## Html (29. Juli 2006)

Juhu,Juhu es klappt. Habe endlich den Fehler gefunden.

Der IE hat sich an folgender Zeile gestört: 
<?xml version=\"1.0\" encoding=\"".$encoding."\" ?>

Könnt ihr mir sagen, was das bedeutet und ob es schlimm ist wenn diese Zeile gelöscht wird.
Bisher sind mir dadurch noch keine negativen Dinge aufgefallen. Jetzt klappt auch endlich das Script. Ich bin so Happy.

// edit 1

Hallo, ich bins nochmal. Habe ja gehofft mich wegen diesem Thema nicht mehr hier melden zu müssen, nur leider habe ich gerade noch einen Fehler festgestellt.

Also nochmal zur erklärung: Habe eine seite gaestebuch.html in der das iframe liegt. In dieses iframe wird die seite index.php geladen und das iframe mit dem javascript genau auf die höhe des inhaltes angepasst. So jetzt befindet sich aber auf der index.php ein link der die seite insert.php im iframe öffnet. Nur leider bleibt dann die Größe des iframes erhalten. Aktuallisiert man jetzt die Seite über den Browser so passt sich das iframe jetzt auch an die größe der zweiten seite an. Habe aber ebenfalls den Funktionsaufruf auf der zweiten Seite.
Nur es klappt halt nicht nachdem die seite über den link geladen wurde sondern erst nach aktuallisierung.

Die Javascript-Konsole des Firefox bringt mir auf der zweiten seite den Fehler :
Fehler: 
window.frames[n].document.getElementsByTagName("body")[0] has no properties
Quelldatei: http://localhost/feuerwehr/gaestebuch/gaestebuch.html
Zeile: 73

Bitte helft mir da nochmal weiter, dann wäre ich der glücklichste Mensch auf der Welt wenn das endlich funktionieren würde.

mfg,Olli

// edit 2

Hallo zusammen...

Habe auf meiner Homepage ein Javascript eingebaut und bekomme in der Javascript-Konsole des Firefox folgenden Fehler:

window.frames[n].document.getElementsByTagName("body")[0] has no properties

Was bedeutet der Fehler?


mfg, Olli


----------



## Gumbo (31. Juli 2006)

Probier mal das parent- oder top-Objekt statt dem window-Objekt als Ansatzpunkt.


----------



## Html (31. Juli 2006)

Danke für die Antwort, nur leider kann ich nicht viel damit anfangen...

Vielleicht kannst du dir ja mal den Thread anschauen, wo der Fehler etwas genauer beschrieben ist.

http://www.tutorials.de/forum/html/250660-iframe-nach-dem-inhalt-anpassen-mal-wieder.html

Wäre echt klasse, Olli


----------



## Gumbo (31. Juli 2006)

Ich habe die beiden Themen mal zusammengeführt.

Wie sieht denn überhaupt die Struktur des Dokuments aus?


----------



## Html (31. Juli 2006)

Sorry aber was meinst du mit Struktur... Etwa der Ordneraufbau? 

Also es liegen alle drei dateien gaestebuch.html, index.php und insert.php im selben ordner.
Von der gaestebuch.html wird dann im iframe die index.php geladen.Da funktioniert das Script auch noch. Von der index.php gehe ich dann über einen link auf der seite zur insert.php. Diese wird dann auch wieder im iframe geladen, nur dort funktioniert das script erst beim Aktuallisieren.

Hoffe so was in der Art hast du gemeint.


----------



## Gumbo (31. Juli 2006)

Wahrscheinlich ist es auch Sicherheitsgründen nicht möglich, auf das Dokument im Inline Frame oder aus dem Dokument im Inline Frame auf das Elterndokument zuzugreifen. Daher noch mals meine Eingangsfrage: Ist ein Inline Frame unumgänglich?


----------



## Html (31. Juli 2006)

1. Das kann ja irgendwie nicht sein. Das Script funktioniert ja auch richtig. Nur wenn die zweite seite ins iframe geladen wird muss die ganze seite neu geladen werden und dann funktioniert es auch dort. 

2. Eigentlich würde ich es schon gerne mit einem iframe machen. Denn so kann ich das ganze Gästebuch schön in mein Design einpassen. Mit include habe ich es auch schon probiert nur da klappen die links nicht mehr.

Gibt es da keine Möglichkeit, das man das script zum laufen bringt. Das muss doch irgendwie mit dem Zugriff auf die zweite Seite zu tun haben. Das das script diese beim ersten mal nicht findet oder so?

// edit

Habe jetzt glaube den Fehler gefunden.

Es liegt wohl an der zeile:

 echo "<body background=\"".$template['bgimage']."\"  onload=\"NewWindow\" onload=\"parent.resize_me('test')\">

Und zwar liegt es wohl an den zwei onload Aufrufen. Lösche ich nämlich den Aufruf NewWindow funktioniert es. Wie lassen sich die beiden Aufrufe in einen onload schreiben?


----------



## deepthroat (31. Juli 2006)

Hi.

Anweisungen in Javascript werden mit einem Semikolon getrennt. Ich vermute mal du müßtest es so schreiben (NewWindow ist doch eine Funktion oder?):
	
	
	



```
<body onload="NewWindow(); parent.resize_me('test')>
```

Gruß


----------



## TreX2006 (2. August 2006)

Gumbo hat gesagt.:
			
		

> Wahrscheinlich ist es auch Sicherheitsgründen nicht möglich, auf das Dokument im Inline Frame oder aus dem Dokument im Inline Frame auf das Elterndokument zuzugreifen. Daher noch mals meine Eingangsfrage: Ist ein Inline Frame unumgänglich?



Du magst die iFrames nicht^^

Wieso ist es nicht möglich? Der Inhalt des Iframes wird vorgeladen und wenn es fertig geladen ist wird der iFrame in der Größe verändert... ich hoffe ich hab da nichts miss verstanden. Aber wenn es bei mir funktioniert, kann ich nicht verstehen wieso es unmöglich sein soll?


----------



## schipper (15. August 2006)

funktioniert das bei dir wirklich mit dem Firefox

Ich habe alles so eingebaut wie beschrieben. Mein Firefox (Vers. 1.5.0.6) ändert an der Höhe absolut nichts. Der IE machts. 
Wo kann der Fehler liegen? Kannst du mir vielleicht ein Beispiel im Netz nennen, wo es funktioniert?
Ich bin gerade ratlos...


----------



## TreX2006 (16. August 2006)

Also so hab ich das gemacht... steht zwar am Anfang bereits aber was solls. http://patchworx.pa.funpic.de/

Ist zwar über die Ferien eingefroren, aber du kannst deutlich den iFrame in der Mitte erkennen.


----------



## ruuucx (20. August 2006)

Hi, hab inzwischen den hier geposteten Script eingesetzt und es funktioniert solange Ich in der Indexdatei den Doctype in der ersten Zeile vom Header nicht angebe. Dies sollte man aber tun, da das Dokument sonst nicht W3C-valid ist. Habt ihr ne Lösung?


----------



## TreX2006 (21. August 2006)

hmm... W3C-valid oder nicht, solange du das nicht vorgeschrieben kriegst oder für sonstigen mist brauchst würde ich es weglassen.


> Möchte jetzt niemandem zu nahe tretten, aber den Mongos von dem w3c Konsortium würde ich ganz gerne mal in ihr Hinterteil tretten, besser gesagt die Stelle wo bei denen das Gehirn sitz. Ist ja noch schlimmer als die Rechtschreibreform.
> 
> Jetzt mal im ernst wo bleibt da die künstlerische Freiheit^^ wenn es einem bereits vorgeschrieben wird wie man aufs Töpfchen zu gehen hat.



Aber wie gesagt fals du nicht dazu gezwungen wirst vom Chef oder sonst wem würde ich es einfach weglassen.


----------

