Avatar billede angelenglen Nybegynder
13. marts 2003 - 22:58 Der er 21 kommentarer og
2 løsninger

html fra variabel ind i iFrame

jeg har en iFrame (ved navn ifr) og jeg har noget html-kode gemt i en variabel i min database.

Jeg vil gerne have den html-kode ind i iFramen.

Hvordan? -normalt fylder jeg jo indhold i framen via src=yadayada.htm -men det kan jeg jo ikke nu...
Avatar billede schaefner Juniormester
13. marts 2003 - 22:59 #1
Avatar billede basicq Nybegynder
13. marts 2003 - 23:04 #2
Du kan jo udskrive dit indhold i et dokument (src=yadayada.php) og sætte det i din iframe.
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:07 #3
her er et eksempel på den kode der kunne være i databasen:


<BODY><P><STRONG>asdasdkjaslkdasd</STRONG></P>
<P><STRONG>as</STRONG></P>
<P><STRONG>da</STRONG></P>
<P><STRONG>sd</STRONG></P>
<P><STRONG><FONT color=#666699>as</FONT></STRONG></P>
<P><FONT color=#666699>dasdasdas</FONT></P>
<P>das</P>
<P>dasdasdasDASAS<BR>asdasdasdas<BR>asdasdasdasdas</P></BODY>


-når jeg echo'er det, kommer det hele IKKE på én linie, men på flere forskellige linier.

-dermed kan jeg ikke benytte schaefner-metoden :(

og basicq, jeg havde overvejet det, men er bange for det ville tage alt for lang tid at udføre hver gang jeg skulle benytte den funktion, derudover er jeg heller ikke sikker på hvordan jeg gør, men det ligner lidt en molbo-løsning
Avatar billede basicq Nybegynder
13. marts 2003 - 23:07 #4
Du kan måske gøre sådan.
//yadayada.php side
<?php
echo $dinvariabel;
?>

//dinhtmlside.html
<iframe src=yadayada.php></iframe>
Avatar billede basicq Nybegynder
13. marts 2003 - 23:08 #5
fjern <P></P> taget
Avatar billede schaefner Juniormester
13. marts 2003 - 23:10 #6
Du burde kunne køre en trim() på dit output før du sender det.
http://www.php.net/manual/en/function.trim.php
Avatar billede basicq Nybegynder
13. marts 2003 - 23:10 #7
Jamen det er jo sådan man bruger iframe. :-)
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:11 #8
jeg har aldrig været vild med iFrames, men det er vist eneste løsning hvis man vil have en wysiwyg editor...
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:15 #9
function load() {
document.ifr.document.body.outerHTML = "<?
$beskrivelse = stripslashes($list->beskrivelse);
$beskrivelse = nl2br($beskrivelse);
$beskrivelse = trim($beskrivelse);
echo $beskrivelse; ?>";
}

det virker ikke :(

den outputter dether i kildekoden:
function load() {
document.ifr.document.body.outerHTML = "<br />
<BODY><P><STRONG>asdasdkjaslkdasd</STRONG></P><br />
<P><STRONG>as</STRONG></P><br />
<P><STRONG>da</STRONG></P><br />
<P><STRONG>sd</STRONG></P><br />
<P><STRONG><FONT color=#666699>as</FONT></STRONG></P><br />
<P><FONT color=#666699>dasdasdas</FONT></P><br />
<P>das</P><br />
<P>dasdasdasDASAS<BR>asdasdasdas<BR>asdasdasdasdas</P></BODY>";
}
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:19 #10
basicq: HTML'en er forresten genereret af wysiwyg editoren, så derfor har jeg ingen kontrol over at fjerne <p></p>'en.
Avatar billede schaefner Juniormester
13. marts 2003 - 23:20 #11
Prøv det her:

<?
$beskrivelse = stripslashes($list->beskrivelse);
$beskrivelse = nl2br($beskrivelse);
$beskrivelse = trim($beskrivelse);
?>
<html>
<head>
<script type="text/javascript">
function load() {
parent.ifr1.tekstfelt.document.body.innerHTML = "<?php echo "$beskrivelse"; ?>";
}
</script>
</head>

<body onload="load();">

<iframe name="ifr" src="siden.html"></iframe>

</body>
</html>

=================

Siden der skal vise html'en:

<html>
<head></head>

<body>

<div id="tekstfelt">Tekst kommer her</div>

</body>
</html>
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:36 #12
<?
include("connectdb.php");
$id = $_GET['id'];
$select="SELECT * FROM database_content WHERE id='5'";
$query = @mysql_query($select);
while ($list = @mysql_fetch_object($query)) {

$beskrivelse = nl2br($list->beskrivelse);
$beskrivelse = stripslashes($beskrivelse);
$beskrivelse = trim($beskrivelse);
}
?>
<html>
<head>
<script type="text/javascript">
function loader() {
parent.ifr.tekstfelt.document.body.innerHTML = "<?php echo "$beskrivelse"; ?>";
}
</script>
</head>

<body onload="loader();">

<iframe name="ifr" src="content.htm"></iframe>

</body>
</html>


--------------

får bare:
Linje: 18
tegn: 1
Fejl: Et objekt var ventet
Kode: 0
URL: test.php
Avatar billede schaefner Juniormester
13. marts 2003 - 23:40 #13
Prøv det her:

<?
include("connectdb.php");
$id = $_GET['id'];
$query = mysql_query("SELECT * FROM database_content WHERE id='5'") or die(mysql_error());
while ($list = mysql_fetch_array($query)) {
    $beskrivelse = stripslashes($beskrivelse);
    $beskrivelse = nl2br($list[beskrivelse]);
    $beskrivelse = trim($beskrivelse);
}
?>
<html>
<head>
<script type="text/javascript">
function loader() {
    parent.ifr.tekstfelt.document.body.innerHTML = "<?php echo "$beskrivelse"; ?>";
}
</script>
</head>

<body onload="loader();">

<iframe name="ifr" src="content.htm"></iframe>

</body>
</html>
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:55 #14
samme fejl:(

outputter det her:

<html>
<head>
<script type="text/javascript">
function loader() {
    parent.ifr.tekstfelt.document.body.innerHTML = "<br />
<BODY><P><STRONG>asdasdkjaslkdasd</STRONG></P><br />
<P><STRONG>as</STRONG></P><br />
<P><STRONG>da</STRONG></P><br />
<P><STRONG>sd</STRONG></P><br />
<P><STRONG><FONT color=#666699>as</FONT></STRONG></P><br />
<P><FONT color=#666699>dasdasdas</FONT></P><br />
<P>das</P><br />
<P>dasdasdasDASAS<BR>asdasdasdas<BR>asdasdasdasdas</P></BODY>";
}
</script>
</head>

<body onload="loader();">

<iframe name="ifr" src="content.htm"></iframe>

</body>
</html>
Avatar billede angelenglen Nybegynder
13. marts 2003 - 23:59 #15
-----------
content.html
-----------

<html>
<head></head>

<body>

<div id="tekstfelt">Tekst kommer her</div>

</body>
</html>
Avatar billede schaefner Juniormester
14. marts 2003 - 00:00 #16
Jeg ved sku ikke lige hvordan de linjeskift de lige fjernes. Jeg vender forhåbentlig tilbage med en løsning :)
Avatar billede angelenglen Nybegynder
14. marts 2003 - 00:01 #17
okay, jeg er også rimeligt lost her :(
Avatar billede basicq Nybegynder
14. marts 2003 - 07:43 #18
Hvad med str_replace("","","");
Avatar billede angelenglen Nybegynder
14. marts 2003 - 10:05 #19
faktisk basicq, din idé med at lave en fil som udelukkende echo'er hvad jeg vil have i min iFrame ser ud til at være en ok idé.
eneste problem er at den fordobler alle mine linieskift...
Avatar billede basicq Nybegynder
14. marts 2003 - 13:26 #20
while ($list = mysql_fetch_array($query)) {
    $string = str_replace("<P>","","$beskrivelse");
    $output = str_replace("<\P>","","$string");
}
Avatar billede basicq Nybegynder
14. marts 2003 - 13:31 #21
Måsek den skal se sådan ud.

$string = str_replace("<P>","","[$beskrivelse]");
Avatar billede angelenglen Nybegynder
14. marts 2003 - 14:19 #22
basiq: svar for points.
Schaefner, du kan få halvdelen, for der var dele af din kode jeg kan bruge til noget andet.
Avatar billede basicq Nybegynder
14. marts 2003 - 15:58 #23
Velbekomme :-) Takker.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester