mediengestalter.info
FAQ :: Mitgliederliste :: MGi Team

Willkommen auf dem Portal für Mediengestalter

Aktuelles Datum und Uhrzeit: Fr 26.04.2024 11:33 Benutzername: Passwort: Auto-Login

Thema: [PHP/MYSQL] Problem mit Bildupload - HILFE! vom 21.07.2009


Neues Thema eröffnen   Neue Antwort erstellen MGi Foren-Übersicht -> Programmierung -> [PHP/MYSQL] Problem mit Bildupload - HILFE!
Seite: 1, 2, 3, 4  Weiter
Autor Nachricht
mar_s
Threadersteller

Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:09
Titel

[PHP/MYSQL] Problem mit Bildupload - HILFE!

Antworten mit Zitat Zum Seitenanfang

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>&nbsp;</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!";
}

?>   

  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:11
Titel

Antworten mit Zitat Zum Seitenanfang

bei bildern $_FILES nicht $_POST
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
Anzeige
Anzeige
mar_s
Threadersteller

Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:18
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:28
Titel

Antworten mit Zitat Zum Seitenanfang

-> print_r($_FILES);
  View user's profile Private Nachricht senden
mar_s
Threadersteller

Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:39
Titel

Antworten mit Zitat Zum Seitenanfang

???
  View user's profile Private Nachricht senden
Pixelpole

Dabei seit: 25.10.2004
Ort: Trier
Alter: 37
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:40
Titel

Antworten mit Zitat Zum Seitenanfang

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 *bäh*


Zuletzt bearbeitet von Pixelpole am Di 21.07.2009 16:42, insgesamt 2-mal bearbeitet
  View user's profile Private Nachricht senden
pixelpapst303

Dabei seit: 06.07.2006
Ort: hamburg
Alter: 50
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:41
Titel

Antworten mit Zitat Zum Seitenanfang

Pixelpole hat geschrieben:
-> print_r($_FILES);


print_r( array ) zeigt dir den inhalt eines arrays. machs doch einfach mal, und staune Grins
  View user's profile Private Nachricht senden Website dieses Benutzers besuchen
mar_s
Threadersteller

Dabei seit: 23.05.2008
Ort: KO
Alter: 38
Geschlecht: Männlich
Verfasst Di 21.07.2009 16:44
Titel

Antworten mit Zitat Zum Seitenanfang

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?
  View user's profile Private Nachricht senden
 
Ähnliche Themen [PHP] Bildupload Problem
Bildupload Problem
mysql-problem
mySQL -> PHP Problem
[php] mysql-problem?
mysql-php Problem
Neues Thema eröffnen   Neue Antwort erstellen Seite: 1, 2, 3, 4  Weiter
MGi Foren-Übersicht -> Programmierung


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.