als neuer treuer Member dieses Forums möchte ich erstmal alle begrüßen
ein Hallo an alle php-recurce.de Member, Moderatoren und Admins.
ich hab hier ein kleinen Syntax Problem,
Mir fiel ein Script in die Hände welches diesen zweck erfüllen müsste
und beim anpassen auf meine Seite tauchen 2 Fehler auf die immer mit dem einbinden des Bildes zu tun haben.
Zeile 40
Zeile 136
jeweils unter // Bild anzeigen
der fehler in Zeile 97 kommt durch das kürzen wegen der 10k Zeichen hier im Forum und sollte ignoriert werden
Nachtrag zum fehler:
falsch
(getimagesize($BILDPFAD . $nachricht->bild)[3])
richtig
getimagesize($BILDPFAD . $nachricht->bild[3])
ich würde ja auch das gesamte script sharen aber ich find keine option datein anzuhängen
ein Hallo an alle php-recurce.de Member, Moderatoren und Admins.
ich hab hier ein kleinen Syntax Problem,
Mir fiel ein Script in die Hände welches diesen zweck erfüllen müsste
und beim anpassen auf meine Seite tauchen 2 Fehler auf die immer mit dem einbinden des Bildes zu tun haben.
Zeile 40
Zeile 136
jeweils unter // Bild anzeigen
der fehler in Zeile 97 kommt durch das kürzen wegen der 10k Zeichen hier im Forum und sollte ignoriert werden
PHP-Code:
// Nachrichten auslesen
$kommando = $verbindung->prepare("SELECT `id`, `titel`, `autor`, `nachricht`, `bild`, `url`, `datum`
FROM `" . $TABELLE . "`
WHERE `anzeige` = '1'
" . $SQL_FilterAndKategorie . $SQL_DetailsAndId . "
ORDER BY `datum` DESC
LIMIT " . $start . ", " . $NACHRICHTEN_SEITE);
$kommando->bindParam(':filter', $filter);
if (isset($_GET["details"])) $kommando->bindParam(':id', $_GET["details"]);
$kommando->execute();
$nachrichten = $kommando->fetchAll(PDO::FETCH_OBJ);
if ($anzahlNachrichten > 0) {
// Nachrichten-Liste anzeigen
if ($NACHRICHTEN_LISTE == "ja") {
echo '<h4>Auf dieser Seite:</h4><ul>';
foreach ($nachrichten as $nachricht) {
// Internen Link zur Nachricht setzen
echo '<li><a href="' . $scriptName . '#n' . $nachricht->id . '">' . $nachricht->titel . '</a></li>';
}
echo '</ul>';
}
// Nachrichten anzeigen
foreach ($nachrichten as $nachricht) {
// Datumsformat umwandeln
sscanf($nachricht->datum, "%4s-%2s-%2s", $jahr, $monat, $tag);
// Bild anzeigen
$bild = $nachricht->bild <> '' && file_exists($BILDPFAD . $nachricht->bild) ?
'<img src="' . $BILDPFAD . $nachricht->bild . '" ' . (getimagesize($BILDPFAD . $nachricht->bild)[3]) . ' title="' . $nachricht->titel . '" alt="" class="bild"><br> ' : '';
// URL zur einer externen Seite
$url = $nachricht->url != '' ? ' -» <a href="' . $nachricht->url . '" target="_blank">' . str_replace('http://', '', $nachricht->url) . '</a>' : '';
// Autor
$autor = $AUTOR_ANZEIGE == 'ja' ? ' - von: <em>' . $nachricht->autor . '</em>' : '';
// "Neu"-Markierung
$neu = (floor((time() - mktime(0, 0, 0, $monat, $tag, $jahr)) / 86400)) <= $NEU_MARKIERUNG_TAGE && $NEU_MARKIERUNG == 'ja' ? '<span class="neu">Neu:</span> ' : '';
// Anker für die Nachrichten Liste
$liste = $NACHRICHTEN_LISTE == "ja" ? '<a id="n' . $nachricht->id . '"></a>' : '';
echo '
<dl class="nachrichten">
<dt>
' . $liste . '
<small>' . $tag . '.' . $monat . '.' . $jahr . '</small> - ' . $neu . ' <span>' . $nachricht->titel . '</span>' . $autor . '
</dt>
<dd>' . $bild . nl2br($nachricht->nachricht) . $url . ($bild != '' ? '<br style="clear:both">' : '') . '</dd>
</dl>';
$nachrichtenId[] = $nachricht->id;
}
}
// Link-Navigation (Zurück, Weiter)
if ($NAVIGATION == "ja") {
if ($anzahlNachrichten > $NACHRICHTEN_SEITE) {
echo '<p id="navigation">Seite ' . $seite . ' von ' . $seiten . '<br>' .
($seite > 1 ? '≪ <a href="' . $scriptName . '?seite=1' . $ampFilter . '#anker">Erste</a>  ' : '') .
(($seite - 1) > 0 ? '< <a href="' . $scriptName . '?seite=' . ($seite - 1) . $ampFilter . '#anker">Vorherige</a>' : '') .
'  ' .
(($seite + 1) <= $seiten ? '<a href="' . $scriptName . '?seite=' . ($seite + 1) . $ampFilter . '#anker">Nächste</a> >  ' : '') .
($seite < $seiten ? '<a href="' . $scriptName . '?seite=' . $seiten . $ampFilter . '#anker">Letzte</a> ≫' : '') .
'</p>';
}
}
// Weitere Nachrichten der aktuellen Kategorie anzeigen
if ($KATEGORIEN == "ja" && $KATEGORIE_LISTE == "ja") {
// Aktuell gezeigte Nachrichten aussortieren
$SQL_WhereAndId =" AND `id` != " . implode(" AND `id` != ", $nachrichtenId);
$kommando = $verbindung->prepare("SELECT `id`, `titel`
FROM `" . $TABELLE . "`
WHERE `anzeige` = '1'
" . $SQL_FilterAndKategorie . $SQL_WhereAndId . "
ORDER BY `datum` DESC LIMIT " . $KATEGORIE_LISTE_ANZAHL);
$kommando->bindParam(':filter', $filter);
$kommando->execute();
$nachrichten = $kommando->fetchAll(PDO::FETCH_OBJ);
// Nur anzeigen wenn es weitere Nachrichten gibt
if (count($nachrichten) > 0) {
echo '<h4>Weitere Nachrichten:</h4>' .
'<ul>';
foreach ($nachrichten as $nachricht) {
// Link zur Nachricht (Einzel-Ansicht)
echo '<li><a href="?details=' . $nachricht->id . $ampFilter . '#anker">' . $nachricht->titel . '</a></li>';
}
echo '<ul>';
}
}
}
// Suche durchführen
if (isset($_POST["suchen"])) {
// Im Suchbegriff HTML-Elemente und Leerzeichen entfernen
$_POST["suchbegriff"] = strip_tags(trim($_POST["suchbegriff"]));
// Such-Formular anzeigen
echo '<form action="#anker" method="post" id="suche">
<input type="search" name="suchbegriff" value="' . $_POST["suchbegriff"] . '" min="' . $SUCHBEGRIFF_MIN . '" required="required">
<input type="hidden" name="seite" value="' . $_POST["seite"] . '">
<input type="hidden" name="filter" value="' . $_POST["filter"] . '">
<input type="submit" name="suchen" value="suchen">
</form>';
if (strlen($_POST["suchbegriff"]) >= $SUCHBEGRIFF_MIN) {
// Dem Suchbegriff % (= Jokerzeichen) hinzufügen
$like = "%" . $_POST["suchbegriff"] . "%";
$kommando = $verbindung->prepare("SELECT `titel`, `autor`, `nachricht`, `bild`, `url`, `datum`
FROM `" . $TABELLE . "`
WHERE (`kategorie` LIKE :suchbegriff OR
`titel` LIKE :suchbegriff OR
`autor` LIKE :suchbegriff OR
`nachricht` LIKE :suchbegriff OR
`url` LIKE :suchbegriff) AND `anzeige` = '1'
ORDER BY `datum` DESC");
$kommando->bindParam(':suchbegriff', $like);
$kommando->execute();
$nachrichten = $kommando->fetchAll(PDO::FETCH_OBJ);
$anzahlNachrichten = count($nachrichten);
// Gefundene Nachrichten anzeigen
if ($anzahlNachrichten > 0) {
echo '<p>Es ' . ($anzahlNachrichten == 1 ? 'wurde '. $anzahlNachrichten . ' Nachricht' : 'wurden ' . $anzahlNachrichten . ' Nachrichten') . ' gefunden:</p>';
foreach ($nachrichten as $zaehler => $nachricht) {
// Datumsformat umwandeln
sscanf($nachricht->datum, "%4s-%2s-%2s", $jahr, $monat, $tag);
// Bild anzeigen
$bild = $nachricht->bild <> '' && file_exists($BILDPFAD . $nachricht->bild) ?
'<img src="' . $BILDPFAD . $nachricht->bild . '" ' . (getimagesize($BILDPFAD . $nachricht->bild)[3]) . ' title="' . $nachricht->titel . '" alt="" class="bild"><br> ' : '';
// URL zur einer externen Seite
$url = $nachricht->url != '' ? ' -» <a href="' . $nachricht->url . '" target="_blank">' . str_replace('http://', '', $nachricht->url) . '</a>' : '';
// Autor
$autor = $AUTOR_ANZEIGE == 'ja' ? ' - von: <em>' . $nachricht->autor . '</em>' : '';
// "Neu"-Markierung
$neu = (floor((time() - mktime(0, 0, 0, $monat, $tag, $jahr)) / 86400)) <= $NEU_MARKIERUNG_TAGE && $NEU_MARKIERUNG == 'ja' ? '<span class="neu">Neu:</span> ' : '';
echo '
<dl class="nachrichten">
<dt><small>' . $tag . '.' . $monat . '.' . $jahr . '</small> - ' . $neu . ' <span>' . $nachricht->titel . '</span>' . $autor . '</dt>
<dd>' . $bild . nl2br($nachricht->nachricht) . $url . ($bild != '' ? '<br style="clear:both">' : '') . '</dd>
</dl>';
// Beim erreichen der max. Suchergebnisse abbrechen
if ($zaehler == $SUCHERGEBNISSE_MAX) {
break;
}
}
}
else {
echo '<p>Es wurden keine Nachrichten zum Suchbegriff gefunden!</p>';
}
}
else {
echo '<p>Es sind mindestens ' . $SUCHBEGRIFF_MIN . ' Zeichen nötig!</p>';
}
echo '<p><< <a href="' . $scriptName . '?seite=' . $_POST["seite"] . '&filter=' . $_POST["filter"] . '">Zurück</a></p>'; // Kein Anker!
}
// Seitenübersicht
if (isset($_GET["sitemap"])) {
echo '<h3>Sitemap (Seitenübersicht)</h3>' .
'<blockquote>';
// Alle Nachrichten auslesen aufsteigend nach Kategorien sortiert
$kommando = $verbindung->query("SELECT `id`, `kategorie`, `titel`
FROM `" . $TABELLE . "`
ORDER BY `kategorie` ASC");
$nachrichten = $kommando->fetchAll(PDO::FETCH_OBJ);
$map = array();
foreach ($nachrichten as $nachricht) {
// Kategorie nicht in $map -> Kategorie hinzufügen und Kategorie anzeigen
if (!in_array($nachricht->kategorie, $map)) {
$map[] = $nachricht->kategorie;
echo '</blockquote>' .
'<h4>' . $nachricht->kategorie . '</h4>' .
'<blockquote>';
}
// Link zur Nachricht (Einzel-Ansicht)
echo '<a href="?details=' . $nachricht->id . '&filter=' . $nachricht->kategorie . '#anker">' . $nachricht->titel . '</a><br>';
}
echo '</blockquote>' .
'<p><< <a href="' . $scriptName . '?seite=' . $_GET["seite"] . '&filter=' . $_GET["filter"] . '#anker">Zurück</a></p>';
}
?>
falsch
(getimagesize($BILDPFAD . $nachricht->bild)[3])
richtig
getimagesize($BILDPFAD . $nachricht->bild[3])
ich würde ja auch das gesamte script sharen aber ich find keine option datein anzuhängen