2015-11-24 225 views
1

我承認我是新手,但我花了2天的時間試圖讓下面的代碼在按下提交按鈕時回顯'按下或未按'。 我剝離了所有不相關的代碼,並在下面留下。 這真的是基本的東西,我讀的每個論壇都建議我的代碼是正確的。 我只是使用Windows 10和IE連接到WAMP服務器的筆記本電腦。php isset總是返回false

<!doctype html> 
<html> 
<head> 
<meta charset="iso-8859-1"> 
<title>SystemAdministrator</title> 
<link href="pval.css" rel="stylesheet"> 
<link href="system_administrator.css" rel="stylesheet"> 

<?php 
//test to see if submit button was pressed or not 
if (isset($_post['create_userdb'])) { 
    echo 'pressed'; 
    $username = $_POST['username']; 
    echo $username; 
} else { 
    echo 'not pressed'; 
    $username = $_POST['username']; 
    echo $username; 
} 
?> 

</head> 
<body> 
<Form name ="form1" Method ="POST" Action ="system_administrator.php"> 
<INPUT TYPE = "TEXT" VALUE ="username" Name ="username"> 
<INPUT TYPE = "Submit" Name = "create_userdb" VALUE = "create_userdb"> 
</FORM> 
</body> 
</html> 
+0

A按鈕不返回一個值到PHP。 –

+0

@YUNOWORK是的。 –

+0

$ _post ['create_userdb']將其更改爲$ _POST ['create_userdb'] –

回答

3

有$ _post輸入錯誤。它應該是$ _ POST

if (isset($_POST['create_userdb'])) { 
    echo 'pressed'; 
    $username = $_POST['username']; 
    echo $username; 
} else { 
    echo 'not pressed'; 
    $username = $_POST['username']; 
    echo $username; 
} 
+0

非常感謝,這工作。 –

-1

問題是小寫$_post - 它應該是如下$_POST

<!doctype html> 
<html> 
    <head> 
     <meta charset="iso-8859-1"> 
     <title>SystemAdministrator</title> 
     <link href="pval.css" rel="stylesheet"> 
     <link href="system_administrator.css" rel="stylesheet"> 
     <?php 
     if($_SERVER['REQUEST_METHOD']=='POST'){ 
      if (isset($_POST['create_userdb'])) { 
       echo 'pressed'; 
       $username = $_POST['username']; 
       echo $username; 
      } else { 
       echo 'not pressed'; 
       $username = $_POST['username']; 
       echo $username; 
      } 
     } 
     ?> 
    </head> 
    <body> 
     <Form name="form1" Method ="POST"> 
      <INPUT TYPE="TEXT" VALUE="username" Name="username" /> 
      <INPUT TYPE="Submit" Name="create_userdb" VALUE="create_userdb" /> 
     </FORM> 
    </body> 
</html> 
-1
  1. $_post是錯誤的。您需要$_POST

  2. 提交按鈕不會將值返回給PHP。如果您使用var_dump($_POST),則可以從表單中看到所有發佈的數據,並且create_userdb將不在該處。

你可以簡單地檢查$ _POST數組這樣的,如果你想檢查是否已按下按鈕:

<?php 
//test to see if submit button was pressed or not 
if (isset($_POST)) { 
    echo 'pressed'; 
    $username = $_POST['username']; 
    echo $username; 
} else { 
    echo 'not pressed'; 
    $username = $_POST['username']; 
    echo $username; 
} 
?> 

編輯:所以在我的情況下,它沒有任何回報。 PHP 5.3安裝。

的test.html

<!DOCTYPE html> 
<html> 
<head lang="en"> 
    <meta charset="UTF-8"> 
    <title></title> 
</head> 
<body> 
    <form method="POST" enctype="multipart/form-data" action="test.php"> 
    <input type="text" value="username" name="username"> 
    <input type="submit" name="create_userdb" value="create_userdb"> 
    </form> 
</body> 
</html> 

test.php的

<?php 
var_dump($_POST); 

輸出:

array (size=1) 
'username' => string 'username' (length=8) 
+0

提交按鈕返回值。即http://stackoverflow.com/questions/5438216/how-do-i-post-button-value-to-php – artberri

+0

@artberri這怎麼可能?我只是在我的機器上測試了這個,提交按鈕沒有返回任何東西。 –

+0

你在做錯事。它只是工作。 – artberri