Как отобразить флажки в функции php for-l oop? - PullRequest
0 голосов
/ 07 мая 2020

Я пытаюсь получить выбранные флажки в форме, которые нужно поместить в массив, а затем отобразить во втором. php файле, который является вторым элементом внизу.

<?php

$data = array("images/architecture-57e8d34a48_640.jpg",
"images/gateway-arch-57e2d64548_640.jpg",
"images/horseshoe-bend-57e6d6434f_640.jpg",
"images/lake-irene-57e6d24a4d_640.jpg",
"images/silhouette-57e8d5444e_640.jpg");

function displayCheckboxes($data){
  for ($i=0; $i<count($data); $i++) {
  echo "<br><input type='checkbox' id='chkimg' name='chkimg[]' value='photo'>
  <img id='photo' src='".$data[$i]."'>" . "<br><br>";
  }
}

function greetings1(){
    return "Thank you ";
}

function greetings2(){
    return " for your submission!";
}

displayCheckboxes($data);
?>


<main id ="main">
      <h1>Best Pics</h1>
      <form id="pics" action="process.php" method="get">
        <label id="label">Name: </label>
        <input type="text" placeholder="Enter Name" name="user" id="name">
        <h2>Check Your Favorite Pics</h2>
        <?php include 'functions.inc.php' ?>
        <? php echo displayCheckboxes(); ?>
        <button type="submit"> Click here to submit </button>
      </form>
</main>


<main id = "main">
   <?php include 'functions.inc.php' ?>    
       <h2><?php echo greetings1().$_GET['user'].greetings2();?></h2>
   <? php echo displayCheckboxes(); ?>
</main>

Я знаю, что мне нужно использовать что-то вроде

if (isset($_POST['chkimg'])) 
{
    print_r($_POST['chkimg']); 
}

, но у меня возникли проблемы с тем, куда это вставить.

1 Ответ

0 голосов
/ 07 мая 2020

Вы бы поместили его во второй php файл следующим образом (хотя вы, кажется, смешиваете методы POST и GET):

<main id = "main">
<?php include 'functions.inc.php' ?>    
   <h2><?php echo greetings1().$_GET['user'].greetings2();?></h2>

<?php
if (isset($_GET['chkimg'])) {
   echo displayCheckboxes();
}
?>

</main>
...