Получите изображения с selectbox при отправке пользователем

Привет, ребята, мне нужна типичная информация о PHP

Я создаю selectbox, который имеет несколько вариантов. и у меня есть также 6 изображений, тогда мне нужно, когда пользователь выбирает 1, 2, 3 и отправляет затем image1, image2, image3 должны отображаться на странице, а когда пользователь выбирает 2, 4, 6 и отправляет затем image2, image4, image6 должны покажите, что я делаю в php, чтобы получить этот код, но мне не повезло, спасибо.

   <form method="get">
<select name="images" multiple="multiple">
<option name="img" value="image">1</option>
<option name="img" value="image">2</option>
<option name="img" value="image">3</option>
<option name="img" value="image">4</option>
<option name="img" value="image">5</option>
<option name="img" value="image">6</option>
</select>
<input type="submit" value="submit" name="submit">
</form>

вот php

<?php
//path to directory to scan. i have included a wildcard for a subdirectory
$directory = "images/*/";

//get all image files with a .jpg extension.
$images = glob("" . $directory . "*.jpg");

$imgs = '';
// create array
foreach($images as $image){ $imgs[] = "$image"; }

//shuffle array
shuffle($imgs);

//select first 20 images in randomized array
$imgs = array_slice($imgs, 0, 20);

//display images
foreach ($imgs as $img) {
echo "<img src='$img' /> ";
}
?>

но я хочу эту работу отправить спасибо

0

Решение

Вы должны ссылаться на выбор пользователя, называя select field = «images []» exp:

<select name="images[]" multiple="multiple">
<option value="1">1</option>
..
</select>

затем в php вы можете получить доступ к отправленным значениям $ _GET [‘images’]. Это даст вам массив представленных значений в порядке

1

Другие решения

Оберните ваш php-код следующим оператором if:

if (isset($_GET['submit']))
{
// Your code
}
0

Я нашел 2 ошибки, вы можете продолжить оттуда:
1. в форме вы должны включить в форму некоторые действия — имя файла, который откроется после отправки и получит данные через $ _GET.
2. вам нужно сделать цикл foreach — endforeach и распечатать данные изображений вместо того, чтобы повторять строки параметров …

Это должно выглядеть примерно так:

<?php
//path to directory to scan. i have included a wildcard for a subdirectory
$directory = "imagesend/*/";

//get all image files with a .jpg extension.
$images = glob("" . $directory . "*.jpg");

$imgs = '';
// create array
foreach($images as $image){ $imgs[] = "$image"; }

//shuffle array
shuffle($imgs);

//select first 20 images in randomized array
$imgs = array_slice($imgs, 0, 20);?>
<form method="get" action="XXX.php">
<select name="images" multiple="multiple">
<?php foreach ($imgs as $img):  ?>

<option name="<?php echo $img; ?>" value="<?php echo $img; ?>"><img src="<?php echo $img; ?>"/></option>

<?php endforeach; ?>
</select>
<input type="submit" value="submit" name="submit">
</form>
0

Рабочий код

<html>
<head>
<title>Listing 9.15 A file upload script</title>
</head>
<?php
if ( isset( $_POST['img']) )
{
$im="images/".$_POST['img'].".jpg";
echo "".$im;
echo "<img src='".$im ."'/>";
}
else
{
print "Error";
}

?>
<body>
<form enctype="multipart/form-data" action="<?php print $_SERVER['PHP_SELF'] ?>" method="POST">
<select name="img" multiple="multiple">
<option  value="image1">1</option>
<option  value="image2">2</option>
<option  value="image3">3</option>
<option  value="image4">4</option>
<option  value="image5">5</option>
<option  value="image6">6</option>
</select>
<input type="submit" value="submit" name="submit">
</form>
</body>
</html>
0
По вопросам рекламы [email protected]