zoukankan      html  css  js  c++  java
  • php给$_POST赋值会导致值为空

    在调试一个程序的时候发现很奇怪的现象,post传过来的值再某些地方为空,先看下面的代码

     1 <?php 
     2 if($_POST['submit'] == 'Add'){
     3     if($_POST['type']='movie' && $_POST['movie_type'] == ''){
     4         header('Location:form4.php');
     5     }
     6 }
     7 ?>
     8 <html>
     9     <head> 
    10     <title>Multipurpose Form</title>
    11     </head>
    12     <body>
    13         <?php 
    14         
    15         if($_POST['submit'] == 'Add'){
    16             echo '<h1>Add '.ucfirst($_POST['type']).'</h1>';
    17         ?>
    18         <form action="form4b.php" method="post"> 
    19             <input type="hidden" name="type" value="<?php echo $_POST['type'];?>"/>
    20             <table>
    21                 <tr>
    22                     <td>Name</td>
    23                     <td><?php echo $_POST['name']?>
    24                     <input type="hidden" name="name" value="<?php echo $_POST['name']?>"/>
    25                     </td>
    26                 </tr>
    27                 <?php 
    28                 
    29                 if($_POST['type'] == 'movie') {?>
    30                 <tr>
    31                     <td>Movie type</td>
    32                     <td><?php echo $_POST['movie_type']?> <input type="hidden" name="movie_type" value='<?php echo $_POST["movie_type"]?>'/></td>
    33                 </tr>
    34                 <tr>
    35                     <td>Year</td>
    36                     <td><input type="text" name="year"/></td>
    37                 </tr>
    38                 <tr><td>Movie Description</td>
    39                 <?php } else
    40                     {  echo '<tr><td>Biography</td>';  }
    41                 ?>
    42                 <td><textarea name="extra" id="" cols="60" rows="5"></textarea></td>
    43                 </tr>
    44                 <tr>
    45                     <td colspan="2" style="text-algin:center;">
    46                         <?php 
    47                         if(isset($_POST['debug'])){
    48                             echo '<input type="hidden" name="debug" value="on">';
    49                         }
    50                         ?>
    51                         <input type="submit" name="submit" value="Add" />
    52                     </td>
    53                 </tr>
    54             </table>
    55         </form>
    56         <?php 
    57         }
    58         else if($_POST['submit']=='Search'){
    59             echo '<h1>Search for '.ucfirst($_POST["type"]).'</h1>';
    60             echo '<p>Searching for '.$_POST["name"].'...</p>';
    61         }
    62         
    63         if(isset($_POST['debug'])){
    64             echo '<pre>';
    65             print_r($_POST);
    66             echo '</pre>';
    67         }
    68         ?>
    69     </body>
    70 </html>

    在第29行是要根据上一个页面传递过来的值来输出信息的,但是即使传递过来的值是movie,还是没有输出想要的值,我我在很多地方都添加了echo($_POST['type']);这一句话发先在代码最顶端还能输出movie 的,第二行下面还是能够输出,就是在第三行下面就没有值了,这里你可能也发现错误了,if($_POST['type']='movie',这一句,本来是判断语句,结果少写了一个等号变成了赋值语句,初学者错误啊!!!!!!

    正确的写法应该是if($_POST['type']=='movie' && $_POST['movie_type'] == '')



  • 相关阅读:
    ANC耳机中的数字反馈稳定性控制(Active Noise Cancellation in Headphones by Digital Robust Feedback Control)
    【控制理论】水床效应(waterbed effect)与Bode灵敏度积分
    ANC的基本概念 主通路和次级通路
    ANC耳机中通透模式设计方案
    matlab编程规则总结
    滤波器系数、单位脉冲响应、频率响应等概念笔记
    shell 脚本艺术
    vue leader-line-vue
    vue npm rum命令
    VUEX
  • 原文地址:https://www.cnblogs.com/tylerdonet/p/3705733.html
Copyright © 2011-2022 走看看