Wo ist der Fehler ?

Fragen zu allen Themen rund ums Programmieren außerhalb von phpBB können hier gestellt werden - auch zu anderen Programmiersprachen oder Software wie Webservern und Editoren.
mahou
Mitglied
Beiträge: 100
Registriert: 20.06.2002 17:40
Wohnort: Berlin
Kontaktdaten:

Wo ist der Fehler ?

Beitrag von mahou »

Kann mir bitte mal jemand helfen der mehr Ahnung hat als ich ? Ich versuche einen Kalender einzubinden. Auf der Seite habe ich auch die letzten 10 Einträge im Forum sowie wer dort gerade online ist. Binde ich den Kalender oben ein, wo er auch hin soll ist danach alles weg, zu sehen hier http://www.tina-sommer.de/test.php

Hier das script:

Code: Alles auswählen

<?PHP
# EXTcalendar 2002 Kristof De Jaeger
# http://realize.be/swentel
# mini cal which you can include somewhere if wanted !
# a td with events in will link to 'day-view' in calendar

include('cal_config.inc.php');

$m = date("n");
$y = date("Y");
$d = date("j");

if (!isset($_GET['month'])) $month = ''; else $month = $_GET['month'];
if (!isset($_GET['year'])) $year = ''; else $year = $_GET['year'];

if (!$month) $month = $m;
if (!$year) $year = $y;

# previous month
$pm = $month;
if ($month == "1") $pm = "12"; else $pm--;

# previous year
$py = $year;
if ($pm == "12") $py--;

# next month
$nm = $month;
if ($month == "12") $nm = "1"; else $nm++;

# next year
$ny = $year;
if ($nm == 1) $ny++;

# get month we want to see + calculate first day
$askedmonth = $maand[$month];
$askedyear = $year;
$firstday = date ("w", mktime(12,0,0,$month,1,$year));
$firstday++;

# nr of days in askedmonth
$nr = date("t",mktime(12,0,0,$month,1,$year));

# header (with links)
echo "<table border=$mini_monthborder cellspacing=$mini_calcells cellpadding=$mini_calcellp width=$mini_tablewidth>\n";
echo "<tr bgcolor=$mini_trtopcolor>";
echo "<td align=center colspan=7 height=$mini_tdtopheight>";

echo "<a href=cal_mini.inc.php?month=".$pm."&year=".$py.">";
echo "<img src=$mini_arrowleft border=0 alt=\"$maand[$pm] $py\" title=\"$maand[$pm] $py\"></a>";
echo "&nbsp;&nbsp;";
echo "<font size=$mini_calfontasked><b>".$askedmonth." ".$askedyear."</b></font>";
echo "&nbsp;&nbsp;";
echo "<a href=cal_mini.inc.php?month=".$nm."&year=".$ny.">";
echo "<img src=$mini_arrowright border=0 alt=\"$maand[$nm] $ny\" title=\"$maand[$nm] $ny\"></a>";
echo "</td>";
echo "</tr>\n";
echo "<tr>";

#  make the days of week, consisting of seven <td>'s (=days)
# check if first is sunday or monday ? move sunday to end of array if day_start = 1
if ($day_start == 1)
{
  $week[8] = $week[1];
  array_shift($week);
  $sunday_td = 7;
  # now let's move all keys one down :)
  for ($i=6,$a=7;$i>=0;$i--,$a--)
  {
    $week[$a] = $week[$i];
  }
  $firstday--;
} else $sunday_td = 1;

#  make the days of week, consisting of seven <td>'s (=days)
for ($i=1;$i<=7;$i++)
{
  echo "<td align=center width=$mini_tdwidth height=$mini_tddayheight ";
  if ($i == $sunday_td) echo "bgcolor=$mini_sundaytopclr><font size=$mini_weekdayfont><b>".substr($week[$i],0,1)."</b></font></td>"; # sunday
  else echo "bgcolor=$mini_weekdaytopclr><font size=$mini_weekdayfont><b>".substr($week[$i],0,1)."</b></font></td>"; # rest of week
}
echo "</tr>\n";

# begin the days
if ($firstday == 0 && $day_start == 1) $firstday = 7;
for ($i=1;$i<$firstday;$i++)
{
  echo "<td height=$mini_tdheight ";
  if ($i == "1") echo "bgcolor=$mini_sundayemptyclr "; # sunday empty td
  else echo "bgcolor=$mini_weekdayemptyclr ";
  echo ">&nbsp;</td>";
}

$a=0;

for ($i=1;$i<=$nr;$i++)
{
  # get eventual events on $i
  $query = "select id,title from events left join calendar_cat on events.cat=calendar_cat.cat_id where day='$i' ";
  $query .= "and month='$month' and year='$year' and approved='1' order by day,month,year ASC";
  $result = mysql_query($query);
  $rows = mysql_num_rows($result);

  $sun = $i;
  if ($day_start == 1) $sun++;

  echo "<td height=$mini_tdheight ";
  if ($rows)
  echo "bgcolor=$mini_weekday_eventclr ";
  elseif (($sun == (2-$firstday))||($sun == (9-$firstday)) or ($sun == (16-$firstday)) or ($sun == (23-$firstday)) or ($sun == (30-$firstday)) or ($sun == (37 - $firstday)))
  echo "bgcolor=$mini_sundayclr ";
  else  echo "bgcolor=$mini_weekdayclr ";
  echo " valign=middle align=center><font size=$mini_weekdayfont><b>";
  if ($mini_wayoflink == 1) 
  { 
    $style = "cal";
    $number = "";
  }
  if ($mini_wayoflink == 2)
  {
    $style = "flyer";
    $number = "#$i";
  }
  if ($rows) echo "<a href=calendar.php?op=$style&month=$month&year=$year$number>";
  echo $i;
  if ($rows) echo "</a>";
  echo "</b></font>";

  echo "</td>\n";
  # closing <tr> voor end of week
  $a++;
  if (($i == (8-$firstday)) or ($i == (15-$firstday)) or ($i == (22-$firstday)) or ($i == (29-$firstday)) or ($i == (36 - $firstday)))
  {
    echo "</tr>\n<tr>";
    $a = 0;
  }
}

# ending stuff (making 'white' td's to fill table
if ($a != 0)
{
  $last = 7-$a;
  for ($i=1;$i<=$last;$i++)
  {
    echo "<td bgcolor=$weekdayemptyclr>&nbsp;</td>";
  }
}
echo "</tr>\n";
echo "</table>\n";


?>
Ich denke das da was geändert werden muß, habe aber keine Ahnung was.

Danke
mahou
Seether
Mitglied
Beiträge: 1446
Registriert: 10.10.2002 23:42

Beitrag von Seether »

Und welchen Fehler meinst Du?


S.
mahou
Mitglied
Beiträge: 100
Registriert: 20.06.2002 17:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von mahou »

Na wie ich schon sagte, danach ist alles weg. EinStück weiter unten sollt die ausgabe des Forum sein (letzten 10 Beiträge und wer online ist), und das ist weg. Wenn ich den Kalender am Ende der Seite einbinde ist alles wieder da. Ich möchte ihn aber da oben haben.

mahou
mahou
Mitglied
Beiträge: 100
Registriert: 20.06.2002 17:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von mahou »

Hier noch mal, damit es vielleicht ein wenig verständlicher ist was ich meine, zwei Links dazu.

Unter www.tina-sommer.de/index2.html geht es, aber nur weil es unter der Anzeige der letzten Beiträge und Useronline im Forum ist. Unter www.tina-sommer.de/test.php ist es da wo ich es haben will, aber der Rest darunter ist weg. Ich weis mir nicht mehr zu helfen, dazu kann ich zu wenig php.

mahou
Benutzeravatar
Steffen
Mitglied
Beiträge: 42
Registriert: 22.12.2001 01:00
Wohnort: Jena
Kontaktdaten:

Beitrag von Steffen »

Schick' mal den Code für die Stelle an der die letzten 10 Beiträge ermittelt werden. Kann es sein, daß da relativ viele SELECT-Anfragen an die Datenbank gestellt werden (z.B. in einer Schleife).
Es kann sein, daß dann gar nicht's mehr geht. Das Problem hatte ich auch einmal. Dann kam es einfach dazu, daß der Datenstrom zum Browser einfach irgendwo abgebrochen ist. So auch bei dem Link www.tina-sommer.de/test.php. Wenn ich den Quelltext, der beim Browser angekommen ist anzeigen lasse, endet das so:

Code: Alles auswählen

<tr> 
 <td align="center" height="58" colspan="2"> 
  <ul>
   <li> 
    <div align="left"><font face="Arial, Helvetica, sans-serif" size="2">
     Die letzen Eintr&auml;ge im <a href="board/index.php" target="_self"><b>Forum</b></a>.</font>
     <br>
     Here we die
Da kommt kein </body>, </html> und kein gar nix mehr. Nichtmal die Tabelle wird geschlossen
mahou
Mitglied
Beiträge: 100
Registriert: 20.06.2002 17:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von mahou »

Weis nicht ob ich das jetzt richtig verstanden habe. Eingebunden werden die letzten 10 Beiträge ja per include. Hier ist der code.

Code: Alles auswählen

<?php
/////////////////////////////////////////////////////////// 
// MOD Name:  Last X Post 
// 
//  Authors: 
//       Retro  <unknown@unkown> 
//       Martin <phpbb@websnail.net> 
//       John B. Abela <abela@phpbb.com> 
//       Malkavian <nid@backstab.org> 
// 
/////////////////////////////////////////////////////////// 
// DESCRIPTION: 
//       This file will display the most recent X posts 
//       in any file on your server. You can either 
//       place this code in a seperate file and INCLUDE 
//       it, or place this code directly into an existing 
//       file. 
// 
/////////////////////////////////////////////////////////// 
// VERSION HISTORY: 
// 
//       17/02/2002 Malkavian 
//              Changed Sql statement to check vs the last_post_id 
//              from topic table  
//       12/26/2001 - John B. Abela - 
//             Inital Documentation And Formating 
//             Streamlined Code, 
//             CHANGED: 
//                 DISTINCT topic.topic_title, 
//             TO: 
//                 DISTINCT ptxt.post_subject 
//             as I felt it was a better method of displaying. 
// 
//       12/10/2001 - Martin - 
//             Substantial Upgrade Including 'Time-Zone' 
// 
//       12/08/2001 - Retro - 
//             Initial Release - Edited From phpBB1 MOD 
//             origianlly written by John B. Abela & Frank F. 
// 
/////////////////////////////////////////////////////////// 
// NOTES: 
//        
/////////////////////////////////////////////////////////// 
// SET PATHS 
/////////////////////////////////////////////////////////// 
// 
$ServerPath = "board/config.php";//- Note: No trailing forward slash 
$URLPath = "http://www.tina-sommer.de/board";  //- Note: No trailing forward slash ! 
// 
/////////////////////////////////////////////////////////// 
// MISC SETTINGS 
/////////////////////////////////////////////////////////// 
// 
$PostNumber = "10";  // How Many Posts To Display 
$timediff = 0;// Time difference between server and board time 
$FontFace = "Verdana, Arial";  //- Font Face 
$FontSize1 = "1";  //- Font Size 1 
$FontSize2 = "1";  //- Font Size 2 
$FontColor = "#000000";  //- Font Color 
$TableWidth = "90%";  //- Table Width 
$TableAlign = "CENTER";  //- Table Align 
// 
/////////////////////////////////////////////////////////// 
// CONNECT TO DB 
/////////////////////////////////////////////////////////// 
// 
include_once($ServerPath); 
$db = @mysql_connect($dbhost, $dbuser, $dbpasswd) or die("here we die at connection"); 
@mysql_select_db($dbname,$db) or die("here we die"); 
// 
/////////////////////////////////////////////////////////// 
// SQL STATEMENT 
/////////////////////////////////////////////////////////// 
// 
$sql = "SELECT DISTINCT ptxt.post_subject, topic.topic_title, ptxt.post_id, post.post_time 
FROM phpbb_posts_text AS ptxt, phpbb_posts AS post, phpbb_topics AS topic 
WHERE  topic.forum_id != 1 AND topic.forum_id!=24  AND post.post_id = ptxt.post_id AND post.topic_id = topic.topic_id AND post.post_id = topic.topic_last_post_id 
ORDER BY post.post_time DESC LIMIT $PostNumber"; 

/////////////////////////////////////////////////////////// 
// SETTING/VARIABLES/STUFF 
/////////////////////////////////////////////////////////// 
// 
if($r = mysql_query($sql, $db)) { 
echo '<TABLE CELLPADDING="0" CELLSPACING="0" BORDER="0" ALIGN="'.$TableAlign.'" WIDTH="'.$TableWidth.'">'; 
while($m = mysql_fetch_array($r)) { 
  $temp = $m[3]; 
    if ($timediff) { 
        $diffsecs = $timediff * 3600; 
        $temp += $diffsecs; 
    } 
$pd = getdate ($temp); 
    if ($m[1]) { 
        $j = stripslashes($m[1]); 
    } else { 
        $j = stripslashes($m[0]); 
    } 
$k = substr($j, 0, 30) . "..."; 
    if ($pd['minutes'] < 10) { 
        $pmins = "0".$pd['minutes']; 
    } else { 
        $pmins = $pd['minutes']; 
    } 
    if ($pd['hours'] < 10) { 
        $phours = "0".$pd['hours']; 
    } else { 
        $phours = $pd['hours']; 
    } 
  echo '<TR><TD align="left"><a href="'.$URLPath.'/viewtopic.php?p='.$m[2].'#'.$m[2].'">'.$k.'</a></TD>'; 
  echo '<TD align="left">('.$pd['hours'].':'.$pmins." ".$pd['mday']."-".substr($pd['month'],0,3).')</TD></TR>'; 
    } 
  echo "</TABLE>"; 
} 
?>
Außerdem geht der ja eigentlich wie man auf dem anderen Link sieht. Nur wenn ich den Kalender darüber einfügen will gehts nicht mehr.

Gruß
mahou
Benutzeravatar
Pyramide
Ehrenadmin
Beiträge: 12734
Registriert: 19.04.2001 02:00
Wohnort: Meschede

Beitrag von Pyramide »

Kommentier mal die beiden Zeilen für die Datenbankverbindugn aus (wo auch das "here we die" steht)
mahou
Mitglied
Beiträge: 100
Registriert: 20.06.2002 17:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von mahou »

?????????? Hülfe, nu haste mich erwischt........das versteh ich nicht.

mahou
Benutzeravatar
jasc
Ehemaliges Teammitglied
Beiträge: 2497
Registriert: 24.05.2001 02:00
Wohnort: Hergensweiler bei Lindau/B

Beitrag von jasc »

Ich schätze, er meint, du sollst einfach vor diese beiden Zeilen // schreiben, damit sie nicht abgearbeitet werden.
mahou
Mitglied
Beiträge: 100
Registriert: 20.06.2002 17:40
Wohnort: Berlin
Kontaktdaten:

Beitrag von mahou »

Achso, danke. Nun muß ich nur noch suchen wo ich das wohl finde.

mahou
Antworten

Zurück zu „Coding & Technik“