2014-05-24 83 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>