试图用PHP发布多维数组

时间:2019-03-05 12:40:52

标签: php arrays forms post

我正在尝试根据帖子中提交的数组来回显信息。这是我的多维数组代码:

    $filmarkiv = array( 
    'rpo' => array( 
        'titel' => 'loremipsum',
        'beskr' => 'loremipsumloremipsumloremipsum', 
        'skues' => 'loremipsum', 
        'imdb' => 'https://loremipsum/', 
        'img' => 'loremipsum.jpg',
        'rull' => 'loremipsum.png'),      
    'thepre' => array( 
        'titel' => 'loremipsum',
        'beskr' => 'loremipsum', 
        'skues' => 'loremipsum', 
        'imdb' => 'https://loremipsum1/', 
        'img' => 'loremipsum.jpg',
        'rull' => 'loremipsum.png'),         
    'tts' => array( 
        'titel' => 'loremipsum',
        'beskr' => 'loremipsum', 
        'skues' => 'loremipsum', 
        'imdb' => 'https://loremipsum/', 
        'img' => 'loremipsum.jpg',
        'rull' => 'loremipsum.png'
    ));

此代码决定要上映的电影及其信息。

此外,此代码:

 <?php

            if (isset($_POST['submit'])) {
                $valgt = $_POST['submit']; 
                if ($valgt == " .$key. ") {
                echo "<section id='valgtfilm'>
                         <h1> " .$filmarkiv ['$valgt']['titel']." </h1>
                         <p>  " .$filmarkiv ['$valgt']['besk']."</p>
                         <P>  " .$filmarkiv ['$valgt']['skues']." </p>
                         <img src=' " .$filmarkiv ['$valgt']['img']. " ' alt='Posterplakat' />
                         <img src=' " .$filmarkiv ['$valgt']['rull']. " ' alt='Posterplakat' />
                         <a href=' ".$filmarkiv['imdblink']." ' id='imdblink'>Link til ImdB</a>
                      </section>";
            }};

        ?>

我还有一个表单,每个表单都有一个selectoptions。

            <form action="" method="post">
        <label for="Filmarkiv">Filmarkiv: </label>
        <select name="Filmarkiv" id="Filmarkiv">
        <option value="#">Filmarkivliste: </option>
        <option value="rpo">Ready Player One</option>
        <option value="thepre"> The Prestige</option>
        <option value="tts">The Truman Show</option>
        </select>
        <input type="submit" name="submit" value="Velg Film!" />

您看到任何错误吗?

4 个答案:

答案 0 :(得分:0)

尝试一下:

if (isset($_POST['submit'])) {
    $valgt = $_POST['Filmarkiv']; 
    echo "<section id='valgtfilm'>
              <h1> " .$filmarkiv [$valgt]['titel']. " </h1>
              <p>  " .$filmarkiv [$valgt]['besk']. "</p>
              <P>  " .$filmarkiv [$valgt]['skues']. " </p>
              <img src=' " .$filmarkiv [$valgt]['img']. " ' alt='Posterplakat' />
              <img src=' " .$filmarkiv [$valgt]['rull']. " ' alt='Posterplakat' />
              <a href=' ".$filmarkiv[$valgt]['imdblink']." ' id='imdblink'>Link til ImdB</a>
          </section>";
};

答案 1 :(得分:0)

请使用我的代码更新您的代码以提交表单代码。

if (isset($_POST['submit'])) {
         $valgt = $_POST['Filmarkiv']; 

        if(isset($filmarkiv[$valgt])){

            echo "<section id='valgtfilm'>
                     <h1> " .$filmarkiv[$valgt]['titel']. " </h1>
                     <p>  " .$filmarkiv[$valgt]['besk']. "</p>
                     <P>  " .$filmarkiv[$valgt]['skues']. " </p>
                     <img src=' " .$filmarkiv[$valgt]['img']. " ' alt='Posterplakat' />
                     <img src=' " .$filmarkiv[$valgt]['rull']. " ' alt='Posterplakat' />
                     <a href=' ".$filmarkiv[$valgt]['imdblink']." ' id='imdblink'>Link til ImdB</a>
                  </section>";
        }
        else{
            echo 'Not Found';
        }
}

答案 2 :(得分:0)

假设您在同一页面上有PHP和HTML代码,则可以按照以下步骤进行操作:

<?php
$filmarkiv = array( 
    'rpo' => array( 
        'titel' => 'Ready Player One',
        'beskr' => 'loremipsumloremipsumloremipsum', 
        'skues' => 'loremipsum', 
        'imdb' => 'https://loremipsum/', 
        'img' => 'loremipsum.jpg',
        'rull' => 'loremipsum.png'),      
    'thepre' => array( 
        'titel' => 'The Prestige',
        'beskr' => 'loremipsum', 
        'skues' => 'loremipsum', 
        'imdb' => 'https://loremipsum1/', 
        'img' => 'loremipsum.jpg',
        'rull' => 'loremipsum.png'),         
    'tts' => array( 
        'titel' => 'The Truman Show',
        'beskr' => 'loremipsum', 
        'skues' => 'loremipsum', 
        'imdb' => 'https://loremipsum/', 
        'img' => 'loremipsum.jpg',
        'rull' => 'loremipsum.png'
    )
);
?>

<form method="post">
    <label for="Filmarkiv">Filmarkiv: </label>
    <select name="Filmarkiv" id="Filmarkiv">
        <option value="">Filmarkivliste:</option>
        <?php
            foreach ($filmarkiv as $identifier => $film) {
                echo '
        <option value="' . $identifier . '">' . $film['titel'] . '</option>';
            }
        ?>
    </select>
    <input type="submit" name="submit" value="Velg Film!" />
</form>

<?php
    if (isset($_POST['submit']) && !empty($_POST['Filmarkiv'])) {
       $film = $filmarkiv[$_POST['Filmarkiv']];
?>
<section id="valgtfilm">
    <h1><?php echo $film['titel'] ?></h1>
    <p><?php echo $film['besk'] ?></p>
    <p><?php echo $film['skues'] ?></p>
    <img src="<?php echo $film['img'] ?>" alt="Posterplakat" />
    <img src="<?php echo $film['rull'] ?>" alt="Posterplakat" />
    <a href="<?php echo $film['imdblink'] ?>" id="imdblink">Link til ImdB</a>
</section>
<?php
    }
?>

答案 3 :(得分:0)

应该像belew ...

 <?php

                if (isset($_POST['submit'])) {
                    $valgt = $_POST['Filmarkiv']; 
                    if ($valgt) {
                    echo "<section id='valgtfilm'>
                             <h1> " .$filmarkiv[$valgt]['titel']." </h1>
                             <p>  " .$filmarkiv[$valgt]['besk']."</p>
                             <P>  " .$filmarkiv[$valgt]['skues']." </p>
                             <img src=' " .$filmarkiv[$valgt]['img']. " ' alt='Posterplakat' />
                             <img src=' " .$filmarkiv[$valgt]['rull']. " ' alt='Posterplakat' />
                             <a href=' ".$filmarkiv[$valgt][imdb]." ' id='imdblink'>Link til ImdB</a>
                          </section>";
                }};

            ?>

但是最好这样做,这样以后就不会遇到未定义索引的问题...

<?php

                     if (isset($_POST['submit'])) {
                        $valgt = $_POST['Filmarkiv']; 
                        if ($valgt) {
                        echo "<section id='valgtfilm'>"; ?>
                          <h1> <?=($filmarkiv[$valgt]['titel']) ? ($filmarkiv[$valgt]['titel']) : ("")?> </h1>
                                 <p> <?=($filmarkiv[$valgt]['besk']) ? ($filmarkiv[$valgt]['besk']) : ("")?> </p>
                                 <P>  <?=($filmarkiv[$valgt]['skues']) ? ($filmarkiv[$valgt]['skues']) : ("")?>  </p>
                   <?=($filmarkiv[$valgt]['img']) ? ("<img src=' " .$filmarkiv[$valgt]['img']. " ' alt='Posterplakat' />") : ("")?>              
                    <?=($filmarkiv[$valgt]['rull']) ? ("<img src=' " .$filmarkiv[$valgt]['rull']. " ' alt='Posterplakat' />") : ("")?>             
                                <?=($filmarkiv[$valgt]['imdblink']) ? ("<a href=' " .$filmarkiv[$valgt]['imdblink']. " '> Link til ImdB</a> </section>") : (" </section>")?>;
<?                    }};

                ?>