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:
Gruss
Andi
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>
Andi
Kommentar