| Neuer Benutzer
Registriert seit: 05.10.2008
Beiträge: 13
| Datensatz einfügen Hallo zusammen Vielleicht kann mir hier jemand helfen. Ich habe ein PHP Script mit welchem ich ein Bild und ein Text in eine MySQL Datenbank laden kann. Funktioniert einwandfrei. Nun, jetzt habe ich ein zusätzliches Feld in der Datenbank erstellt welches "text" heisst. Mein Problem ist nun, ich bringe es einfach nicht fertig dieses Textfeld in das PHP Script zu integrieren damit die Eingabe in die Datenbank geschrieben wird.
Wo müsste ich im Script dieses Feld einfügen?
Hier mal das Script: PHP-Code: <?php error_reporting(E_ALL); require_once('verbindung.php'); // Maximale Dateigröße in MB $maxfilesize = 1; // Datei-Feldname im Formular $fieldname = 'bild'; // Wo soll die Datei hingeladen werden (Ordner)? $uploaddir = 'files'; // erlaubte Endungen $allowedfiletype = array('png','GIF','gif','jpg','jpeg','JPG','JPEG','txt'); /*####################################################################*/ $dateiname = ''; $endung = ''; $orgname = ''; $allesok = ''; $fehler = ''; $komm = ''; $bildrs = "noch keines geladen"; $table = 'picture'; // Variablen absichern function quote_smart($value) { // Ueberfluessige Maskierungen entfernen if (get_magic_quotes_gpc()) { $value = stripslashes($value); } // In Anfuehrungszeichen setzen, sofern keine Zahl // oder ein numerischer String vorliegt if (!is_numeric($value)) { $value = "'" . mysql_real_escape_string($value) . "'"; } return $value; } // Wenn id übergeben wird, dann laden des Datensatzes $id = isset($_REQUEST['id']) ? $_REQUEST['id'] : ''; if(!empty($id)) { $asql=mysql_query("SELECT kommentar,dateiname FROM $table WHERE id=$id") or die(mysql_error()); $komm = mysql_result($asql,0,'kommentar'); $bildrs = $uploaddir."/".mysql_result($asql,0,'dateiname'); } $ausgabe = "Maximale Größe: $maxfilesize MB<br />Erlaubte Endungen: <b>"; if(count($allowedfiletype) > 1){ $last = array_pop($allowedfiletype); $ausgabe .= implode(', ', $allowedfiletype); $ausgabe .= ' und '.$last; }elseif(count($allowedfiletype) == 1) $ausgabe .= $allowedfiletype[0]; $ausgabe .= "</b>"; // Einfache Funktion zum Eintrag in die Tabelle "picture" function uploaddb($kommentar,$dateiname,$table,$id,$file){ if(!empty($id)) { if (file_exists($file)) { unlink($file); } $sql = sprintf("update $table set kommentar=%s, dateiname='$dateiname', datum=now() where id=$id",$kommentar) or die ("SQL-Fehler = ".mysql_error()); } else { $sql = sprintf("insert into $table (kommentar,dateiname,datum) Values (%s,'$dateiname',now())",$kommentar) or die ("SQL-Fehler = ".mysql_error()); } $rs = mysql_query($sql); if($rs){ return "<br/>Daten sind gespeichert<br/>"; } else { return "<br/>Speicherung nicht möglich<br/>"; } } // Fehlerüberprüfung // Splitten des Dateinamens Überprüfung der Endung // Abfrage, ob Formular abgeschickt und splitten des Dateinamens if(isset($_POST['send'])){ $allesok = 1; $darray = explode('.', str_replace('/', '.', $_FILES[$fieldname]['name'])); if (count($darray) == 2) { $orgname = trim($darray[0])."_".time(); $endung = trim(strtolower($darray[1])); } // Feldüberprüfung if($_FILES[$fieldname]['error'] == 1){$allesok=0; $fehler='Datei überschreitet die Uploadgröße in der php.ini ('.ini_get('upload_max_filesize').')!'; } elseif($_FILES[$fieldname]['error'] == 3) {$allesok=0; $fehler = 'Datei nur teilweise hochgeladen!'; } elseif($_FILES[$fieldname]['error'] != 0) {$allesok=0; $fehler ='Keine Datei ausgewählt!'; } elseif(!in_array($endung, $allowedfiletype)) {$allesok=0; $fehler = 'Endung nicht erlaubt!'; } elseif(filesize($_FILES[$fieldname]['tmp_name'])/1024/1024 >= $maxfilesize) {$allesok=0; $fehler = 'Datei zu groß!'; } } ?> <html><head><title>Upload</title> </head><body> <?php // wenn alles ok dann Upload des Bildes if($allesok){ // Dateiname prüfen und Zeichen ersetzen $neuname = ''; for ($i=0; $i<strlen($orgname); $i++) { $zz = substr($orgname, $i, 1); if (!preg_match("/^[A-Za-z0-9-_]+$/i", $zz)) $zz = '_'; $neuname.= $zz; } // Monage des Dateinamens $dateiname = $neuname.'.'.$endung; // Upload move_uploaded_file($_FILES[$fieldname]['tmp_name'], $uploaddir.'/'.$dateiname); $dirname = dirname($_SERVER['PHP_SELF']); $fileurl = 'http://'.$_SERVER['SERVER_NAME'].(substr($dirname, 0, 1) == '\\' ? substr($dirname, 1):$dirname).'/'.$uploaddir.'/'; $href = $fileurl.urlencode($dateiname); $anzeigen = $fileurl.$dateiname; // Formularwerte in der Datenbank speichern und Meldung ausgeben. echo uploaddb(quote_smart($_POST['kommentar']),$dateiname,"picture",$id,$bildrs); echo "<b>Datei wurde erfolgreich hochgeladen</b><br /> <a href=\"".$href."\">$anzeigen</a><br>"; }else{ // Ausgabe des Formulars ?> <div style="color:red;"><?php echo $fehler; ?></div> <?php print $ausgabe;?> <br /> <h1>Formular</h1> <form action="<?php echo $_SERVER['PHP_SELF']?>" enctype="multipart/form-data" method="post"> <input name="<?php echo $fieldname?>" type="file" size="40" /> <input type="hidden" name="send" value="send" /><br/> Kommentar<br /> <textarea name="kommentar" cols="50" rows="10" id="kommentar"><? echo $komm;?></textarea> <input type="hidden" name="id" value="<?php echo $id;?>" /> <br /> Bild: <? echo $bildrs;?><br> <input type="submit" name="submit" value="Hochladen" /> </form> <?php } ?> <br/><a href="uebersicht.php">Anzeige der Übersicht </a><br /> </body></html> Gruss
Andi |