Willkommen auf dem Portal für Mediengestalter
|
|
Autor |
Nachricht |
mar_s
Threadersteller
Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht:
|
Verfasst Di 21.07.2009 16:09
Titel [PHP/MYSQL] Problem mit Bildupload - HILFE! |
|
|
Hallo!
Ich hoffe, Ihr könnt mir helfen. Bin erst am lernen.
Ich suche schon den ganzen Tag bei google und auch hier im Forum, habe aber bisher nichts gefunden, dass mir weiter hilft.
Ich möchte per HTML-Formular ein Bild in die Datenbank einschreiben lassen. Das Bild soll dann später aus der Datenbank ausgelesen werden und angezeigt werden.
Um es vorneweg zu sagen. Ja ich möchte die Bilder in die Datenbank einschreiben. Ich weiß, dass es nicht sehr sinnvoll ist, aber ich versuche auch dieses Problem irgendwie in den Griff zu bekommen.
Wenn ich bei phpMyAdmin das Bild hochlade, kann ich das Bild dann wunderbar ansehen. Aber mein Fehler liegt irgendwo beim hochladen.
Ich kann normalen Text reinschreiben (id, titel, datum), und ihn auch nachher wieder auslesen, das klappt wunderbar und ohne Probleme.
Datenbankfeld der bild ist vom typ "mediumblob" und als Attribute: BINARY.[/code]
Hier sind meine scripte:
formular.html:
Code: |
<form method="post" enctype="multipart/form-data" action="eintragen.php">
id: <input type="text" name="id" />
titel: <input type="text" name="titel" />
datum: <input type="text" name="datum" />
bild: <input type="file" name="bild" size="40" />
<input type="submit" value="speichern" name="abschicken" /></td>
</form>
|
eintragen.php
Code: |
<?php
if(!isset($_POST['abschicken']))
{
include ('formular.html');
exit;
}
include('db.php');
$connect = @mysql_connect($host, $user, $passwort)
or die ("Verbindung zu sql geht nicht");
mysql_select_db ($database, $connect);
$id = $_POST['id'];
$titel = $_POST['titel'];
$datum = $_POST['datum'];
$bild = $_POST['bild'];
$sql = "INSERT INTO $table (id, titel, datum, bild)
VALUES ('$id', '$titel', '$datum', '$bild')";
$ausgabe = "gespeichert";
mysql_query($sql);
mysql_close ($connect);
echo '<h1>Neuer Eintrag</h1>';
echo 'Das Bild hat die ID: '.$id.'.';
echo $ausgabe;
?>
|
ausgabe.php
Code: |
<?php
include('db.php');
$connect = mysql_connect($host, $user, $passwort);
mysql_select_db($table, $connect);
$abfrage_tabelle_buecher = "SELECT * from buecher_freunde.tbl_buecher";
$ergebnis_tabelle_buecher = mysql_query($abfrage_tabelle_buecher);
$abfrage_tabelle_freunde = "SELECT * from buecher_freunde.tbl_freunde";
$ergebnis_tabelle_freunde = mysql_query($abfrage_tabelle_freunde);
$bild = @MYSQL_RESULT($result,0,"bin_data");
$type = @MYSQL_RESULT($result,0,"filetype");
echo '<table class="buecher">';
echo '<tr><th colspan="4">Tabelle Bücher</th></tr>';
echo "<tr><td>id</td><td>titel</td><td>datum</td><td>bild</td></tr>";
while($row = mysql_fetch_object($ergebnis_tabelle_buecher))
{
echo "<tr>";
echo "<td class='first'>$row->id</td";
echo "<td class='second'>$row->titel</td>";
echo "<td class='third'>$row->datum</td>";
echo '<td><img src="pic.php?id='.$row->id.'" /></td>';
echo '<tr><td class="abstand" colspan="3"></td></tr>';
}
echo '</table>';
echo '<hr>';
echo '<p> </p>';
?>
|
pic.php
Code: |
<?php
// Hier deine DB Verbindung
include('db.php');
$connect = @mysql_connect($host, $user, $passwort)
or die ("Verbindung zu sql geht nicht");
mysql_select_db ($database, $connect);
if(isset($_GET['id']) AND !empty($_GET['id']))
{
$id = $_GET['id'];
$sql = "SELECT bild, filetype FROM buecher_freunde.tbl_buecher WHERE id = '".$id."'";
$query = mysql_query($sql) or die(mysql_error());
$row = mysql_fetch_array($query);
$num = mysql_num_rows($query);
if($num > 0)
{
$bild = $row['bild'];
$filetype = $row['filetype']; // ich hoffe du speicherst den mit ab.
header( "Content-type: ".$filetype);
echo $bild;
}
else {
print "Diese ID ist nicht in der DB!";
}
}
else {
print "Die ID Fehlt!";
}
?>
|
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 21.07.2009 16:11
Titel
|
|
|
bei bildern $_FILES nicht $_POST
|
|
|
|
|
Anzeige
|
|
|
mar_s
Threadersteller
Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht:
|
Verfasst Di 21.07.2009 16:18
Titel
|
|
|
pixelpapst303 hat geschrieben: | bei bildern $_FILES nicht $_POST |
Wenn ich das auf $_FILES setze und mir zum Beispiel die Datei
http://localhost/bild/pic.php?id=2 anschaue,
dass sehe ich nur den Eintrag
ARRAY.
Wie bekomme ich jetzt den Array in ein Bild?
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Di 21.07.2009 16:28
Titel
|
|
|
-> print_r($_FILES);
|
|
|
|
|
mar_s
Threadersteller
Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht:
|
Verfasst Di 21.07.2009 16:39
Titel
|
|
|
???
|
|
|
|
|
Pixelpole
Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht:
|
Verfasst Di 21.07.2009 16:40
Titel
|
|
|
schau halt nach was drin ist in dem array mit print_r...dann siehst du wie du deinen Zugriff gestalten musst.
edit: http://de.php.net/manual/en/reserved.variables.files.php
edit2: @papst: lahme Ente
Zuletzt bearbeitet von Pixelpole am Di 21.07.2009 16:42, insgesamt 2-mal bearbeitet
|
|
|
|
|
pixelpapst303
Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht:
|
Verfasst Di 21.07.2009 16:41
Titel
|
|
|
Pixelpole hat geschrieben: | -> print_r($_FILES); |
print_r( array ) zeigt dir den inhalt eines arrays. machs doch einfach mal, und staune
|
|
|
|
|
mar_s
Threadersteller
Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht:
|
Verfasst Di 21.07.2009 16:44
Titel
|
|
|
Entschuldige, wenn ich noch mal so dumm frage, bin aber Einsteiger in PHP.
Wenn ich mir durch print_r anzeige, was in dem Array steht, dann bekomme ich folgendes:
Array ( [bild] => Array ( [name] => bild.jpg [type] => image/jpeg [tmp_name] => C:\xampp\tmp\php4CA.tmp [error] => 0 [size] => 156220 ) )
Wie soll ich jetzt das Bild behandeln (hochladen), damit es richtig in die DB eingeschrieben wird?
|
|
|
|
|
|
|
|
Ähnliche Themen |
Bildupload Problem
[PHP] Bildupload Problem
[php] mysql-problem?
mysql-php Problem
mysql-problem
mySQL -> PHP Problem
|
|
|
Du kannst keine Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum nicht antworten. Du kannst an Umfragen in diesem Forum nicht mitmachen.
|
|