php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger

PHP Einsteiger PHP Problemlösungen für Spracheinsteiger
Archive: 2004, 2004/2, 2005, 2005/2, 2006, 2007, 2008, 2009, 2010,

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 16.12.2011, 17:13  
Neuer Benutzer
 
Registriert seit: 16.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Maggy befindet sich auf einem aufstrebenden Ast
Standard [Erledigt] Bilder aus Datenbank auslesen

Hallo zusammen,

leider komme ich allein nicht weiter und muss deshalb eine schon oft gestellte Frage noch einmal stellen.

Ich habe eine MySQL-Datenbank mit diversen Einträgen. Darunter auch Bilder. Grundsätzlich funktioniert das Eintragen und Auslesen aus dieser perfekt.
Auch Bilder lassen sich eintragen.

Beim Auslesen der Bilder bekomme ich jedoch immer den selben Fehler:

Undefined index: id in F:\xampp\htdocs\test\image.php on line 6

Das verstehe ich nicht, da ich wenn ich Text auslese ebenfalls auf die ID zugreife.

Mein Code sieht folgendermaßen aus (sind nur Testdateien):

Zitat:
Datei: "index.php"

<?php
// MySQL-Verbindung herstellen
require 'connect.inc.php';

// Formular abgeschickt
if(isset($_FILES['imgdata'])) {

// Datei hochgeladen
if(is_uploaded_file($_FILES['imgdata']['tmp_name'])) {

// Verweis auf Bild
$imgdata = $_FILES['imgdata']['tmp_name'];

// Vorbereiten für den Upload in DB
$data = addslashes(file_get_contents($imgdata));

// Metadaten auslesen
$meta = getimagesize($imgdata);
$mime = $meta['mime'];

// Bild in DB speichern
mysql_query("INSERT INTO images VALUES('', '$data', '$mime')");
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de">
<head>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<title>MySQL-Bilder-Datenbank</title>
</head>
<body>
<h1>Bild hochladen</h1>
<form action="" method="post" enctype="multipart/form-data">
<input name="imgdata" type="file" />
<input type="submit" value="hochladen" />
</form>
<h1>Bilderliste</h1>
<?php
$result = mysql_query("SELECT id FROM images");
while($row = mysql_fetch_object($result)) {
echo '<img alt="" src="image.php?id='.$row->id.'" /><br />';
}
?>
</body>
</html>

Datei "image.php"

<?php
// MySQL-Verbindung herstellen
require 'connect.inc.php';

// Bild ausgeben
$id = addslashes ($_GET['id']);
$result = mysql_query("SELECT imgdata, imgtype FROM images WHERE id='$id'");
$row = mysql_fetch_object($result);
header("Content-type: $row->mimetype");
echo $row->imgdata;
?>
Zwecks Fehlerbehebung, ich habe schon alle Tutorials gelesen die ich gefunden habe, leider wird das Thema "Bilder in Datenbanken" nicht besonders ausführlich behandelt.
Alle Beispieldateien dieser Tutorials die ich versucht habe geben den gleichen Fehler aus.

Ich wäre sehr dankbar für Hilfe.

Grüße,
Maggy

Geändert von Maggy (17.12.2011 um 16:32 Uhr).
Maggy ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 16.12.2011, 17:34  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Bitte benutz den Foren-BBCode und beschreib, was du zur Fehlersuche bereits unternommen hast.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 17.12.2011, 00:30  
Neuer Benutzer
 
Registriert seit: 16.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Maggy befindet sich auf einem aufstrebenden Ast
Standard

Wird mein Beitrag wieder freigegeben? Oder hab ich immer noch was falsch gemacht?!
Maggy ist offline   Mit Zitat antworten
Alt 17.12.2011, 12:21  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.267
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Du uebergibst die ID nicht an image.php, zumindest existiert da kein $_GET["id"]. Genau das besagt die Fehlermeldung.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 17.12.2011, 16:26  
Neuer Benutzer
 
Registriert seit: 16.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Maggy befindet sich auf einem aufstrebenden Ast
Standard

Die Übergabe der id erfolgt doch hier:

Zitat:
$id = addslashes ($_GET['id']);

Geändert von Maggy (17.12.2011 um 16:32 Uhr).
Maggy ist offline   Mit Zitat antworten
Alt 17.12.2011, 16:47  
Erfahrener Benutzer
 
Benutzerbild von lstegelitz
 
Registriert seit: 07.09.2009
Beiträge: 4.005
PHP-Kenntnisse:
Fortgeschritten
lstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nettlstegelitz ist einfach richtig nett
Standard

Dann einmal den generierten HTML Quelltext überprüfen - stehen dort in den img-Tags die IDs bereits drin?
__________________
Über 90% aller Gewaltverbrechen passieren innerhalb von 24 Stunden nach dem Konsum von Brot.
lstegelitz ist offline   Mit Zitat antworten
Alt 17.12.2011, 16:50  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

Wenn du deiner image.php keinen Parameter id mitgibst, dann tritt halt dieser Fehler auf, da $_GET kein 'id' hat. Schau dir doch nur mal den Quellcode im Browser von deiner index.php an, was da im img-tag steht.

Edit: zu langsam..
jspit ist offline   Mit Zitat antworten
Alt 17.12.2011, 16:51  
Erfahrener Benutzer
 
Registriert seit: 28.01.2010
Beiträge: 615
PHP-Kenntnisse:
Fortgeschritten
tkausl ist in Verruf geraten
Standard

PHP-Code:
$id addslashes ($_GET['id']); 
Ist keine Ausreichende Absicherung, außerdem für diesen Bereich völlig unnötig.

Nutze den Regex #^[0-9]+$#
__________________
PS: Wenn ich einen Beitrag schreibe wo NUR [php] drin steht, dann gab es wieder ein Problem mit meinem iPhone...
tkausl ist offline   Mit Zitat antworten
Alt 17.12.2011, 16:55  
Erfahrener Benutzer
 
Benutzerbild von jspit
 
Registriert seit: 19.08.2011
Beiträge: 701
PHP-Kenntnisse:
Anfänger
jspit wird schon bald berühmt werden
Standard

PHP-Code:
$id = (int) $_GET['id']; 
reicht hier auch.
jspit ist offline   Mit Zitat antworten
Alt 17.12.2011, 17:43  
Neuer Benutzer
 
Registriert seit: 16.12.2011
Beiträge: 7
PHP-Kenntnisse:
Anfänger
Maggy befindet sich auf einem aufstrebenden Ast
Standard

In der index.php werden die IDs im Quelltext richtig erzeugt.
Der Aufruf stimmt meines Erachtens:

Zitat:
<img alt="" src="image.php?id=1" />
In der image.php habe ich die betreffende Zeile jetzt in:

PHP-Code:
$id = (int) $_GET['id']; 
geändert. Jedoch leider mit gleichem Ergebnis.

[edit]
Hmm, ich habe jetzt einfach die id-Variable in der image.php noch mal neu definiert mit:

PHP-Code:
$id mysql_query("SELECT id FROM images"); 
Dennoch füllt er die Variable anscheinend nicht korrekt, da ich dann diesen Fehler bekomme:

Zitat:
Notice: Trying to get property of non-object in L:\xampp\htdocs\test\image.php on line 13

Notice: Trying to get property of non-object in L:\xampp\htdocs\test\image.php on line 14
Zeile 13 & 14:

PHP-Code:
header("Content-type: $row->mimetype");
echo 
$row->imgdata

Geändert von Maggy (17.12.2011 um 18:00 Uhr).
Maggy ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Bilder aus mysql datenbank auslesen Fab4guy PHP Einsteiger 8 22.05.2011 17:35
Datenbank auslesen und im Eingabefeld ausgeben otni kaerb Datenbanken 1 09.11.2010 10:34
Bilder auslesen aus Ordner und per dropdown anzeigen Sp1n PHP Tipps 2010 2 11.06.2010 13:10
[Erledigt] Bilder aus mysql Datenbank mit php auslesen xyw PHP Tipps 2010 11 23.05.2010 20:16
[Erledigt] Vars in Datenbank und wieder auslesen SteiniKeule PHP Tipps 2010 3 03.04.2010 17:41
� Zeichen beim Auslesen von Sonderzeichen aus einer MySql Datenbank Destruction PHP Tipps 2009 5 29.04.2009 21:25
PHP-Code aus Datenbank auslesen + ausführen Timer PHP Tipps 2009 13 04.03.2009 22:23
xyz aus function("xyz"); in Datenbank auslesen?! Nightuser PHP Tipps 2008 5 14.07.2008 05:45
[Erledigt] Aus Datenbank auslesen mit php PHP Tipps 2006 4 04.01.2006 18:17
beim auslesen von mysql datenbank bestimmte id nicht auslsen djrace PHP Tipps 2005-2 3 10.09.2005 13:32
[Erledigt] Auslesen und Aktualisieren von einer MYSQL Datenbank PHP Tipps 2005-2 3 05.07.2005 14:39
Mail Adresse aus einer Datenbank auslesen? Stemmi Datenbanken 6 23.04.2005 23:24
bilder auslesen und anpassen PHP Tipps 2004-2 8 14.12.2004 20:58
auslesen aus datenbank und sortieren! PHP Tipps 2004-2 15 04.12.2004 15:56
Bilder in Datenbank speichern PHP Tipps 2004 11 05.08.2004 10:58

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php bilder aus datenbank auslesen, php mysql datenbank lesen, iphone 4 datenbanken auslesen, bilder aus einer datenbank anzeigen imgdata, php xml bild auslesen in datenbank, echo \'<img alt=\\ src=\image.php?id=\'.$row->id.\'\, bilder aus datenbank auslesen, bild aus mysql datenbank auslesen php, \form action\ datenbank auslesen, imgdata als bild ausgeben, smilies aus datenbank auslesen und ausgeben dropdown menü, bilder aus datenbank anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 19:27 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum