• Welcome to Simple Machines Community Forum. Please login or sign up.
December 08, 2021, 08:57:59 PM

News:

Bored?  Looking to kill some time?  Want to chat with other SMF users?  Join us in IRC chat or Discord


[gelöst]SSI - boardNews: fragen

Started by Badelehrling, September 09, 2006, 11:38:00 AM

Previous topic - Next topic

Badelehrling

September 09, 2006, 11:38:00 AM Last Edit: September 11, 2006, 01:58:36 PM by Badelehrling
Hallo,

(Wie) ist es möglich über <?php ssi_boardNews(); ?> die letzten 3 Themen aus Board ID: 48 auszugeben?
Ich habe es mit
<?php ssi_boardNews(3, array(1,2,3,4,5,6,8,9,10,11,12,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47)); ?> versucht.
Aber dann bekomme ich die Errormeldung:
Quote
Sie können kein Board angeben, was keine Gäste erlaubt. Bitte überprüfen Sie die Board ID bevor Sie es nochmal probieren.

Daraufhin habe ich dann die Funktion so geschrieben:
<?php ssi_boardNews(2, array(1,2)); ?>

Die Errormeldung blieb die selbe ???

Kann mir jemand helfen?

ディン1031

Ist dein Board für Gäste sichtbar?

Gruß
DIN1031
Support only via MOD Thread! NO PM Support!
My Forum: ayu][kult Forum
My Mods: My Small Mod Collection
My Parser: DIN1031's ModParser
Current Info: More away the next days, because i've to much work to do :x

Klozi

Hm kann nicht sein. Habe mir das Forum kurz mal angesehen, Gäste können eigentlich jedes Board aufrufen. Setz mal die Berechtigungen für Gäste zurück, vielleicht klappt es ja dann.

Badelehrling

Danke für die Antoworten!

Quote from: ディン1031 on September 09, 2006, 06:32:21 PM
Ist dein Board für Gäste sichtbar?

Klozi hat's zwar schon gesagt, aber ich bestätige es nochmal.
Ja, ausser 4 Foren, welche nur fürs Team sichtbar sind, können Gäste alles lesen, aber nichts schreiben.

Quote from: Klozi on September 10, 2006, 07:22:30 AM
Setz mal die Berechtigungen für Gäste zurück, vielleicht klappt es ja dann.

Wie genau meinst Du das ???
Ich habe mal AdminCP -> Forum Einstellungen -> Gästen das anschauen des Forums erlauben [Haken raus] -> Speichern -> Gästen das anschauen des Forums erlauben [Haken rein]
Meintest Du das so?

Übrigens könnt ihr euch hier die Fehlermeldung im Original anschauen...

Klozi

Hm, bei mir kann ich da keine Fehlermeldung sehen. Ich meinte eigentlich, die Mitgliederbereichtigungen für ungruppierte Mitglieder, auf standard zu setzen. Sonst versuch mal, den Gästen die gleichen Berechtigungen zu geben, welche die angemeldeten Mitglieder haben. Nur mal zum testen.

Ich kann dir noch empfehlen, ein Backup vom zu machen und ein Portal wie TinyPortal zu installieren, da sind oftmals News-Seiten enthalten.

Badelehrling

Quote from: Klozi on September 10, 2006, 07:52:36 AM
Hm, bei mir kann ich da keine Fehlermeldung sehen.

Öhm, im mittlerem Kasten, sollte stehen:
News
Sie können kein Board angeben, was keine Gäste erlaubt. Bitte überprüfen Sie die Board ID bevor Sie es nochmal probieren.[/i]

Quote from: Klozi on September 10, 2006, 07:52:36 AM
Ich meinte eigentlich, die Mitgliederbereichtigungen für ungruppierte Mitglieder, auf standard zu setzen.
Gemacht: Keine Änderung!

Quote from: Klozi on September 10, 2006, 07:52:36 AM
Sonst versuch mal, den Gästen die gleichen Berechtigungen zu geben, welche die angemeldeten Mitglieder haben. Nur mal zum testen.
Gemacht: Keine Änderung!

Quote from: Klozi on September 10, 2006, 07:52:36 AM
Ich kann dir noch empfehlen, ein Backup vom zu machen und ein Portal wie TinyPortal zu installieren, da sind oftmals News-Seiten enthalten.
TinyPortal ist aber (noch) nicht mir SMF 1.0.8 kompatibel. Sonst wäre es schon installiert ;)

Klozi

Dann wirst du wohl die BoardID falsch angegeben haben. Die SSI_Examples zeigen nämlich, dass es funktioniert:
http://barrikaden-gegen-rechts.beeven.de/Forum/ssi_examples.php

Badelehrling

Quote from: Klozi on September 10, 2006, 08:06:20 AM
Dann wirst du wohl die BoardID falsch angegeben haben. Die SSI_Examples zeigen nämlich, dass es funktioniert:
http://barrikaden-gegen-rechts.beeven.de/Forum/ssi_examples.php

Joa, aber wo liegt der Fehler??

In meinem 1. Beitrag hier steht, ja wie ich es geschrieben habe. Das müsste doch so klappen?!
Oder wie kann ich das anders/richtig umsetzen?

Vielen Dank für Deine ganzen Mühen ;)

Klozi

Du meinst aus BoardID 48 die neusten 3 Beiträge aufgelistet werden? Moment ich schau eben.

Badelehrling

Quote from: Klozi on September 10, 2006, 08:19:57 AM
Du meinst aus BoardID 48 die neusten 3 Beiträge aufgelistet werden? Moment ich schau eben.

Ja genau!
Vielen Dank!

Klozi

Versuch es mal mit folgenden Code:

<?php

require('SSI.php');
$board_news_1 ssi_boardNews(483nullnull$output_method 'echo');

?>

Badelehrling

Danke, ich habe eine gute Nachricht und eine schlechte.

Zuerst die gute:
Die Fehlermeldung ist weg.

Jetzt die schlechte:
Etwas anderes ist trotzdem nicht da :-\
Beweis

Woran kann das liegen?

Klozi

Okay, versuch es mal hiermit:


<?php 

require("/pfad/zum/Forum/SSI.php");



$board_news_1 ssi_boardNews(483nullnull$output_method 'array');


if(
is_array($board_news_1))
foreach($board_news_1 as $news) {
echo '


'
,'<h3>'$news['subject'], '</h3> <p>'$news['time'], ' '$txt[525], ' '$news['poster']['link'], '</p><br/><p>'$news['body'], '</p>
<br/><p>'
$news['link'], ' | '$news['new_comment'], '</p>';

if (!$news['is_last']) 
echo '

<br/>'

}

?>


Du musst dann nur noch den Pfad zur SSI.php angeben. Im Nachhinein kannst du die einzelnen Textformationen nach eigenen Wünschen (z.B: mit Styles) anpassen.

Badelehrling

Ich habe gerade die Datei News.php erstellt, welche hier zu finden ist: http://barrikaden-gegen-rechts.beeven.de/v6/News.php. Dort klappt alles problemlos, und exakt so wie ich es mir vorgestellt habe!

Als Pfad habe ich /srv/www/htdocs/web500/html/Forum/SSI.php benutzt...

Aber die Datei möchte sich nicht problemlos includieren lassen!
Unter diesem Link ( http://barrikaden-gegen-rechts.beeven.de/v6/index.php?Page=News ), wird die Datei News.php includiert. Aber es wird trotzdem kein Inhalt angezeigt. Wie kann das sein?

Ich habe dann mal die Datei index2.php erstellt, welche die Datei News.php nicht includiert, sondern wo der Inhalt von News.php direkt drin steht. Das Ergebnis gibts hier: http://barrikaden-gegen-rechts.beeven.de/v6/index2.php

Wie kann das sein?

mfg,
Badelehrling

Klozi

Seltsam. Normalerweise müsste dann eine Fehlermeldung erscheinen. Zeig mal den Code, wie du die Seite includest.

Badelehrling

Okay:

Die index.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php require("/srv/www/htdocs/web500/html/Forum/SSI.php"); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css"></head>

<body>
  <?php
  $gl 
"Kommentieren?";
  
?>

<div class="Header"><?php include('content/Header.php'); ?></div>
<div class="Hmenue"><b>Menü</b><br></div>
<div class="Hmenueinh"><?php include('content/Menue.php'); ?></div>
<div class="Online"><b>Zur Zeit Online</b></div>
<div class="Onlineinh"><?php ssi_whosOnline(); ?></div>
<div class="Diskussionsbrennpunkte"><b>Top-Themen</b></div>
<div class="Diskussionsbrennpunkteinh"><?php include('content/TopThemen.php'); ?></div>
<div class="Politiknews"><b>Politiknews</b></div>
<div class="Politiknewsinh"><br><?php ssi_news(); ?></div>
<div class="Menue"><?php ssi_menubar(); ?></div>

<div class="Content">
<?php
    
switch($_GET['Page']) {
        case 
"": include "News.php";
            break;
        case 
"News": include "content/News.php";
            break; 
        case 
"Newsarchiv": include "content/Newsarchiv.php";
            break; 
        case 
"Kontakt": include "content/Kontakt.php";
            break;
        case 
"Links": include "content/Links.php";
            break;
        case 
"Haftungsausschluss": include "content/Haftungsausschluss.php";
            break;

        case 
"Chat": include "content/Chat.php";
            break;

        case 
"Downloads": include "content/Downloads.php";
            break;
        case 
"Boardsuche": include "content/Boardsuche.php";
            break;

        case 
"Erfolg": include "content/Erfolg.php";
            break;
        case 
"Demonstrationen": include "content/Demonstrationen.php";
            break;
        case 
"Glossar":
   switch(
$_GET['Begriff']) {
      case 
"Antisemitismus": include "content/Glossar/Antisemitismus.php";
         break;
      case 
"Rassismus": include "content/Glossar/Rassismus.php";
         break;
      case 
"Radikalismus": include "content/Glossar/Radikalismus.php";
         break;
      case 
"Extremismus": include "content/Glossar/Extremismus.php";
         break;
      case 
"Patriotismus": include "content/Glossar/Patriotismus.php";
         break;
      case 
"Chauvinismus": include "content/Glossar/Chauvinismus.php";
         break;
      case 
"Diktaktur": include "content/Glossar/Diktaktur.php";
         break;
      case 
"Revolution": include "content/Glossar/Revolution.php";
         break;
      case 
"1./2./3.Reich": include "content/Glossar/1.2.3.Reich.php";
         break;
      case 
"Sexismus": include "content/Glossar/Sexismus.php";
         break;
      case 
"Evolution": include "content/Glossar/Evolution.php";
         break;
      case 
"Verfassung": include "content/Glossar/Verfassung.php";
         break;
      case 
"Nationalsozialismus": include "content/Glossar/Nationalsozialismus.php";
         break;
      case 
"Skinhead": include "content/Glossar/Skinhead.php";
         break;
      case 
"Bundeswehr": include "content/Glossar/Bundeswehr.php";
         break;
      case 
"Buergerrechte": include "content/Glossar/Buergerrechte.php";
         break;
      case 
"Menschenrechte": include "content/Glossar/Menschenrechte.php";
         break;
      case 
"Grundrechte": include "content/Glossar/Grundrechte.php";
         break;
      case 
"88": include "content/Glossar/88.php";
         break;
      case 
"Zecke": include "content/Glossar/Zecke.php";
         break;
      case 
"": default: include "content/Glossar.php";
         break;
   }
break; 
            break;
        case 
"Linkus": include "content/Linkus.php";
            break;
case 
"Artikel":
   switch(
$_GET['Artikel']) {
      case 
"001": include "content/Artikel/001.php";
         break;
      case 
"002": include "content/Artikel/002.php";
         break;
      case 
"003": include "content/Artikel/003.php";
         break;
      case 
"004": include "content/Artikel/004.php";
         break;
      case 
"005": include "content/Artikel/005.php";
         break;
      case 
"006": include "content/Artikel/006.php";
         break;
      case 
"007": include "content/Artikel/007.php";
         break;
      case 
"008": include "content/Artikel/008.php";
         break;
      case 
"009": include "content/Artikel/009.php";
         break;
      case 
"010": include "content/Artikel/010.php";
         break;
      case 
"011": include "content/Artikel/011.php";
         break;
      case 
"012": include "content/Artikel/012.php";
         break;
      case 
"013": include "content/Artikel/013.php";
         break;
      case 
"014": include "content/Artikel/014.php";
         break;
      case 
"015": include "content/Artikel/015.php";
         break;
      case 
"016": include "content/Artikel/016.php";
         break;
      case 
"017": include "content/Artikel/017.php";
         break;
      case 
"": default: include "content/Artikel.php";
         break;
   }
break; 
case "case": include "casemod.tdl";
            break;
    }
?>

</div>
</body>
</html>


Und die News.php
<?php 

require("/srv/www/htdocs/web500/html/Forum/SSI.php");



$board_news_1 ssi_boardNews(483nullnull$output_method 'array');


if(
is_array($board_news_1))
foreach($board_news_1 as $news) {
echo '


'
,'<h3>'$news['subject'], '</h3> <p>'$news['time'], ' '$txt[525], ' '$news['poster']['link'], '</p><br/><p>'$news['body'], '</p>
<br/><p>'
$news['link'], ' | '$news['new_comment'], '</p>';

if (!$news['is_last']) 
echo '

<br/>'

}

?>


Ich hoffe Du kannst damit was anfangen ;)

E/
Hier noch die index2.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php require("/srv/www/htdocs/web500/html/Forum/SSI.php"); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css"></head>

<body>
  <?php
  $gl 
"Kommentieren?";
  
?>

<div class="Header"><?php include('content/Header.php'); ?></div>
<div class="Hmenue"><b>Menü</b><br></div>
<div class="Hmenueinh">menue - entfernt</div>
<div class="Online"><b>Zur Zeit Online</b></div>
<div class="Onlineinh"><?php ssi_whosOnline(); ?></div>
<div class="Diskussionsbrennpunkte"><b>Top-Themen</b></div>
<div class="Diskussionsbrennpunkteinh"><?php include('content/TopThemen.php'); ?></div>
<div class="Politiknews"><b>Politiknews</b></div>
<div class="Politiknewsinh"><br><?php ssi_news(); ?></div>
<div class="Menue"><?php ssi_menubar(); ?></div>

<div class="Content">
<?php 

require("/srv/www/htdocs/web500/html/Forum/SSI.php");



$board_news_1 ssi_boardNews(483nullnull$output_method 'array');


if(
is_array($board_news_1))
foreach($board_news_1 as $news) {
echo '


'
,'<h3>'$news['subject'], '</h3> <p>'$news['time'], ' '$txt[525], ' '$news['poster']['link'], '</p><br/><p>'$news['body'], '</p>
<br/><p>'
$news['link'], ' | '$news['new_comment'], '</p>';

if (!$news['is_last']) 
echo '

<br/>'

}

?>

</div>
</body>
</html>

Klozi

Versuche mal, die Files direkt mit PHP einzubetten und sämtlichen HTML-Code mit echo darstellen zu lassen; also setze nur ganz unten am Schluss, wenn alles passt, das ?>.

Badelehrling

Quote from: Klozi on September 11, 2006, 11:44:34 AM
Versuche mal, die Files direkt mit PHP einzubetten und sämtlichen HTML-Code mit echo darstellen zu lassen; also setze nur ganz unten am Schluss, wenn alles passt, das ?>.

Vielen Dank für deine ganze Hilfe, aber das is mir viel zu hoch :'(
Ich bin PHP nen totaler Anfänger. Ich weiss nur, das es mit <?php beginnt und mit ?> aufhört. Alles dazwischen ist nur kopiert

Klozi

Verstehe. Dann räume den Code mal etwas auf, HTML Code setzt du in Echo, z.B. <?php echo '<p>hall&ouml;chen</p>'; include('hampelmann.php'); ?>

Wichtig ist nur, dass du HTML von PHP Code richtig trennst.

Badelehrling

Quote from: Klozi on September 11, 2006, 12:28:41 PM
HTML Code setzt du in Echo, z.B. <?php echo '<p>hall&ouml;chen</p>'; include('hampelmann.php'); ?>

Wichtig ist nur, dass du HTML von PHP Code richtig trennst.
Hmm heisst das entweder echo oder include?

Mit include hab ich das so gestrikt: Livedemo | Fehler bleibt der selbe...

Die Quelltexte:
index.php
<?php include('head.php');
      
$gl "Kommentieren?";
      include(
'menu.php');
require(
"/srv/www/htdocs/web500/html/Forum/SSI.php");



$board_news_1 ssi_boardNews(483nullnull$output_method 'array');


if(
is_array($board_news_1))
foreach($board_news_1 as $news) {
echo '


'
,'<h3>'$news['subject'], '</h3> <p>'$news['time'], ' '$txt[525], ' '$news['poster']['link'], '</p><br/><p>'$news['body'], '</p>
<br/><p>'
$news['link'], ' | '$news['new_comment'], '</p>';

if (!$news['is_last']) 
echo '

<br/>'

}


      include(
'schluss.php');
?>


head.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php require("/srv/www/htdocs/web500/html/Forum/SSI.php"); ?>
<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css"></head>

<body>


menu.php

<div class="Header"><?php include('content/Header.php'); ?></div>
<div class="Hmenue"><b>Menü</b><br></div>
<div class="Hmenueinh">menue - entfernt</div>
<div class="Online"><b>Zur Zeit Online</b></div>
<div class="Onlineinh"><?php ssi_whosOnline(); ?></div>
<div class="Diskussionsbrennpunkte"><b>Top-Themen</b></div>
<div class="Diskussionsbrennpunkteinh"><?php include('content/TopThemen.php'); ?></div>
<div class="Politiknews"><b>Politiknews</b></div>
<div class="Politiknewsinh"><br><?php ssi_news(); ?></div>
<div class="Menue"><?php ssi_menubar(); ?></div>

<div class="Content">


Schluss.php
</div>
</body>
</html>


LG,
Badelehrling

Klozi

Nein sry, das war nur ein Beispiel. Ich meine das so:

Schluss.php vorher:
<div class="Header"><?php include('content/Header.php'); ?></div>
<div class="Hmenue"><b>Menü</b><br></div>
<div class="Hmenueinh">menue - entfernt</div>
<div class="Online"><b>Zur Zeit Online</b></div>
<div class="Onlineinh"><?php ssi_whosOnline(); ?></div>
<div class="Diskussionsbrennpunkte"><b>Top-Themen</b></div>
<div class="Diskussionsbrennpunkteinh"><?php include('content/TopThemen.php'); ?></div>
<div class="Politiknews"><b>Politiknews</b></div>
<div class="Politiknewsinh"><br><?php ssi_news(); ?></div>
<div class="Menue"><?php ssi_menubar(); ?></div>

<div class="Content">



Schluss.php nachher:

<?php

echo '
<div class="Header">'
; include('content/Header.php'); echo '</div>
<div class="Hmenue"><b>Men&uuml;ü</b><br></div>
<div class="Hmenueinh">menue - entfernt</div>
<div class="Online"><b>Zur Zeit Online</b></div>
<div class="Onlineinh">'
ssi_whosOnline(); echo '</div>
<div class="Diskussionsbrennpunkte"><b>Top-Themen</b></div>
<div class="Diskussionsbrennpunkteinh">'
; include('content/TopThemen.php'); echo '</div>
<div class="Politiknews"><b>Politiknews</b></div>
<div class="Politiknewsinh"><br>'
ssi_news(); echo '</div>
<div class="Menue">'
ssi_menubar(); echo '</div>

<div class="Content">'
;

?>


Hoffe du hast es jetzt verstanden :>

Badelehrling

Okay, wenn ich alles richtig verstanden habe, sollten

head.php so aussehen:
<?php

echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<?php require("/srv/www/htdocs/web500/html/Forum/SSI.php"); ?>

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css"></head>

<body>';
?>


menu.php wie Du geschrieben hast, und
schluss.php so:
<?php

echo '
</div>
</body>
</html>;
?>


index.php bleibt wie sie ist?!

Das seltsame Ergebnis

Sorry, das ich nen bischen (oder auch was mehr ::)) doof bin...

Klozi

In der Head.php steckt der Wurm.

Das sollte so aussehen:

<?php

echo '
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html>
<head>
<link rel="stylesheet" type="text/css" href="style.css" /></head>

 <body>'
;
?>


Das "require("/srv/www/htdocs/web500/html/Forum/SSI.php");" hat nichts im HTML Code zu suchen, darum geht das wohl auch nicht. Du brauchst im ganzen Code nur einmal den Require-Befehl angeben, der muss aber direkt ganz oben in der index.php stehen!

Klozi

Damit du das genauer sieht schreibe ich einen weiteren Post. Du musst ebenfalls die index.php aufräumen, am besten könntest du dort nochmal alles schön sortieren und trennen. Normalerweise sollte in einer index.php auch nicht so viel designspezifisches drin stehen, eher wären Include-, Requirebefehle und Cookiesetzungen vom Vorteil.

Badelehrling

Ja ists denn war?

Es klappt!!

Allerdings musste ich aus dem Code:
require("/srv/www/htdocs/web500/html/Forum/SSI.php");



$board_news_1 = ssi_boardNews(48, 3, null, null, $output_method = 'array');


if(is_array($board_news_1))
foreach($board_news_1 as $news) {
echo '


','<h3>', $news['subject'], '</h3> <p>', $news['time'], ' ', $txt[525], ' ', $news['poster']['link'], '</p><br/><p>', $news['body'], '</p>
<br/><p>', $news['link'], ' | ', $news['new_comment'], '</p>';

if (!$news['is_last'])
echo '

<br/>';
}


Das "require("/srv/www/htdocs/web500/html/Forum/SSI.php");" entfernen!

Ergebnis bestaunen

Vielen Dank Klozi!! Hast mir wirklich sehr geholfen!!

Klozi

Ja habe ich vergessen anzumerken, eine doppelte require-Anfrage wäre überflüssig. Aber nun klappt ja alles. :>

Advertisement: