Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
28.06.2014, 14:26
(Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2014, 12:52 von Steevee .)
Hallo,
ich möchte gerne Bilder aus der epgd-Datenbank in einer Web-Seite anzeigen lassen
actor.php:
Code:
<?php
$actor_id = $_GET[actor_id];
...
echo "<img src='actor_image.php?id=".$actor_id."'>";
...
?>
actor_image.php:
Code:
<?php
// MySQL-Verbindung herstellen
require 'db-connect.php';
// Bild ausgeben
$id = addslashed($_GET['id']);
$result = mysql_query("SELECT media_content, media_type FROM movie_media WHERE actor_id='$id'");
$row = mysql_fetch_object($result);
header("Content-type: $row->media_type");
echo $row->media_content;
?>
Geht nicht. Was mach ich denn da falsch?
Gruß
Steevee
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 13.661
Themen: 693
Registriert seit: Feb 2007
Bewertung:
312
Mit dem bisschen Code wird s schwierig. Poste mal den kompletten Code und mehr Infos wie die Bilder in welcher Datenbank gespeichert sind.
VDR 1: ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE mit easyVDR 3.0
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
Hallo Andi,
Hier noch die db-connect.php
Code:
<?php
$dbhost = "localhost";
$dbuser = "epg2vdr";
$dbpass = "epg";
$dbname = "epg2vdr";
mysql_connect($dbhost,$dbuser,$dbpass) or die ("Keine Verbindung möglich");
mysql_select_db($dbname) or die ("Die Datenbank existiert nicht");
?>
Vielmehr Code ist es nicht, alles andere hat nichts damit zu tun.
Welche Bilder in welcher Datenbank?!
epgd aus EasyVDR-Quelle
OK ausführlicher: mysql Datenbank. Die Bilder werden als BLOB gespeichert. Was willst du noch wissen?
Gruß
Steevee
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 13.661
Themen: 693
Registriert seit: Feb 2007
Bewertung:
312
Geht das?
Code:
header("Content-type: $row['media_type']");
echo $row['media_content'];
Andy
VDR 1: ASRock mit Atom J1200, NVIDIA GT610, Lüfterlos, TBS 6982 SE mit easyVDR 3.0
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
29.06.2014, 09:42
(Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2014, 10:57 von Steevee .)
Hallo,
du meinst, da braucht man eckige Klammern?
Eigentlich nicht.
Text aus der Datenbank kann ich mir ja anzeigen lassen.
Code:
echo $row->media_url;
z.B. die Spalte media_url enthällt normalen Text. Das Funktioniert. Also ist die Verbindung zur Datenbank ok, ich bin in der richtigen Tabelle, und das ansprechen des Feldes muss auch ok sein. Nur Bilder, die in der Datenbank gespeichert sind, weiss ich nicht richtig anzuzeigen.
Bilder zeigt man in HTML (PHP) ja so an:
Code:
echo "<img src='bildname.jpg'>";
Nur hab ich ja keine Datei zum anzeigen, sondern ein Datenbankeintrag.
Deshalb die extra Datei actor_image.php wo ich erst den Header für jpg reinschreiben will und dann den Bildinhalt, dass ich diese dann wie ein normales Bild mit <img src=...> anzeigen kann.
Irgendwo hab ich noch ein Denkfehler.
Hier nochmal ein Bildschirmausdruck von der Datenbank, um zu sehen, dass die Bilder wirklich da sind, die ich mir anzeigen lassen will.
Angehängte Dateien
phpmyadmin.jpg (Größe: 315,58 KB / Downloads: 53)
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
Also in $row->media_type steht ne 4 für die Bilder in der Datenbank. Deshalb mal der Test, den fest als jpg reinzuhauen.
Code:
header("Content-type: image/jpeg");
bringt auch nichts.
Also es kommt immer noch dieses Zeichen für fehlendes Bild.
Jetzt hab ich gelesen, dass man evtl. auch so direkt ein Bild anzeigen kann:
Code:
echo "<img src='data:image/jpeg;base64,".$row->media_content."'>";
Da wird der Quellcode des Bildes angezeigt, aber nicht das Bild selbst. Keine Ahnung, ob base64 überhaupt richtig ist?!
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
29.06.2014, 12:51
(Dieser Beitrag wurde zuletzt bearbeitet: 29.06.2014, 13:55 von Steevee .)
Funktioniert !!!!!
addslashes war unnötig und das require hat er auch nicht richtig gemacht, was ich durch include ersetzt habe:
Code:
<?php
$id = $_GET['id'];
// MySQL-Verbindung herstellen
include("db-connect.php");
// Bild ausgeben
$result = mysql_query("SELECT media_content, media_type FROM movie_media WHERE actor_id='$id'");
$row = mysql_fetch_object($result);
header("Content-type: $row->media_type");
echo $row->media_content;
?>
Angehängte Dateien
sandler.jpg (Größe: 175,96 KB / Downloads: 48)
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
14.10.2014, 09:41
(Dieser Beitrag wurde zuletzt bearbeitet: 14.10.2014, 09:55 von Steevee .)
Hallo,
ich hab ja "damals" eine Web-Seite programmiert, die die epg-Datenbank abfragt, dass man nach Schauspielern suchen kann, oder sich alle Folgen einer Serie auflisten kann etc. (Hat nur bis jetzt keinen Interressiert).
Funktioniert ja auch alles soweit.
Da ich ja jetzt an dem EasyPortal dran bin, hab ich mir überlegt, die Seiten mit ins Easyportal zu integrieren, wenn festgestellt wird, dass epgd konfiguriert ist.
So. Momentan hab ich die epgd auf meinem Server und die Webseite läuft auch auf meinem Server.
Jetzt will ich die Webseite vom Server auf den vdr bringen, also zum Easyportal dazu.
Aber der Zugang zur Datenbank funktioniert nicht.
Der Login zur Datenbank sieht ja so aus:
Code:
<?php
$dbhost = "localhost";
$dbuser = "epg2vdr";
$dbpass = "epg";
$dbname = "epg2vdr";
mysql_connect($dbhost,$dbuser,$dbpass) or die ("Keine Verbindung möglich");
mysql_select_db($dbname) or die ("Die Datenbank existiert nicht");
?>
Also hab ich jetzt die Daten nicht mehr fest drin, sondern hol mir die Zugangsdaten von der Datenbank aus der Konfiguration vom epg2vdr-Plugin.
Code:
$dbhost = "192.168.1.23";
$dbuser = "epg2vdr";
$dbpass = "epg";
$dbname = "epg2vdr";
Zugang funktioniert aber nicht.
Muss ich da den Port mit angeben?
Code:
$dbhost = "192.168.1.23:3306";
Funktioniert aber auch nicht.
Warum funktioniert das nicht? Die Datenbank und der Datenbankuser müsste doch richtig konfiguriert sein, dass auch "fremde" Clients zugang haben, denn sonst würde ja auch das epg2vdr-Plugin nicht funktionieren, oder?
In der /etc/mysql/my.conf steht.
Code:
bind-adress = 0.0.0.0
Damit müsste doch die Datenbank fremde Clients zulassen, oder?
Der User epg2vdr hat auch alle Rechte (siehe Bild).
Wo ist mein Fehler? Leider bekomme ich auch keinerlei Fehlermeldungen angezeigt.
Gruß
Steevee
Angehängte Dateien
phpmyadmin.jpg (Größe: 151,78 KB / Downloads: 35)
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
OK hab mein Fehler eingegrenzt.
Mit
Code:
<?php
error_reporting(E_ALL);
ini_set("display_errors", 1);
?>
am Anfang der Webseite bekommt man Fehler angezeigt
Code:
Fatal error: Call to undefined function mysql_connect() in /var/www/epgd/inc/inc_head.php on line 18
Also der Fehler liegt darin, dass die mysql-Funktionen im php von EasyVDR nicht installiert oder aktiviert sind.
Fehler also ganz wo anders.
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
Lösung:
Code:
apt-get install php5-mysql
und in /etc/php5/cgi/php.ini
Code:
extension_dir = "/usr/lib/php5/20121212"
extension = mysql.so
Gruß
Steevee
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 14.499
Themen: 2.317
Registriert seit: Apr 2016
Bewertung:
324
Teil 1 ist eine Kleinigkeit (depend in einem vorhandenen Paket; würde sagen im easyportal)
Teil 2 hoffe ich mal ist unnötig. Das Paket sollte sich doch bestimmt selbst aktivieren. (?)
Grüße
Martin
-----------------------------------------------------------------------------------------------------------
Du brauchst Hilfe? Wir brauchen Daten! English-Version: Don't eat yellow snow!
Meine VDRs (Spoiler klicken)
VDR1: ASROCK Q1900M, 4GB, SSDs als Bootplatte, Bild+Ton aus Geforce 720, easyVDR3.x als Streamdev- und SatIP Client
VDR2: Esprimo, 2GB, NVIDIA Ausgabe per HDMI, kein GraphTFT am VGA Anschluss, easyVDR3.x als Streamdev-Client
VDR3: Activy350; SW: Gen2VDR Activy-Edition
SERVER: Asrock Q170M vPro, Core i5-6600K, Cine S2 V4 mit 4 S2-Tunern, 16GB Corsair, 4*4TB WD-RED, 240 GB SSD, 19" Gehäuse
Clients: Motorola VIP 19xx, Handys und Tablets
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
Die Standardeinstellung ist
Code:
extension_dir = "./"
Keine Ahnung wo das ist, aber auf jeden Fall nicht da, wo die mysql.po ist.
Und die Extension
Code:
extension = mysql.so
hab ich auch per Hand einfügen müssen.
Ich teste das aber auch nochmal an einem unverbastelten easyvdr.
Gruß
Steevee
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...
Beiträge: 9
Themen: 1
Registriert seit: Jul 2015
Bewertung:
0
Ich hätte an der Stelle mal eine Frage. Kann man das Script übertragen und im eigenen Editor einbauen? Habe mich mit dem Webspace kaufen auf
http://hosting.1und1.de/webspace beschäftigt und ein entsprechendes Angebot gefunden, das meinen Vorstellungen entspricht. Ebenfalls habe ich Bilder in der epgd-Datenbank und mich auch bereits gefragt, wie diese auf der Webseite anzuzeigen sind. Also kann es übernommen werden oder muss es individuell angepasst werden?
Der Computer ist die logische Weiterentwicklung des Menschen: Intelligenz ohne Moral.
Beiträge: 2.937
Themen: 179
Registriert seit: Apr 2008
Bewertung:
115
Was willst du machen?
VDR-Server : EasyVDR 2.0, TBS 6984, Asus P8H61-M LE, Intel Celeron G540, GT520
VDR-TFT : EasyVDR 2.0, Skystar HD2, Asus M2N-VM HDMI, AMD Athlon 4850e, GT520, Touch-TFT, Atric
VDR-SZ : EasyVDR 2.0, Cine S2 v6.0, Asus M4N78 Pro, AMD Athlon II X2 250, Atric
VDR-Susi : EasyVDR 1.0, TT S2-6400, Atric
VDR-Gabi : EasyVDR 2.0, Cine S2 v5.5, MB Asus, GT520, Atric
sonstige VDR Test-Hardware: Terratec Cinergy 1200 DVB-C, DVB-S2 TeVii S464, div. DVB-S FF, div. DVB-S Budget, IMON-LCD, Fritz-Box, Raspberry PI, USB-IR, div. ser. IR, ...