2012-03-20 73 views
0

我有用于在表格中发送它的文本框,文本区域和PHP代码。当我试图提交表单时,它变得空白,甚至其他部分也不起作用。我无法插入文本区域值

代码 -

<form action="" method="post" class="niceform"> 

<fieldset>       

    <dl><dd>&nbsp;</dd></dl> 
    <dl> 
    <dt> 
     <label for="service">Service Name:</label> 
    </dt> 
     <dd><input type="text" name="service_name" id="" size="39" /></dd> 
    </dl> 

    <dl> 
     <dt><label for="comments">Comments:</label></dt> 
     <dd> 
     <textarea name="comments" id="comments" rows="5" cols="36"></textarea> 
     </dd> 
    </dl> 

    <dl class="submit"> 
     <input type="submit" name="submit" id="submit" value="Submit" /> 
     <br /> 
     <br /> 
    </dl> 

    <?php 

     $service_name = $_POST['service_name']; 
     $comment = $_POST['comments']; 
     mysql_connect("localhost","root",""); 
     mysql_select_db("easylaw"); 

     $query = "INSERT INTO service_cat VALUES('','$service_name','$comment')"; 
     mysql_query($query); 
     $result = mysql_affected_rows(); 
     if($result==1) 
     { 
    ?> 
      <div class="valid_box">Your Record Submitted. </div> 
    <?php 
     } 
     else 
     { 
     ?> 
      <div class="warning_box">Something is Wrong.</div> 
     } 
     <?php 
     ?>    

     </fieldset> 

     </form> 

任何机构可以告诉我什么都可以,这样它不会,并没有什么太出了问题..

谢谢:)

+0

什么是在$ _ POST的内容?后续代码var_dump($ _ POST); – 2012-03-20 12:27:10

+5

http://bobby-tables.com/ – Quentin 2012-03-20 12:28:20

+0

您的脚本容易受到通过SQL注入篡改数据库的攻击。请在'$ service_name = mysql_real_escape_string($ _ POST ['service_name']);' – 2012-03-20 12:29:18

回答

1
<div class="warning_box">Something is Wrong.</div> 

应be

<div class="warning_box">Something is Wrong.</div><?php 

及以下

<?php 

必须删除。

+0

是它的工作现在.. 对不起,这mistake..will检查从下一次。 – 2012-03-20 12:42:09

0

注释字段在你的数据库中有什么样的列型?这应该是varchar或(long | medium)文本。

将此更改为:mysql_query($sql);mysql_query($sql) or die(mysql_error());以产生某种错误消息,从而使调试更容易!

此外,你的脚本是容易的SQL注入;使用mysql_real_escape_string()函数转义用户输入。或者使用像PDO这样的数据库抽象层。

虽然你没有义务列出列名,但我建议无论如何。这是mysql insert-statement的全部语法。

INSERT [LOW_PRIORITY | DELAYED | HIGH_PRIORITY] [IGNORE] 
[INTO] tbl_name [(col_name,...)] 
{VALUES | VALUE} ({expr | DEFAULT},...),(...),... 
[ ON DUPLICATE KEY UPDATE 
    col_name=expr 
    [, col_name=expr] ... ] 
+0

我已经用它作为“长文本”。指列类型是LONGTEXT。 – 2012-03-20 12:34:37

0

使用此代码,当您提交表单,如果-else

if($result==1) 
{ 
    echo"<div class='valid_box'>Your Record Submitted. </div>"; 
} 
else 
{ 
    echo"<div class='warning_box'>Something is Wrong.</div>"; 
}