okay, ich habe ein Dilemma. Ich möchte in der Lage sein, maximal sechs Bilder und 2 Textfelder (Titel und Desc) in die DB zu laden ... eigentlich lasse ich mich korrigieren, ich möchte den Namen der Bilder in der db speichern, damit ich es bekommen kann die Bilder später. Ich weiß, wie man mehrere Bilder in einen Ordner hochlädt, und ich weiß, wie man Zeilen in die db einfügt, aber ich kann nicht herausfinden, wie man die zwei kombiniert. Wie würde ich dies mit Bildern kombinieren und den gesamten Prozess abbrechen, wenn eine der Dateien ein Problem hat?hochladen mehrere Bilder in db mit 2 Textfeldern
Mein DB-Setup ist einfach ID | Titel | Beschreibung | img1 | img2 | img3 | img4 | img5 | img6
der Code die ich bisher geschrieben habe, ist:
if (isset($_POST['formsubmitted'])) { //if form was submitted
$error = array();//Declare An Array to store any error message
if (empty($_POST['title'])) {//if no name has been supplied
$error[] = 'Please enter a title for your post.';//add to array "error"
$show_errors = 'show';
} else {
$title = $_POST['title'];//else assign it a variable
}
if (empty($_POST['desc'])) {
$error[] = 'Please enter a short desc of your post.';//add to array "error"
$show_errors = 'show';
} else {
$desc = $_POST['desc'];//else assign it a variable
}
if (empty($error)){ //if no error, insert into db
$new_post = "INSERT INTO `posts` (`title`, `desc`) VALUES ('$title', '$desc')";
$result = mysql_query($new_post) or die(mysql_error('error inserting post'));
}
}
dann die html ist:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<?php if (isset($show_errors)) {
//show user the errors if form cant be submitted
echo '<div> <ol>';
foreach ($error as $key => $values) { echo ' <li>'.$values.'</li>'; }
echo '</ol></div><br />'; }?>
<br />
<form method="post" id="newpost" action="" enctype="multipart/form-data">
<div><input name="title" type="text" value="" class="title_input"></div>
<div><textarea id="area4" cols="40" rows="5" name="desc" class="desc_texbox"></textarea></div>
<div><input type="file" name="images1"></div>
<div><input type="file" name="images2"></div>
<div><input type="file" name="images3"></div>
<div><input type="file" name="images4"></div>
<div><input type="file" name="images5"></div>
<div><input type="file" name="images6"></div>
<input type="hidden" name="formsubmitted" value="TRUE" />
<input type="submit" id="upload" value="Upload">
</form>
</body>
</html>
Ich würde vorschlagen, mit der Normalisierung Ihrer Datenstruktur zu beginnen, indem Sie die Bilder in eine Bildtabelle verschieben, anstatt das wiederholte Feld in der Posts-Tabelle zu haben. – nnichols