2014-05-24 113 views
0

SRY我的業餘問題。我寫了這個代碼獲取文本從輸入和添加到數據庫:如何添加行動提交按鈕

<html xmlns="http://www.w3.org/1999/xhtml" lang="fa"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>My Title</title> 
    </head> 
    <body> 
     <form action="" method="POST"> 
      <label for="name" id="app_name_label" >name</label> 
      <input type="text" name="name" id="name_textfield"> 

      <input type="submit" name"Submit" value="send" > 
     </form> 
<?php 

if(isset($_POST['Submit'])) 
{ 
     include_once("config.php"); 
    $con = mysql_connect($db_host,$db_user,$db_pass) 
    or die(mysql_error()); 

    $selected=mysql_select_db($db_name, $con) 
    or die(mysql_error()); 

    if($selected){ 
    $name = $_REQUEST['name']; 

    $ins = "INSERT INTO infos (app_name) VALUES ('$name')"; 
    $saved=mysql_query($ins); 
    if($saved) 
    { 
     echo "Saved!!"; 
    } 
    else 
    { 
     echo "Don't Saved!!"; 
    } 

    } 
    mysql_close($con); 
} 


?> 

    </body> 
</html> 

我的數據庫沒有任何問題 但是當我運行它,沒有寫我的數據庫! :(我應該怎麼辦? 我認爲問題出在isset($_POST['Submit'])

+0

代碼應該是兩個不同的腳本,首先html部分被請求並由瀏覽器顯示。然後腳本以「action」屬性的形式記下來,並在那裏發送表單內容。該文件(一個php文件)處理表單數據。 – arkascha

+0

代碼不必位於兩個單獨的文件中。 –

回答

1

如果一切正常,那麼恐怕你必須在你的代碼一個簡單的拼寫錯誤,是造成你的問題。

<input type="submit" name"Submit" value="send" > 

應該

<input type="submit" name="Submit" value="send" > 

你已經錯過了平等的名稱後,您的驗證碼登錄。:)

在一個側面說明,你不應該使用$_REQUEST['name']而是使用$_POST['name']當表單方法爲POST。它更安全。其次,儘量使用mysqli數據庫擴展而不是使用MySQL的。從PHP 5.5開始,不推薦使用mysql擴展。

+0

問題只是等於:( –

+0

@Ahmad是啊,有時候這種無聊的問題發生:) –

1

爲了您的信息,上面的會話身體和顯示誤差更好地使用PHP的標籤,再加上你爲什麼會submition後include_once(「config.php中」)被執行而不是在實際的文件被加載?這裏的腳本和你想要達到的一樣,但處理要好得多。

<?php 
include_once("config.php"); 

if (isset($_POST['Submit'])){ 

    $err = array(); 

    $name = $_POST['name']; 

    if(!$name){ 
      $err[] = 'All fields required'; 
    } 

if(!count($err)){ 

    $name = mysql_real_escape_string($name); //Make sure you escape unwanted chars 

    $row = mysql_fetch_assoc(mysql_query("INSERT INTO infos (app_name) VALUES ('$name')")); 

    if(mysql_affected_rows() == 1) 
    { 
     $_SESSION['msg']['succ'] = 'Sent!'; 
     header("Location: index.php"); 
    } else{ 
     $_SESSION['msg']['err'] = 'Noooooo!'; 
    } 
} 

?> 

<html xmlns="http://www.w3.org/1999/xhtml" lang="fa"> 
    <head> 
     <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
     <title>My Title</title> 
    </head> 
    <body> 
     <form action="" method="POST"> 
      <?php 
      // Lets output message 
    if($_SESSION['msg']['err']) 
    { 
     echo $_SESSION['msg']['err']; 
     unset($_SESSION['msg']['err']); 
    } 
    if($_SESSION['msg']['succ']) 
    { 
     echo $_SESSION['msg']['succ']; 
     unset($_SESSION['msg']['succ']); 
    } 
     ?> 

      <label id="app_name_label">Name</label> 
      <input type="text" name="name" id="name_textfield"> 

      <input type="submit" name="Submit" value="send"> 
     </form> 
    </body> 
</html>