php.de

Zurück   php.de > Webentwicklung > Datenbanken

Datenbanken SQL und Co

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 22.03.2009, 12:45  
Benutzer
 
Registriert seit: 22.03.2009
Beiträge: 38
PHP-Kenntnisse:
Fortgeschritten
miki2802 befindet sich auf einem aufstrebenden Ast
Standard Einträge mit Bild in Datenbank

Hallo...
ich versuche schon seit längerem ein Uploadformular zu erstellen, der auch ein Bilduplad hat. Nur leider komme ich nicht weiter. Habe schon mehrere Scripts aus den Foren ausprobiert, komme aber nicht zum gewünschten Ergebnis.

Könnte mir biite jemand helfen und sagen was ich an dem Script ändern muss damit die Einträge mit dem Bild (Bildpfad) in die Datenbank eingetragen werden. Wie ich die Daten auslese ist mir klar, nur das mit dem Bild *@%grübel...

Hab mal den Script eingetragen den ich benutze, wäre super wenn jemand Rat hat...
Vielen Dank im Vorraus für Eure Hilfe
Miki

PHP-Code:
<?php require_once('../Connections/oja_members.php'); ?>
<?php
if (!function_exists("GetSQLValueString")) {
function 
GetSQLValueString($theValue$theType$theDefinedValue ""$theNotDefinedValue ""
{
  
$theValue get_magic_quotes_gpc() ? stripslashes($theValue) : $theValue;

  
$theValue function_exists("mysql_real_escape_string") ? mysql_real_escape_string($theValue) : mysql_escape_string($theValue);

  switch (
$theType) {
    case 
"text":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;    
    case 
"long":
    case 
"int":
      
$theValue = ($theValue != "") ? intval($theValue) : "NULL";
      break;
    case 
"double":
      
$theValue = ($theValue != "") ? "'" doubleval($theValue) . "'" "NULL";
      break;
    case 
"date":
      
$theValue = ($theValue != "") ? "'" $theValue "'" "NULL";
      break;
    case 
"defined":
      
$theValue = ($theValue != "") ? $theDefinedValue $theNotDefinedValue;
      break;
  }
  return 
$theValue;
}
}

$editFormAction $_SERVER['PHP_SELF'];
if (isset(
$_SERVER['QUERY_STRING'])) {
  
$editFormAction .= "?" htmlentities($_SERVER['QUERY_STRING']);
}
$tempname $_FILES['bild']['tmp_name'];  
$name $_FILES['bild']['name']; 
$type $_FILES['bild']['type'];  
$size $_FILES['bild']['size']; 

if(
$type != "image/gif" && $type != "image/jpeg" && $type != "image/png") {  
    
$err[] = "nur gif, png und jpeg Dateien dürfen hochgeladen werden.";  
}  
if(
$size "3000000") {  
    
$err[] = "Die Datei welche du hochladen willst, ist zu gross!<br>Maximale Dateigrosse beträgt 3 MB!";  
}  

if(empty(
$err)) {  
    
copy("$tempname""$name");  
    echo 
"Die Datei $name wurde erfolgreich hochgeladen!";  
}  
else {  
    foreach(
$err as $error)  
    echo 
"$error<br>";  


if ((isset(
$_POST["MM_insert"])) && ($_POST["MM_insert"] == "form1")) {
  
$insertSQL sprintf("INSERT INTO members (bild, memnr, vorname, name, geb, strasse, strnr, plz, ort, tel, mob, mail, memseit, status, sperre, kommentar) VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)",
                       
GetSQLValueString($_POST['bild'], "text"),
                       
GetSQLValueString($_POST['memnr'], "text"),
                       
GetSQLValueString($_POST['vorname'], "text"),
                       
GetSQLValueString($_POST['name'], "text"),
                       
GetSQLValueString($_POST['geb'], "date"),
                       
GetSQLValueString($_POST['strasse'], "text"),
                       
GetSQLValueString($_POST['strnr'], "text"),
                       
GetSQLValueString($_POST['plz'], "text"),
                       
GetSQLValueString($_POST['ort'], "text"),
                       
GetSQLValueString($_POST['tel'], "text"),
                       
GetSQLValueString($_POST['mob'], "text"),
                       
GetSQLValueString($_POST['mail'], "text"),
                       
GetSQLValueString($_POST['memseit'], "date"),
                       
GetSQLValueString($_POST['status'], "text"),
                       
GetSQLValueString($_POST['sperre'], "date"),
                       
GetSQLValueString($_POST['kommentar'], "text"));
                       
                       

  
mysql_select_db($database_oja_members$oja_members);
  
$Result1 mysql_query($insertSQL$oja_members) or die(mysql_error());

  
$insertGoTo "members.php";
  if (isset(
$_SERVER['QUERY_STRING'])) {
    
$insertGoTo .= (strpos($insertGoTo'?')) ? "&" "?";
    
$insertGoTo .= $_SERVER['QUERY_STRING'];
  }
  
header(sprintf("Location: %s"$insertGoTo));
}

mysql_select_db($database_oja_members$oja_members);
$query_conn_members "SELECT * FROM members";
$conn_members mysql_query($query_conn_members$oja_members) or die(mysql_error());
$row_conn_members mysql_fetch_assoc($conn_members);
$totalRows_conn_members mysql_num_rows($conn_members);
?>

Hier ist das Formular. (abgekürzt)

<form action="upload.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<table width="700" align="left" cellspacing="1">
<tr valign="baseline">
<td width="140" align="left" valign="bottom" nowrap="nowrap" bgcolor="#FFFF99">Bild</td>
<td width="548" bgcolor="#FFFF66"><label>
<input type="file" name="bild" id="bild" />
<input type="hidden" name="MAX_FILE_SIZE" value="3000000" />
</label></td>
</tr>
<textarea name="kommentar" id="kommentar" cols="45" rows="10"></textarea>
</label></td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">&nbsp;</td>
<td bgcolor="#FFAD4A">&nbsp;</td>
</tr>
<tr valign="baseline">
<td nowrap="nowrap" align="right">&nbsp;</td>
<td bgcolor="#FFFF66"><input type="submit" value="Einfügen" /></td>
</tr>
</table>
<input type="hidden" name="MM_insert" value="form1" />
</form>

Geändert von miki2802 (22.03.2009 um 12:49 Uhr). Grund: Zusatzeingabe
miki2802 ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 22.03.2009, 12:50  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

„komme aber nicht zum gewünschten Ergebnis.“ ist keine sinnvolle Fehlerbeschreibung. Wo hakts?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.03.2009, 12:55  
Benutzer
 
Registriert seit: 22.03.2009
Beiträge: 38
PHP-Kenntnisse:
Fortgeschritten
miki2802 befindet sich auf einem aufstrebenden Ast
Standard

WOW, das geht ja schnell..., danke

ist so, der upload funzt gut, alles ist ok. Nur wenn ich im Formular auf Bild suchen klicke und ein Bild von meiner Festplatte wähle, wird in der Datenbank nichts gespeichert und ich kann somit das Bild nicht sehen.
miki2802 ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:10  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Strings in SQL müssen mit ' ' umschlossen sein. Dein real_escape ist auch nicht sehr sinnvoll ohne Datenbankverbindungsressource.

[edit]
Oh sorry, ich sehe gerade 1/ passiert in der Funktion. Bitte mach doch mal einen Dump von der Query.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:17  
Benutzer
 
Registriert seit: 22.03.2009
Beiträge: 38
PHP-Kenntnisse:
Fortgeschritten
miki2802 befindet sich auf einem aufstrebenden Ast
Standard

hhmmm???? komm da jetzt nicht so richtig mit. Der Script funktioniert ja und ich kann alle Formularfelder ausfüllen in der Datenbank ablegen und auch wieder auslesen. Nur beim Bild klappt es nicht, es kommt auch keine Fehlermeldung oder ähnliches. Wenn ich dann die Daten wieder auslese zeigt es das Bild eben nicht an und in der Datenbank gibts den Wert NULL aus??????

Ich bin nicht so bewannt mit dem PHP. weis nicht was Du meinst mit einem Dump von der Query zu machen?
miki2802 ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:20  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Naja, ok. Wieso benutzt Du $_POST['bild'] und nicht $name?
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:22  
Benutzer
 
Registriert seit: 22.03.2009
Beiträge: 38
PHP-Kenntnisse:
Fortgeschritten
miki2802 befindet sich auf einem aufstrebenden Ast
Standard

na ja, die spalte in der DB heis bild also dachte ich muss es so sein...

hab den code mit Dreamweaver erstellt
miki2802 ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:27  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Da file-Felder ihre Daten nach $_FILES überträgt bin ich gar nicht sicher, ob das überhaupt in $_POST zu finden ist. Benutz mal $name, ich denke es geht dann. Allenfalls der Pfad könnte dann noch falsch sein.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:32  
Benutzer
 
Registriert seit: 22.03.2009
Beiträge: 38
PHP-Kenntnisse:
Fortgeschritten
miki2802 befindet sich auf einem aufstrebenden Ast
Standard

GetSQLValueString($_POST['bild'], "text"),

meinst Du ich soll das hier ändern?
Dann müsste ich ja den Spaltennamen in der DB auch ändern?
miki2802 ist offline   Mit Zitat antworten
Alt 22.03.2009, 13:33  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Ja, und: Nein mußt Du nicht.

Schade, dass Dreamweaver so gar nichts mit Programmierung zu tun hat. Noch schlimmer dann, dass es trotzdem Code erstellt.
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch 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
datenbank doppelte einträge shok PHP Tipps 2008 6 09.12.2008 22:55
[Erledigt] bild als link mit mouseover ohne zeilenumbruch SteiniKeule HTML, Usability und Barrierefreiheit 12 30.10.2008 21:12
Transparentes Bild über Bild legen *update gelöst* Broadcast PHP-Fortgeschrittene 11 04.02.2008 15:27
Verkleinertes Bild (Thumb) in Datenbank speichern Da-JS PHP Tipps 2006 17 21.05.2006 17:35
Bild mit Textausgabe aus Datenbank!! Datenbanken 12 07.01.2006 12:34
Bild aus einer Datenbank laden Unknown PHP Tipps 2005-2 5 26.09.2005 01:38
Einträge aus datenbank nur einmal ausgeben MatthiasNI PHP Tipps 2005-2 1 19.09.2005 10:20
[Erledigt] Bild aus Datei in Bild einfügen PHP Tipps 2005-2 1 07.08.2005 23:36
Bild aus URL in Datenbank anzeigen Diego1978 PHP Tipps 2005-2 2 07.08.2005 14:11
Ähnliche Einträge in der Datenbank finden Datenbanken 3 11.07.2005 12:57
doppelte Einträge aus Datenbank anzeigen Lia PHP Tipps 2005 9 24.05.2005 14:49
script um leicht viele einträge in die datenbank zu bekommen bratwurstschorsch PHP Tipps 2004-2 8 25.11.2004 08:41
Bild aus Server anzeigen lassen flual2000 PHP Tipps 2004 4 26.10.2004 16:33

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
datenbank kleiderschrank, php sql bilder hochladen insert doppelte einträge fehlermeldung

Alle Zeitangaben in WEZ +2. Es ist jetzt 07:36 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