ホームページ  >  記事  >  php教程  >  php给$

php给$

WBOY
WBOYオリジナル
2016-06-06 19:46:571430ブラウズ

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