Avatar billede minimadsens Nybegynder
06. november 2007 - 21:22 Der er 91 kommentarer og
1 løsning

Opdaterings script til tagwall (opdaterer uden eff på scrollbar)

Vil lave sådan at min tagwall opdaterer uden at det har nogen effekt på om man f.eks er scroolet ned på siden.
Nogen der har et script til dette?
Avatar billede minimadsens Nybegynder
07. november 2007 - 14:44 #1
Slet ingen forslag, eller idéer?
Avatar billede minimadsens Nybegynder
07. november 2007 - 19:00 #2
Er der virkelig ikke nogen som har lavet en tagwall eller gæstebog, hvor de har sat den til at opdaterer kun den tekst hvor den viser beskederne?
Avatar billede w13 Novice
07. november 2007 - 21:05 #3
Du kan gøre det dynamisk med Ajax (eller "hidden IFrame", hvis du synes bedre om det). Men det er dog et lidt større projekt.
Avatar billede minimadsens Nybegynder
07. november 2007 - 21:38 #4
Men er det ikke muligt at få den til at opdaterer en del af siden uden af det ændre på hvor langt "nede" ens scroolbar er?
Avatar billede w13 Novice
07. november 2007 - 21:41 #5
Jo, du kan opdatere dele af siden. Men kun med JavaScript. Og JavaScript kan jo desværre ikke hente noget fra din database løbende. Det kan kun sprog som ASP/PHP.

Dog kan man i JavaScript bruge det, der kaldes AJAX, til at hente data fra en ASP/PHP-side. Men Ajax er ikke helt lige til.

Alternativt kan du have et skjult IFrame, som henter data fra en anden side og overfører det til din tagwall.
Avatar billede minimadsens Nybegynder
07. november 2007 - 21:46 #6
kan du evt. komme med et eksempel på dette? :S

Lyder somom at det er besværligt bare at lave det, men jeg har fået en del klager over det.. :/
Avatar billede minimadsens Nybegynder
07. november 2007 - 21:47 #7
Ellers så kan jeg vel lave min tagwall i .asp så jeg kan lave det??

tagwallen er lavet i php..
Avatar billede w13 Novice
07. november 2007 - 21:51 #8
Det er lige meget, om det er i ASP eller PHP.

Som sagt kan det blive et større projekt, som kræver at vi ændrer, hvordan du henter fra databasen, og vi skulle både programmere PHP, JavaScript og HTML. Jeg kender dog ikke meget til PHP.

Et eksempel ville ikke give meget mening, da det ville være for omfattende. Det er ikke let at bruge ordentlig Ajax.
Avatar billede minimadsens Nybegynder
07. november 2007 - 21:53 #9
Kender du så evt. et link til en side hvor jeg kan lærer om dette?

For vil meget gerne kunne bruge det til forskellige ting som gæstebøger, og tagwalls og sådan.. også i fremtiden..
Avatar billede w13 Novice
07. november 2007 - 21:56 #10
Jeg kan godt prøve at hjælpe dig igennem det. Så gør vi det med IFrame, en oldschool metode, som virker, men som nogle synes er forkert, når man kan bruge Ajax. Det er dog de færreste, der kan finde ud af at lave ordentlig Ajax.

Har du et link til din tagwall? Ellers må du vise mig her, hvordan den skriver beskederne i HTML.
Avatar billede minimadsens Nybegynder
07. november 2007 - 23:54 #11
http://shax.dk/tagwall_skriv.php

Det er linket til tagwallen. :)

Sig til hvis jeg skal skrive det her i stedet. :)

Jeg er ligeglad med om det er en oldschool metode, hvis det bare virker. :D :D
Avatar billede w13 Novice
08. november 2007 - 00:05 #12
Lav et IFrame:

<iframe src="updatetagwall.php" style="display:none"></iframe>

Og i updatetagwall.php skriver du:
----------------------------------
<html>
<head>
<script type="text/javascript">
parent.document.getElementById("iframe_tagwall").contentWindow.document.getElementsByTagName("body")[0].innerHTML="Den/de beskeder, som du vil indsætte nederst i tagwall'en. Det skal så hentes fra din database, og kun de nyeste, der ikke allerede er hentet."
</script>
</head>
<body>
</body>
</html>
Avatar billede w13 Novice
08. november 2007 - 00:06 #13
Det sku' så være:
--------------------
<html>
<head>
<script type="text/javascript">
parent.document.getElementById("iframe_tagwall").contentWindow.document.getElementsByTagName("body")[0].innerHTML="Den/de beskeder, som du vil indsætte nederst i tagwall'en. Det skal så hentes fra din database, og kun de nyeste, der ikke allerede er hentet.";

setTimeout("window.location.reload(true)",20000);
</script>
</head>
<body>
</body>
</html>
Avatar billede minimadsens Nybegynder
08. november 2007 - 00:25 #14
Skal jeg så sætte det der iframe ind på min tagwall_skriv side(Det er siden hvor jeg har et iframe til tagwall_se.php som er der min tagwall bliver vist)??

Og hvad er det jeg skal sætte i innerHTML ? :S

Undskyld hvis jeg er besværlig. :)
Avatar billede w13 Novice
08. november 2007 - 00:43 #15
Nej, det ville faktisk nok være bedst, hvis du satte det på tagwall_se.php-siden, altså på siden, hvor beskederne vises. Og så skal koden være:
-------------------------------------------------------------
<html>
<head>
<script type="text/javascript">
parent.document.getElementsByTagName("body")[0].innerHTML+="Besked";

setTimeout("window.location.reload(true)",20000);
</script>
</head>
<body>
</body>
</html>
--------------------------------------------------------------
"Besked" skal så være den HTML-kode, som skal indsættes nederst på siden. I dit tilfælde skal din PHP-kode så indsætte (i stedet for "Besked") de nyeste beskeder som HTML, klar til at blive indsat nederst på siden. F.eks. kunne det være:
--------------------------------------------------------------
<html>
<head>
<script type="text/javascript">
parent.document.getElementsByTagName("body")[0].innerHTML+="<table><tr><td><b>Per:</b></td><td>Hejsa</td></tr></table>";

setTimeout("window.location.reload(true)",20000);
</script>
</head>
<body>
</body>
</html>
Avatar billede minimadsens Nybegynder
08. november 2007 - 11:17 #16
Okay. :)
Tester det lige når jeg kommer hjem. :)
Er i skole lige nu, og de tillader desværre ikke at vi uploader til ftp mapper. :/
Avatar billede minimadsens Nybegynder
08. november 2007 - 17:58 #17
Kan jeg ikke gøre så det ikke bliver sat ind nederst på min side? :D
Avatar billede w13 Novice
08. november 2007 - 23:14 #18
Hvor skal nye beskeder så sættes? :)
Avatar billede minimadsens Nybegynder
08. november 2007 - 23:37 #19
I toppen over de andre. :P

Skal jeg også sætte sql connection og alt sådan noget ind i [0].innerHTML+="" ??
Avatar billede w13 Novice
08. november 2007 - 23:40 #20
Så skal det være:
-----------------------------
<html>
<head>
<script type="text/javascript">
parent.document.getElementsByTagName("body")[0].innerHTML="<table><tr><td><b>Per:</b></td><td>Hejsa</td></tr></table>"+parent.document.getElementsByTagName("body")[0].innerHTML;

setTimeout("window.location.reload(true)",20000);
</script>
</head>
<body>
</body>
</html>
------------------------------
Og du kan sætte connection ind, hvor du vil. Men det ville nok være smart at samle alt PHP inden for én <?php ... ?>.
Avatar billede minimadsens Nybegynder
09. november 2007 - 16:36 #21
Ved ikke hvor meget du kender til php, da du skrev du ikke kender så meget til det, men burde dette ikke fungerer?

Kan ikke få det til at virke. :/

<?php
echo "<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'>";

$count = 1;
  $query = "SELECT besked, navn, tid, level FROM tagwall order by id DESC LIMIT 20";
  $result = mysql_query($query);
  while($r=mysql_fetch_array($result))
  {
$str = $r[besked];
$str = nl2br($str);

include("koder_tagwall.php");
$text = $str;

include("smiley.php");

$newphrase = str_replace($healthy, $yummy, $phrase);

    if($count == 1)
      {
          $color = '#DEE1E7';
            $count = 0;
        }
        else
        {
            $color = '#E7E7E7';
            $count = 1;
        }
echo "<tr>";
echo "<td width='130' id='tagwall_1' valign='top' style='background-color: ".$color.";'>";
echo "<span id='red'><a target='_blank' href='../brugerprofil.php?user=$r[navn]&page=1'><u>$r[navn]</u></a></span>";
echo "<br>";
echo "$r[tid]";
echo "<br>";
echo"$r[level]";
echo "</td>";
echo "<td width='252' valign='top' id='tagwall_2' style='background-color: ".$color.";'>";
echo "<p style='padding-left: 5'>";
echo strip_tags($newphrase, $koder); 
echo "</p></td></tr>";
  }
echo "</table></p>";
Avatar billede minimadsens Nybegynder
09. november 2007 - 16:41 #22
og så er der selvfølgelig ?> til sidst..

og det er inden for "innerHTML" jeg har skrevet det der.
Avatar billede w13 Novice
09. november 2007 - 17:00 #23
Det ser umiddelbart fint ud. Prøv at aflæse kildekoden, når den køres på nettet.
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:10 #24
prøver lige at se hvad den siger af fejl i MF. :D
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:29 #25
Den siger bare der er en fejl i scriptet.. :/

Men kan en linie være for lang? :/

for ser ud somom i kildekoden at den laver det hele på linie 4, (der hvor scriptet er, som indeholder filer fra mysql databasen)

Og hvis det er for meget, ser det ud somom den prøver at dele det op på en måde, så der kommer mere plads?
Avatar billede w13 Novice
09. november 2007 - 17:34 #26
Prøv at poste kildekoden her.
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:35 #27
Okay.. :)

Håber du kan se noget i den. :P

<html>
<head>
<script type="text/javascript">
parent.document.getElementsByTagName("body")[0].innerHTML="<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 17:02:31<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>ok <img src=../images/smiley/littlehappy_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 16:29:24<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'><img src=../images/smiley/interesseret_smiley.gif><br />
<br />
hehe. <img src=../images/smiley/interesseret_smiley.gif><br />
<br />
sidder og prøver at få den åndsvage tagwall til at virke. <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 16:26:05<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'><img src=../images/smiley/tears.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 16:23:42<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>gider jeg ikke tror jeg.. <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 16:16:09<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Foresten, vi skal se The Simpsons movie, i aften? <img src=../images/smiley/smiley_is_nothappy.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 16:15:56<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>Næææ <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 16:12:13<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Jo da.. XD</p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 16:11:21<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>christian, jeg spammer hvertfal ikke <img src=../images/smiley/littlehappy_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 16:03:11<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Nu har jeg overhalet alexander i tid. <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 16:02:03<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>Jesper.. du spammer tagwallen. <img src=../images/smiley/happy_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=NiceTwinky&page=1'><u>NiceTwinky</u></a></span><br>2007-11/09 16:02:01<br>Alm Bruger</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Og det skulle komme fra dig, Jesper.. <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 16:00:19<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>Skøreunger <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 15:59:59<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Ja Mads, det er helt klart derfor <img src=../images/smiley/happy_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 15:59:46<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>Log da bare af fordi jeg kommer på. <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 15:59:45<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Ses Marcoil :-)</p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span><br>2007-11/09 15:59:37<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>Hejsa folkens.. <img src=../images/smiley/interesseret_smiley.gif></p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Marcoil&page=1'><u>Marcoil</u></a></span><br>2007-11/09 15:58:28<br>Supporter</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>Lol ! <img src=../images/smiley/interesseret_smiley.gif><br />
<br />
- Og ses.. Skal på arbejde xD...</p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 15:51:47<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>xD</p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=NiceTwinky&page=1'><u>NiceTwinky</u></a></span><br>2007-11/09 15:48:31<br>Alm Bruger</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7;'><p style='padding-left: 5'>xD</p></td></tr><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #E7E7E7;'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Minimadsens&page=1'><u>Minimadsens</u></a></span><br>2007-11/09 15:47:27<br>Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #E7E7E7;'><p style='padding-left: 5'>e-bøh <img src=../images/smiley/happy_smiley.gif></p></td></tr></table></p>
"+parent.document.getElementsByTagName("body")[0].innerHTML;

setTimeout("window.location.reload(true)",20000);
</script>
</head>
<body style="background-color: #E7E7E7;">
</body>
</html>
Avatar billede supersquirrel Nybegynder
09. november 2007 - 17:38 #28
omg omg omg omg jesper xD
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:39 #29
(hans storebror (Madsens))
Avatar billede supersquirrel Nybegynder
09. november 2007 - 17:39 #30
Nå..
omg omg omg omg Christian xD
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:42 #31
Hvem er du? :P

Også lige meget.. :P

Jeg er lige ved at få hjælp her.. :D ikke forstyrer min koncentration. :P
Avatar billede supersquirrel Nybegynder
09. november 2007 - 17:45 #32
DanishBulldog her :P
U know, danishbulldog.dk :P

Forstyrrer dig ikke, vil nemlig også gerne selv vide det her :o)
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:47 #33
Jamen det er da godt. :D

Så hjælper han 2 nu, og ikke kun en. :D

Men nu for vi det lige til at virke hos mig ikke, og så kan jeg jo hjælpe dig. ;)
Avatar billede w13 Novice
09. november 2007 - 17:52 #34
Smid lige et link til siden med den kode, du lige postede.

I øvrigt skal du have <html></html>, <head></head> og <body></body> i din tagwall_se.php-kode. Ellers kommer min kode ikke til at fungere. Altså gør sådan her:

<html>
<head></head>
<body>

[din nuværende kode]

</body>
</html>
Avatar billede minimadsens Nybegynder
09. november 2007 - 17:54 #35
Her er linket med iframe i midten self. :)

http://shax.dk/tagwall_popup.php
Avatar billede w13 Novice
09. november 2007 - 17:57 #36
Ja, det er fordi du bruger linjeskift bl.a. rundt om "<br/>". Koden skal være i én linje. Ellers må du gøre det over flere omgange.
Avatar billede minimadsens Nybegynder
09. november 2007 - 18:03 #37
okay.. :P men det kan jeg vel også bare gøre.. :)

Altså i én linie. :D

jeg prøver lige. :)
Avatar billede minimadsens Nybegynder
09. november 2007 - 18:09 #38
Skal mit script så ikke bare lige noget ala det her?? :

<script type="text/javascript">
parent.document.getElementsByTagName("body")[0].innerHTML="<?php
echo "<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'>";

$count = 1;
  $query = "SELECT besked, navn, tid, level FROM tagwall order by id DESC LIMIT 20";
  $result = mysql_query($query);
  while($r=mysql_fetch_array($result))
  {
$str = $r[besked];
$str = nl2br($str);

include("koder_tagwall.php");
$text = $str;

include("smiley.php");

$newphrase = str_replace($healthy, $yummy, $phrase);

    if($count == 1)
      {
          $color = '#DEE1E7';
            $count = 0;
        }
        else
        {
            $color = '#E7E7E7';
            $count = 1;
        }
echo "<tr><td width='130' id='tagwall_1' valign='top' style='background-color: ".$color.";'><span id='red'><a target='_blank' href='../brugerprofil.php?user=$r[navn]&page=1'><u>$r[navn]</u></a></span><br />$r[tid]<br />$r[level]</td><td width='252' valign='top' id='tagwall_2' style='background-color: ".$color.";'><p style='padding-left: 5'>";
echo strip_tags($newphrase, $koder); 
echo "</p></td></tr>";
  }
echo "</table></p>";
?>

"+parent.document.getElementsByTagName("body")[0].innerHTML;

setTimeout("window.location.reload(true)",20000);
</script>
Avatar billede minimadsens Nybegynder
09. november 2007 - 18:10 #39
nej hov.. skal da lige lave det om til én linie. :P

prøver lige igen.. :D
Avatar billede minimadsens Nybegynder
09. november 2007 - 18:26 #40
Hvor ligger fejlen nu i scriptet? :S

Den skriver:
Parse error: syntax error, unexpected T_VARIABLE, expecting ',' or ';' in /customers/shax.dk/shax.dk/httpd.www/tagwall_popup_midt.php on line 9

Men man kan ikke tjekke i kildekoden hvad det er.. :/

Her er scriptet jeg har prøvet at lave om til én linie:

<script type="text/javascript">
parent.document.getElementsByTagName("body")[0].innerHTML="<?php
echo "<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'>"

$count = 1;
  $query = "SELECT besked, navn, tid, level FROM tagwall order by id DESC LIMIT 20";
  $result = mysql_query($query);
  while($r=mysql_fetch_array($result))
  {
$str = $r[besked];
$str = nl2br($str);

include("koder_tagwall.php");
$text = $str;

include("smiley.php");

$newphrase = str_replace($healthy, $yummy, $phrase);

    if($count == 1)
      {
          $color = '#DEE1E7';
            $count = 0;
        }
        else
        {
            $color = '#E7E7E7';
            $count = 1;
        }
."<tr><td width='130' id='tagwall_1' valign='top' style='background-color: $color'><span id='red'><a target='_blank' href='../brugerprofil.php?user=$r[navn]&page=1'><u>$r[navn]</u></a></span>\n$r[tid]\n$r[level]</td><td width='252' valign='top' id='tagwall_2' style='background-color: $color'><p style='padding-left: 5'>".strip_tags($newphrase, $koder)."</p></td></tr>"
  }
."</table></p>";
?>

"+parent.document.getElementsByTagName("body")[0].innerHTML;

setTimeout("window.location.reload(true)",20000);
</script>
Avatar billede w13 Novice
09. november 2007 - 18:58 #41
Nej, det er en PHP-fejl i linje 9, så derfor kan du ikke se kildekoden. Du kan kun gå ud fra den rigtige kode. Hvad er linje 9 i den rigtige kode? Den mener, at der mangler et "," eller et ";" i den linje nemlig.
Avatar billede minimadsens Nybegynder
09. november 2007 - 19:12 #42
Linie 9:

$count = 1;

kan da godt prøve at skrive:

$count = '1'; ??
Avatar billede w13 Novice
09. november 2007 - 19:25 #43
Nej, det skal være tal, dvs. uden '.

Nogle gange holder linje ikke helt. Det må være 2 linjer over, hvor du mangler at afslutte med ";" :)

echo "<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'>";
Avatar billede minimadsens Nybegynder
09. november 2007 - 20:03 #44
Det er jo med vilie jeg ikke har gjort det, sådan at alle mine "echo's" skulle være én lang linie.. :P

Kan man ikke det? :P

når næste echo starter med .""
Avatar billede w13 Novice
09. november 2007 - 22:21 #45
Jeg ved ikke helt, hvordan PHP fungerer :)
Avatar billede minimadsens Nybegynder
09. november 2007 - 22:25 #46
Nitte.. :S

Hva' gør jeg så.. :/

Er jeg så nødt til at indsætte et nyt opdaterings script, for hver eneste gang jeg har lavet en echo ""; eller sådan noget? :/
Avatar billede w13 Novice
09. november 2007 - 22:28 #47
Næh. Jeg går ud fra, du kan lave det, du er i gang med. Er det virke ";" som giver ny linje?
Avatar billede minimadsens Nybegynder
09. november 2007 - 22:33 #48
Det er ikke ; der giver ny linie.. men det "afslutter" linien..

Eks:

echo "Hej med dig";
echo "Du er sej";

Skulle vidst gerne printe:

Hej med dig
Du er sej

Hvorimod at:

echo "hej med dig"
echo ."du er sej";

gerne skulle printe:

hej med digdu er sej, hvis jeg har forstået det sådan nogen lunde..

Eller ihvertfald noget i den stil.. :P

Det er vidst ikke helt rigtigt, for de er vidst /n der laver linieskift.. :P
Avatar billede minimadsens Nybegynder
09. november 2007 - 22:38 #49
\n der laver linieskift**
Avatar billede w13 Novice
10. november 2007 - 03:13 #50
Ok, men så skal det vel være echo ."du er sej" der skal bruges eller hvad?
Avatar billede minimadsens Nybegynder
10. november 2007 - 17:33 #51
Hov..

Der skulle have stået:

echo "hej med dig"
."du er sej";

ved ikke hvorfor det ikke virker.. :/

Det burde det. :/
Avatar billede minimadsens Nybegynder
10. november 2007 - 17:56 #52
Nu har jeg gjort sådan at den laver en nyt script for hver gang den den skal vise en besked..

men det virker stadig ikke, men ser dog mere rigtig ud nu
Avatar billede minimadsens Nybegynder
10. november 2007 - 18:09 #53
Nu er den så kommet med en nye fejl hvor jeg har sidder og rodet lidt nu med det:
Linie: 90
Tegn: 1
Fejl: Der er syntaksfejl

Mit script ser nu sådan her ud:

<? include("include/session.php"); ?>
<? include("include/connection.php"); ?>
<html>
<head>
<?php
echo "<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'>";
$count = 1;

  $query = "SELECT besked, navn, tid, level FROM tagwall order by id DESC LIMIT 20";
  $result = mysql_query($query);
  while($r=mysql_fetch_array($result)){
$str = $r[besked];
$str = nl2br($str);

include("koder_tagwall.php");
$text = $str;

include("smiley.php");

$newphrase = str_replace($healthy, $yummy, $phrase);

if($count == 1){
    $color = '#DEE1E7';
    $count = 0;
              }
else{
    $color = '#E7E7E7';
    $count = 1;
    }
?>
<script type='text/javascript'>
parent.document.getElementsByTagName("body")[0].innerHTML="<?php echo "<tr><td width='130' id='tagwall_1' valign='top' style='background-color: $color'><span id='red'><a target='_blank' href='../brugerprofil.php?user=$r[navn]&page=1'><u>$r[navn];</u></a></span>$r[tid]$r[level]</td><td width='252' valign='top' id='tagwall_2' style='background-color: $color'><p style='padding-left: 5'>".strip_tags($newphrase, $koder)."</p></td></tr>";?>"+parent.document.getElementsByTagName("body")[0].innerHTML;
<?php echo "</table></p>";?>
setTimeout("window.location.reload(true)",20000);
</script>
<?php
}
?>
</head>
<body style="background-color: #E7E7E7;">
</body>
</html>

Nogle der kan se fejlen?
Avatar billede minimadsens Nybegynder
10. november 2007 - 18:34 #54
hov.. fandt ud af at jeg havde skrevet:
<script type='text/javascript'>
i stedet for
<script type="text/javascript">

Nu har jeg rettet det, men nu siger den at fejlen er:
</script>

??
(Stadig samme kode som herover)
Avatar billede minimadsens Nybegynder
10. november 2007 - 18:37 #55
haha.. jeg fandt en fejl til, efter at have kigget en smule mere.

Jeg havde sluttet min tabel.. altså </table>, før jeg havde lukket min connection til databasen, og det skulle være efter..

Men prøv at se hvad den siger til siden nu...

http://shax.dk/tagwall_popup_midt.php
(Det er iframet)
http://shax.dk/tagwall_popup.php
(Det er siden hvor iframet er)
Avatar billede minimadsens Nybegynder
10. november 2007 - 18:52 #56
Det er vel ikke meningen at den skal blive ved med at "printe" det? :P
Avatar billede w13 Novice
11. november 2007 - 16:02 #57
Det er vel også fordi <?php echo "</table></p>";?> står uden for det, der bliver skrevet i innerHTML. =) Det skal ind i string'en i linjen ovenover. Ser lige på dine links.
Avatar billede minimadsens Nybegynder
11. november 2007 - 17:39 #58
Jeg kan ikke finde ud af hvad fejlen er.. :/

Hvordan for jeg teksten der bliver uploadet til at blive i mit iframe, og hvordan gør jeg så den ikke bliver ved med at skrive det øverste i tagwallen som den gør?
Avatar billede w13 Novice
11. november 2007 - 17:51 #59
Vi skal vel først lige ha' rettet JavaScript-fejlen for at vi kan rette nogen andre fejl.

Følgende:
<?php echo "</table></p>";?>
står forkert. Det står jo midt i JavaScript-koden, men uden at blive skrevet ind i tekststrengen fra linjen ovenover. Det skal med i det der innerHTML-noget.
Avatar billede minimadsens Nybegynder
11. november 2007 - 17:52 #60
Jeg har taget det med, og det virket stadig ikke?

Prøv at se det nu?
Avatar billede w13 Novice
11. november 2007 - 20:46 #61
tagwall_popup_midt.php skal kun bruge:
  setTimeout("window.location.reload(true)",20000);
én gang, så du kan altså bare skrive det nederst.

Og du mangler <html>...</html> rundt om hele din kode på tagwall_popup.php. Uden det er det ikke gyldigt HTML, og ugyldigt HTML kan ikke arbejde sammen med gyldigt JavaScript.
Avatar billede minimadsens Nybegynder
11. november 2007 - 23:18 #62
har rettet de 2 ting, men den laver stadig samme problem med at printe dem det forkerte sted, plus at den bliver ved med at printe dem..

skal nok huske det med gyldig, og ugylding HTML. ;)
Avatar billede w13 Novice
11. november 2007 - 23:25 #63
Ja, der er nogle fejl endnu, men vi ta'r dem én af gangen, ellers bliver det bare ikke til at holde styr på.

Jeg ser lige på siden.
Avatar billede minimadsens Nybegynder
11. november 2007 - 23:27 #64
Okay.. :)

Helt fint med mig.. Men jeg ligger i min seng og ligger bare og stirre på min kode, så sover nok lige om lidt, men jeg skal nok rette mine filer lige så snart jeg ser dine inlæg. :)
Avatar billede w13 Novice
11. november 2007 - 23:28 #65
Der er stadig javascript-fejl, fordi der stadig er linjeskift:

parent.document.getElementsByTagName("body")[0].innerHTML="<p style='padding-left: 5'><table border='0' cellpadding='0' cellspacing='0' width='100%'><tr><td width='130' id='tagwall_1' valign='top' style='background-color: #DEE1E7'><span id='red'><a target='_blank' href='../brugerprofil.php?user=Madsens&page=1'><u>Madsens</u></a></span>2007-11/11 23:23:27Admin</td><td width='252' valign='top' id='tagwall_2' style='background-color: #DEE1E7'><p style='padding-left: 5'>Det er småting det sidste der..<br />
<br />
Det gør det bare lettere at tjekke om man har fået en ansøgning.</p></td></tr></table></p>"+parent.document.getElementsByTagName("body")[0].innerHTML;
</script>

Jeg har slået "Vis meddelelse om hver scriptfejl" til, så jeg får en milliard beskeder i hovedet, når jeg prøver at se din side.
Avatar billede minimadsens Nybegynder
11. november 2007 - 23:31 #66
men de linieskift der er jo dem der er blevet hentet fra databasen af?

Det kan jeg jo ikke ændre? :/

Medmindre jeg gør så den ikke selv skifter linie, når man trykker enter, og så skal folk til at bruge <br>

Men så alligevel.. det gør ikke så meget.. de kan bare lade være med at skifte linie.
Hvis jeg nu fjerner koden til automatisk linieskift, så er jeg altså et skridt videre ikke? :)
Avatar billede w13 Novice
11. november 2007 - 23:35 #67
Du kan replace (hvordan man nu gør det i php) linjeskift, når du udskriver koden. Tror det er noget i stil med:

ereg_replace( "\n", "", "teksten");
Avatar billede w13 Novice
11. november 2007 - 23:38 #68
Udover det har du placeret IFramet lidt forkert. Det skal fungere sådan her:

Hovedsiden: Indeholder et IFrame, der viser tagwall'en.

Tagwall-siden: Viser beskeder. Indeholder nederst i koden et skjult IFrame, der viser den side, hvor innerHTML-koden kører.

innerHTML-iframet: Går ud på parentframe-siden (dvs. Tagwall-siden) og indsætter nye beskeder.

Men fordi du har lavet det anderledes, går innerHTML-iframet ud på hovedsiden og indsætter beskederne. Forstår du?
Avatar billede minimadsens Nybegynder
11. november 2007 - 23:38 #69
har allerede replace på siden til smileys.

Men hvad skal jeg replace \n med?

<br \>??
Avatar billede minimadsens Nybegynder
11. november 2007 - 23:42 #70
jah..

Forstår det godt. :)

så det jeg gør er at lave endnu en side som jeg har stortset helt tom, som er til at min innerHTML kan smække mine beskeder op på ikke, og så viser jeg den side i iframet på hovedsiden?

Men jeg smutter i seng nu.. skal nok lave det i morgen. :) Er alt for træt nu.. :/
Avatar billede w13 Novice
11. november 2007 - 23:53 #71
Jo, det er helt korrekt.

Nej du skal ikke replace \n med <br\>, for jeg kan se, at du allerede har indsat <br\> ved linjeskift, når du gemmer i databasen. Desværre er der bare stadig linjeskift over og under <br\> i koden. Så erstat blot "\n" med "" (ingenting).
Avatar billede minimadsens Nybegynder
12. november 2007 - 09:39 #72
Kan godt erstatte \n med "", men troede at det min kode allerede gjorde i forvejen var at erstatte \n med "<br>".. Men jeg skal så bare sætte den til at erstatte det så der hverken er <br> eller \n..

Fint nok. :)

Gør jeg lige når jeg kommer hjem, og kan uploade til FTP serveren.
Avatar billede w13 Novice
12. november 2007 - 14:35 #73
Jeg tror godt, der må være <br>, som der er nu. Problemet er bare, at der i koden er linjeskift omkring <br> sådan her:

kode
<br>
kode

som så sku' være:

kode<br>kode
Avatar billede minimadsens Nybegynder
12. november 2007 - 18:30 #74
okay..

Så skal jeg bare kunne fjerne \n... :)

Er igang med at lave det. :)
Avatar billede minimadsens Nybegynder
12. november 2007 - 18:53 #75
Ved ikke hvad du kender til replace, men burde dette ikke virke at bruge? :

$str = str_replace("\n", "", $str);

Jeg har redigeret lidt på www.shax.dk/tagwall_popup.php , så det ser lidt bedere ud nu. :)
Avatar billede minimadsens Nybegynder
12. november 2007 - 19:11 #76
Jeg har gjort sådan at den bytter \n ud med testtesttest, bare for at teste (sjovt nok)

der kommer dette resultalt ud af det:

<br />
testtesttest<br />
testtesttest

hvis det var \n der lavede linieskiftet, burde der så ikke stå noget i retningen af:

<br />testtesttest
<br />testtesttest

Eller sådan noget??

Du har vel ikke flere forslag til hvad jeg kan ændre, nu hvor jeg har ændret de ting du skrev? :)

Forresten. hvordan sætter man den på så den viser alle de fejl der er på hjemmesiden?
Noget du gør i IE? Så kan jeg måske selv rode lidt med det, hvis jeg kan se de fejl?
Avatar billede w13 Novice
12. november 2007 - 19:18 #77
Jo, det ser fint ud.

Som jeg ser det er problemerne lige nu:

1) Den opdaterer alt for ofte.
2) Den skriver den samme besked hver gang. Det må du løse med noget Session der gemmer dato hver gang du henter fra databasen. Og så skal databasekaldet selvfølgelig kun finde poster, der er nyere end sidst gemte Session-dato.
Avatar billede w13 Novice
12. november 2007 - 19:21 #78
Ja, du kan ændre "Vis meddelelse om hver scriptfejl" i indstillinger.
Avatar billede minimadsens Nybegynder
12. november 2007 - 19:58 #79
Ved ikke hvorfor den opdaterer alt for ofte??

det burde den da ikke med dette script vel? :
setTimeout("window.location.reload(true)",20000);
??

Du skulle vel ikke tilfældigvis kunne lave et eksempel på dette med session, hvis du ved hvordan man gør? :P
Avatar billede minimadsens Nybegynder
12. november 2007 - 20:20 #80
Eller skal jeg evt. oprette et nyt spørgsmål til hjælp til det med sessions? :)
Avatar billede w13 Novice
12. november 2007 - 21:33 #81
Prøv at sætte 20000 op til 2000000 og se, om det gør en forskel. Sku' det jo meget gerne gøre.

Det lader til, man ikke altid kan regne med det tal. Ellers så prøv et mindre tal. Eksperimentér lidt.

Nej, Sessions i PHP er ikke lige mit felt.
Har du arbejdet med dem før?

Når du har hentet beskeder fra databasen, skal du bare sætte:
Session("chatdate")=now()
^Sådan ville jeg gøre i ASP, men det er jo anderledes i PHP.

Og når du så henter beskederne fra databasen, skal der i din SQL stå:
WHERE dato>'"&Session("chatdate")&"'
Avatar billede minimadsens Nybegynder
13. november 2007 - 10:07 #82
Jeg prøver at oprette en ny tråd så, hvor jeg for hjælp til det i php. :)

Ok.. prøver at ekserimenterer når jeg kommer hjem. :)
Avatar billede minimadsens Nybegynder
16. november 2007 - 16:03 #83
Det virker ikke det der opdaterings script.. Det gør ingen forskel hvor mange nuller der er på.. :/
Avatar billede w13 Novice
16. november 2007 - 16:15 #84
Hvad hvis der bare står 100?

Ellers så prøv med setInterval i stedet for setTimeout
Avatar billede minimadsens Nybegynder
16. november 2007 - 16:20 #85
Det laver ikke nogle ændring at ændre på tallet..

Men med setInterval, så loader den hurtigere end med setTimeout...

altså..

Det er ligegyldigt om jeg skriver:
setInterval("window.location.reload(true)",2);
eller
setInterval("window.location.reload(true)",200000000);
Avatar billede w13 Novice
16. november 2007 - 16:26 #86
Hmm.. Havde selv det problem engang. Kan ikke huske, hvad jeg kom frem til.

Prøv med:

var sTimeout=window.setTimeout("window.location.reload(true)",4000);
Avatar billede minimadsens Nybegynder
16. november 2007 - 16:29 #87
Det løser desværre intet. :/

Det er sq da irriterende. :/
Avatar billede w13 Novice
16. november 2007 - 16:42 #88
Så må vi vel bare genindlæse siden med en god gammeldags:
<meta http-equiv="refresh" content="10">
Avatar billede minimadsens Nybegynder
16. november 2007 - 16:51 #89
haha. :P

Ved du hvad. :D :D

Hvis jeg fjerner opdaterings scriptet helt fra siden, så opdaterer den alligevel hele tiden.. XD

Den bliver ved med at printe det samme. Så laver lige først sådan at den tjekker om det er det samme den printer..

Er ved at få hjælp til det i et andet spg.
Avatar billede w13 Novice
17. november 2007 - 17:26 #90
Ok :)
Avatar billede w13 Novice
29. juli 2008 - 09:36 #91
Kommet videre?
Avatar billede minimadsens Nybegynder
18. oktober 2013 - 09:27 #92
Rydder op på profilen. Tusinde tak for alt hjælpen. Hvis du mener at jeg skylder dig nogle point skal du bare sige til, så finder vi ud af det.
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