Ich muss mehrere Bilder mit Anzeigename jede Zeile einfügen. Ich kann den Anzeigenamen nicht einfügen. Ich kann den PHP-Code nicht ändern. Es ist kein Problem, mehrere Bilder einzufügen. Das Problem tritt jedoch auf, wenn Sie versuchen, den Anzeigenamen mit Bildern einzufügen. PLZ Hilfe.Mehrere Bilder mit Titel einfügen
HTML
<form action="posting_ad_imagec.php" method="post" enctype="multipart/form-data">
Ad Title: <input type="text" id="ad_name" name="ad_name[]"/>
<input type="file" id="files" name="files[]" multiple="multiple" />
<input type="submit" name="submit" value="Submit">
</form>
PHP:
<?php
$dir='ad/data/img/';
if(isset($_POST['submit'], $_FILES['files'])) {
$uploaded=array();
$ad_names = $_POST["ad_name"];
$sql = 'insert into `full texts` set `img_name` = ?, `img_type` = ?, `img_size` = ?, `ad_name` = ?';
$stmt = $connection->prepare($sql);
if($stmt){
$stmt->bind_param('ssss', $name, $type, $size, $ad_name);
foreach($_FILES['files']['name'] as $i => $name) {
if(!empty($_FILES['files']['tmp_name'][$i])) {
$name = $_FILES['files']['name'][$i];
$size = $_FILES['files']['size'][$i];
$type = $_FILES['files']['type'][$i];
$tmp = $_FILES['files']['tmp_name'][$i];
$ad_name = $ad_names[$i];
if(is_uploaded_file($tmp)){
$bytes = move_uploaded_file($tmp, $dir.$name);
if($bytes){
$status = $stmt->execute();
$uploaded[]=$status && $bytes ? $name : false;
}
}
}
}
if(!empty($uploaded)){
$_SESSION['s']=sprintf("%d images successfully saved", count($uploaded));
header('Location: posting_ad_image.php');
}
}
}
?>
Hey, zuerst überprüfe, ob du Werte in deinen $ ad_names erhältst. – divy3993
Könnte versuchen: 'name =" ad_name [] "' -> 'name =" ad_name "' und $ ad_name = $ _POST ["ad_name"] '(singular statt plural) dann trash' $ ad_name = $ ad_names [ $ i]; ' – Ultimater
@Ultimater Vielen Dank. Ihr Vorschlag hat mir geholfen, alle Bilder mit 'ad_name' auf einmal einzugeben. Aber jetzt kommt das Problem ** nur der erste Buchstabe von ad_name geht in Datenbank ein ** nicht vollständiger Name. –