PHP:为什么isset不起作用

时间:2016-06-10 10:49:29

标签: php html

我是PHP的新手。这是一个非常基本的问题 两种情景:

1.By默认加载时,应显示6月 2.如果用户单击提交按钮,则应显示Jan。

simple.php(PHP + HTML)
PHP:

if(isset($_POST['submit']))
   echo "Jan";
else
echo "June";

HTML:

 <form method="post" action="simple.php" target='_self'>
        <input type='submit' id ="submit" value='Submit' name="submit"/>
 </form>

现在,当您点击提交按钮时,它会显示6月 请建议我哪里出错了。请指教我。

4 个答案:

答案 0 :(得分:2)

代码似乎正在我的电脑上运行。您是否使用<?php?>代码包围了PHP代码?

enter image description here

这是我使用的代码(simple.php):

<?php
    if(isset($_POST['submit']))
       echo "Jan";
    else
        echo "June";
?>

<form method="post" action="simple.php" target='_self'>
    <input type='submit' id ="submit" value='Submit' name="submit"/>
</form>

(顺便说一下,你应该删除HTML代码中id标记后面的空格)

答案 1 :(得分:0)

尝试检查:

 foreach($firstbloodkill as $key => $element) {
     if(empty($element)) {
         $firstbloodkill[$key] = 0;
     }
 }

OR

if (!empty($_POST))

答案 2 :(得分:0)

我认为在您单击提交按钮一次后,您只按f5再次提交表单而不是刷新页面。

只需选择地址栏并按Enter键,然后每次检查。

答案 3 :(得分:0)

即使内容已更改,

F5也可能会为您提供相同的页面,因为它可能会从缓存中加载页面。

Ctrl+F5将导致浏览器丢弃缓存并从服务器请求新缓存,服务器可能会忽略no-cache标头并提供服务器端缓存页面。因此,如果服务器忽略no-cache标头,甚至Ctrl + F5也可能返回旧版本的页面。 请求标头包含一些POST数据。无论你做什么,当你重新加载页面时,rquest将再次发送。

简单的解决方案是重定向到新的(如果不是相同的)页面。此模式在Web应用程序中非常常见,称为Post / Redirect / Get。所有表单都可以进行POST,如果成功,则应该进行重定向。

请阅读此内容以获取更多信息 GET/POST/REDIRECT