设为首页 收藏本站
查看: 1272|回复: 0

[经验分享] php给$_POST赋值会导致值为空

[复制链接]

尚未签到

发表于 2015-8-29 08:35:10 | 显示全部楼层 |阅读模式
  在调试一个程序的时候发现很奇怪的现象,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">
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'] == '')

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-105726-1-1.html 上篇帖子: php中的$_REQUEST 下篇帖子: PHP 按位与或 (^ 、&)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表