Antworten auf deine Fragen:
Neues Thema erstellen

PHPNews

indyfree

Nicht mehr ganz neu hier

Hallo,

ich benutze seit kurzem ein Newssystem namens PHPNews. Ich betreibe es bis jetzt nur auf einer Testseite:



Das Newssystem bietet die Möglichkeit verschiedene Kategorien zu erstellen und dieses möchte ich auch nutzen. Allerdings tu ich mir gerade mit dem einbinden schwer. Ich möchte, dass immer nur die Newsartikel aus einer Kategorie auf einer bestimmen Seite angezeigt werden sollen.

Allgemein wird das Newssystem so eingebunden:

<?php
include("phpnews/news.php");
?>

Allerdings werden jetzt alle Newsartikel aus allen Kategorien angezeigt und nicht nur die aus einer bestimmten.

Es gibt die Möglichkeit direkt auf eine Kategorie zu verlinken z.B. so:



Ich möchte das allerdings über eine PHP Script auf der Seite einbinden und nicht via Link drauf verlinken.

Kann mir jemand helfen wie der PHP Code zum einzeigen einer Kategorie lauten müsste?

Ich hoffe, dass ich das verständlich erklärt habe und bedanken mich schon im Voraus für jegliche Hilfe!!

MfG
indyfree
 

exo

Aktives Mitglied

AW: PHPNews

versuche doch mal direkt die kategorie zu includen...

PHP:
<?php
include("phpnews/news.php?action=showcat&catid=3");
?>
 

netbandit

Aktives Mitglied

AW: PHPNews

versuche doch mal direkt die kategorie zu includen...

PHP:
<?php
include("phpnews/news.php?action=showcat&catid=3");
?>

Vorher definierte Variable aus test.php sind auch in der news.php gültig/verfügbar.

PHP:
<?php
$action='show'; // bzw. $_GET['action']='show';
$catid=3; // bzw. $_GET['catid']=3;
include("phpnews/news.php");
?>
Grüße :)
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Hallo,

erst einmal vielen vielen Dank für eure Hilfe!!

@exo: Also wenn ich das so mache wie du sagtest bekomme ich folgende Fehlermeldung
Warning: include(phpnews/news.php?action=showcat&catid=3) []: failed to open stream: No such file or directory in /kunden/150888_22113/rp-hosting/10/10/handball-bergedorf.de/test2.php on line 102

Warning: include() []: Failed opening 'phpnews/news.php?action=showcat&catid=3' for inclusion (include_path='.:/usr/local/lib/php') in /kunden/150888_22113/rp-hosting/10/10/handball-bergedorf.de/test2.php on line 102
@netbandit: Dein Vorschlag sieht schon sehr danach aus wie ich es mir vorgestellt habe. Allerdings funktioniert er nicht und es werden weiterhin alle Kategorien auf einmal angezeigt. Ich habe als Test mal den Code mit der Kategorie ID 13 eingefügt.

Ergebnis siehe hier:

Ich hoffe, dass ihr mir noch weiterhelfen könnt :)

MfG
indyfree
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: PHPNews

Guten Morgen;

Kommentare auch gelesen und mal ausprobiert? Ansonsten einfach mal den Code von news.php zeigen; zumindest den Teil wo 'action' & 'catid' definiert werden (Ist bestimmt wieder so eine $_REQUEST_GRUETZE). :D

Grüße :)
 

holgermerz

Nicht mehr ganz neu hier

AW: PHPNews

Hallo,
das include(phpnews/news.php?action=showcat&catid=3) wird nicht funktionieren.
Du kannst nur Scripte, als news.php includieren. Der Rest muss im Script gemacht werden.

Versuch einfach mal include("phpnews/news.php") und lass den Rest in einer Session.
z.b. $_SESSION[action]="showcat"; $_SESSION[catid]=3;

Dann im news.php-Script einfach die Abfrage auf die jeweiligen Sessions auswerten.
Wenn du die $_GET-Methode verwendest musst natürlich die mit $_GET[showcat]=="news" oder $_GET[catid]==3 auswerten.
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

@netbandit: Ja, die Kommentare habe ich auch probiert und die funktionieren gar nicht, dann wird nichts mehr angezeigt!

Den Code zu news.php habe ich hier mal veröffentlicht:

@holgermerz: Deinen Vorschlag verstehe ich leider nicht ganz. Wie kann die Abfrage in dem news.php-Script auf die jeweilige Session auswerten lassen?
 

netbandit

Aktives Mitglied

AW: PHPNews

Seh gerade; $_GET['action'] müsste dann natürlich showcat sein/heissen. Hast Du den Fehler von mir evtl. auch so übernommen?
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Also so?:

<?php
$_GET['action']='showcat';
$_GET['catid']=3;
include("phpnews/news.php");
?>

Ich probiere es mal aus.

EDIT: Es funktioniert! Vielen, vielen, vielen Dank ;)


Ich habe jetzt allerdings ein neues Problem und zwar werden Umlaute und ß als so ein komisches Fragezeichen angezeigt. Wie bekomme ich das hin, dass das richtig angezeigt wird?
 
Zuletzt bearbeitet:

netbandit

Aktives Mitglied

AW: PHPNews

Im Charset der Html-Ausgabe ist UTF-8 angegeben.

Stell sicher, daß die Datei auch als UTF-8 abgespeichert wird und Deine DB auf UTF-8 läuft.

Ansonsten evtl. ein wenig nachhelfen; am Anfang der PHP-Datei:

PHP:
header('Content-Type: text/html; charset=utf-8');

und/oder nach der Verbindung zur DB:

PHP:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");

Weiter Möglichkeiten liefert Dir bestimmt die Forensuche zu UFT-8 und Umlaute

Grüße :)
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Danke das mit

PHP:
mysql_query("SET NAMES 'utf8'");
mysql_query("SET CHARACTER SET 'utf8'");
hat funktioniert.


So jetzt meine hoffentlich letzte Frage! :)

Ich will jetzt die alten Newseinträge in das neue System übertragen. Allerdings werden die dann ja mit dem momentanen Datum abgespeichert und veröffentlicht. Kann man in der Datenbank so rummanipulieren, dass man das jeweilige alte Datum angeben kann?

Vielen Dank für eure zahlreiche Hilfe!
 

netbandit

Aktives Mitglied

AW: PHPNews

Ich gehe mal einfach davon aus, dass Du die alten Daten auch über ein bereits vorhandenes Formular einträgst und die Uhrzeit nicht benötigt wird:

News.php, Zeile 752:

PHP:
$time = time() + ($Settings['timeoffset']*60);
ersetzen mit:

PHP:
if(isset($_POST['date']) && preg_match('/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/', $_POST['date']))
    {
    $arr=explode('.', $_POST['date']);
    $time=mktime(0, 0, 0, $arr[1], $arr[0], $arr[2]);
}
else
    {
    $time = time() + ($Settings['timeoffset']*60);
}
Und Dein Formular zum Eintragen erweiterst Du um ein weiteres Feld mit dem Namen 'date', Format ist dd.mm.YYYY; bisschen Pfusch, sollte aber funktionieren. Wenn Du die alten Daten soweit drin hast, kannst Du es ja wieder rückgängig machen.

Grüße :)
 
Zuletzt bearbeitet:

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Also ich habe das jetzt schon ersetzt. Allerdings weiß ich leider nicht wie ich mein Formular um den Eintrag des Datums erweitern kann.

Tut mir leid, aber ich bin sehr unwissend im Bereich php. Aber wirklich Danke für deine Mühen!!
 

netbandit

Aktives Mitglied

AW: PHPNews

Ich glaube das Formular befindet sich in templates/comment_temp.php

Da muss eben halt noch ein zusätzliches Feld rein (s.O.)

Grüße
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Also das wo ich den Artikel hinzufüge sieht momentan so aus (siehe Anhang) und da soll ich jetzt noch eine Zeile Datum hinzufügen richtig? Allerdings habe ich immer noch nicht gefunden wo das ganze definiert wird in welcher Datei :(
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Alles klar. Das Feld zeigt er mir jetzt an. Leider zeigt er weiterhin das heutige Datum an auch wenn ich ein anderes in das Feld eingebe :(
 

netbandit

Aktives Mitglied

AW: PHPNews

So, hab mir jetzt mal das Dingen heruntergeladen; mach mal die Änderungen in der News.php -> Zeile 752 bitte wieder rückgängig (s.O.). Wir brauchen die admin.php :D

also admin.php Zeilen 1307-1310:

PHP:
<p>
    <label for="subject"><?php echo $language['CONTENT_NEWSSUBJECT'];?>:</label><br />
    <input id="subject" name="subject" size="45" type="text" value="<?php echo stripslashes($_POST['subject'])?>" />
</p>

dahinter:

PHP:
<p>
    <label for="date">Datum:</label><br />
    <input id="date" name="date" size="45" type="text" value="<?php echo stripslashes($_POST['date'])?>" />
</p>

einfügen

dann Zeilen 1456,1457:

PHP:
$time = time() + ($Settings['timeoffset']*60);
$today = getdate();

ersetzen mit:

PHP:
if(isset($_POST['date']) && preg_match('/^[0-9]{2}\.[0-9]{2}\.[0-9]{4}$/', $_POST['date'])){
    $arr=explode('.', $_POST['date']);
    $time=mktime(0, 0, 0, $arr[1], $arr[0], $arr[2]);
}
else{
    $time = time() + ($Settings['timeoffset']*60);
}
$today = getdate($time);

Grüße :)
 

netbandit

Aktives Mitglied

AW: PHPNews

Sieht wohl so aus, als ob Du die Änderungen nicht komplett rückgängig gemacht und noch eine Klammer stehen lassen hast. Das Beste wäre wenn Du die news.php einfach mal mit der original news.php ersetzt.

QuellCode hast Du ja auch hier online gestellt:

Ansonsten einfach das Paket noch einmal herunterladen ;)
 

indyfree

Nicht mehr ganz neu hier

AW: PHPNews

Danke, klappt jetzt alles problemlos!! :)

Kann ich dieses Datumsfeld auch bei "Ändern eines Artikels" mit einfügen und da im Nachhinein auch das Datum ändern?

...und ich seh gerade, dass das Datum jetzt mit "kaputten" Umlauten angezeigt wird:

Spitzenspiel gegen T.H. Eilbeck
Sonntag, 28. M�rz 2010

Allerdings nur das Datum und der Rest wird mit richtigen Umlauten angezeigt.


 
Zuletzt bearbeitet:
Bilder bitte hier hochladen und danach über das Bild-Icon (Direktlink vorher kopieren) platzieren.
Antworten auf deine Fragen:
Neues Thema erstellen

Willkommen auf PSD-Tutorials.de

In unseren Foren vernetzt du dich mit anderen Personen, um dich rund um die Themen Fotografie, Grafik, Gestaltung, Bildbearbeitung und 3D auszutauschen. Außerdem schalten wir für dich regelmäßig kostenlose Inhalte frei. Liebe Grüße senden dir die PSD-Gründer Stefan und Matthias Petri aus Waren an der Müritz. Hier erfährst du mehr über uns.

Stefan und Matthias Petri von PSD-Tutorials.de

Nächster neuer Gratisinhalt

03
Stunden
:
:
25
Minuten
:
:
19
Sekunden

Neueste Themen & Antworten

Flatrate für Tutorials, Assets, Vorlagen

Zurzeit aktive Besucher

Statistik des Forums

Themen
118.616
Beiträge
1.538.358
Mitglieder
67.536
Neuestes Mitglied
QuestionMark
Oben