2013-05-04 62 views
0

我有一个用户名/密码<form>如果为false,将显示无效用户,如果为true将显示<textarea>并且用户可以评论然后提交。html表格输入没有保存在MySQL

基本上,下面的代码,是then语句如果登录是正确的,那么..

session_start(); 
    $_SESSION['name'] = $name; 
    echo "success, hi $name"; 
    echo "<table> 
      <tr><td>insert comment here</td><td>poster</td> 
      <tr><td><form action='post.php' method='post'><textarea name='content'></textarea> 
      </td> 

      <td> $name</td> 
      </tr> 

      <input type='submit' name='submit' value='submit'> 
      </form> 
      </table>"; 

相对于上述<form>,我创建post.php中这将分析所有数据来自<form>并将其插入到数据库中。

<?php 
mysql_connect("localhost","root","") or die (mysql_error()); 
mysql_select_db("data") or die (mysql_error()); 
?> 

<?php 

if (isset($_POST['submit'])) { 
$cont = $_POST['content']; //data coming from index.php <form> 

mysql_query("insert into data ('content') values ('$cont')"); 

} 
else { 
} 
?> 

什么让我感到困惑,是不是有错误显示。 当我<textarea>然后点击提交我输入的东西,它进入本地主机/ post.php中但是当我刷新到索引页面,提交的数据没有被保存/记录到数据库中。

+1

为什么这会让您感到困惑?如果查询失败,这会在您的代码中被忽略,那么您为什么期待通知? – hakre 2013-05-04 19:04:37

+2

1.不要使用mysql_ *(已弃用),请改用mysqli_ *或pdo。 2.内容不需要在查询(它的一个字段名称)中引用:插入到数据(内容)值('$ cont')。 – RafH 2013-05-04 19:04:45

+0

[显示错误信息PHP Mysql]可能的重复(http://stackoverflow.com/questions/13909391/display-error-message-php-mysql) – hakre 2013-05-04 19:05:36

回答

0

有没有显示错误,因为你没有错处理方法后mysql_query("insert into data ('content') values ('$cont')");

所以,你应该在你的查询的末尾添加or die(mysql_error());并请利用SELECTVALUES ...您的查询中。

mysql_query("INSERT INTO data (content) VALUES ("'.$cont."'));

所以,你的代码应该归结为。

<?php 
mysql_connect("localhost","root","") or die (mysql_error()); 
mysql_select_db("data") or die (mysql_error()); 
?> 

<?php 
if(isset($_POST['submit'])) { 
$cont = $_POST['content']; //data coming from index.php <form> 

$query = mysql_query("INSERT INTO data ('content') 
         values ('".$cont."')") or die(mysql_error()); 
if($query){ 
    echo 'data inserted'; 
    }else { 
    echo 'data not inserted'; 
    } 

} 
else { 
} 
?> 

但请记住,我不是鼓励你使用mysql_,因为它是弱,已被弃用,你的代码是非常容易受到SQL注入。相反,学习PDO

0

它看起来像你的代码上面有几个错误的东西。请参阅link以获取有关连接和显示SQL相关问题的帮助

您的SQL无效,您没有将该“$ cont”插入到表中,它看起来像是试图将其插入到数据库名称中“数据”。看看这个link对SQL INSERT

另外一些事情更多关于你有什么上面:

0

只是一个建议。不要在<table>内使用<form>标签。它在某些情况下会造成问题。 尝试使用以下格式
<form><table>...</table> </form>