>  기사  >  php教程  >  php给$

php给$

WBOY
WBOY원래의
2016-06-06 19:46:571427검색

在调试一个程序的时候发现很奇怪的现象,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 h

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

<span> 1</span> <span>php 
</span><span> 2</span> <span>if</span>(<span>$_POST</span>['submit'] == 'Add'<span>){
</span><span> 3</span>     <span>if</span>(<span>$_POST</span>['type']='movie' && <span>$_POST</span>['movie_type'] == ''<span>){
</span><span> 4</span>         <span>header</span>('Location:form4.php'<span>);
</span><span> 5</span> <span>    }
</span><span> 6</span> <span>}
</span><span> 7</span> ?>
<span> 8</span> 
<span> 9</span>      
<span>10</span>     <title>Multipurpose Form</title>
<span>11</span>     
<span>12</span>     
<span>13</span>         <span>php 
</span><span>14</span>         
<span>15</span>         <span>if</span>(<span>$_POST</span>['submit'] == 'Add'<span>){
</span><span>16</span>             <span>echo</span> '<h1>Add '.<span>ucfirst</span>(<span>$_POST</span>['type']).'</h1>'<span>;
</span><span>17</span>         ?>
<span>18</span>         
19 20 2122232627php 2829if($_POST['type'] == 'movie') {?> 30313233343536373839else 40 { echo ''; } 41 ?> 424344455354
Name echo $_POST['name']?> 24 25
Movie type echo $_POST['movie_type']?>
Year
Movie Description
Biography
46 php 47 if(isset($_POST['debug'])){ 48 echo ''; 49 } 50 ?> 51 52
55
56 php 57 } 58 else if($_POST['submit']=='Search'){ 59 echo '

Search for '.ucfirst($_POST["type"]).'

'; 60 echo '

Searching for '.$_POST["name"].'...

'; 61 } 62 63 if(isset($_POST['debug'])){ 64 echo '
'<span>;
</span><span>65</span>             <span>print_r</span>(<span>$_POST</span><span>);
</span><span>66</span>             <span>echo</span> '
'; 67 } 68 ?> 69 70

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

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

<br><br>
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:php中判断变量是否为空다음 기사:自学php笔记