0

每个人..

尝试提交表单.. 表单和 php 代码在同一个文件 index.php 中

if(isset($_POST['post_form'])) {
    echo "ISSET";

    $post_sender=$id;
    $post_reciever=$id2;
    $post_cont=$_POST['news_text'];
    $post_cont=htmlentities($post_cont);
    $post_cont=mysql_real_escape_string($post_cont);

    $post_sql=mysql_query("INSERT INTO wall_posts (from, to, content, date) VALUES ('$post_sender','$post_reciever','$post_cont',now())") or die(mysql_error());

    }else{
        echo "NOT SET";
    }

html表单

<form  method='POST' action='index.php' enctype='multipart/form-data' id='news_form' name='post_form' >
<textarea id='news_text' name='news_text' >type here..........</textarea>

<input type='submit' id='wall_post_btn' name='wall_post_btn' value='submit'>

</form>

我的错在哪里..???

代码没有错误..文件本身已损坏..刚刚在一个新的PHP文件中进行了测试...工作得很好...谢谢大家..

4

6 回答 6

2

post_form是表格的名称。您必须检查提交按钮,wall_post_btn

if(isset($_POST['wall_post_btn'])) {
  // entire code here
}
于 2012-12-18T12:36:15.193 回答
1

$_POST['wall_post_btn']。提交的名称,而不是表单

于 2012-12-18T12:34:41.403 回答
0

你不应该使用 mysql,因为它已经被贬值了。查看 mysqli 或 PDO

这:

"INSERT INTO wall_posts (from, to, content, date) VALUES ('$post_sender','$post_reciever','$post_cont',now())"

应该:

"INSERT INTO wall_posts (from, to, content, date) VALUES ('".$post_sender."','".$post_reciever."','".$post_cont."',now())"
于 2012-12-18T12:36:11.233 回答
0

有两个问题:

  1. 您需要连接到您的 mysql 服务器才能使用 mysql_real_...
  2. mysql_real_... 已弃用,正在从 php 中删除

看看这里的替代品:http: //php.net/manual/en/function.mysql-real-escape-string.php

于 2012-12-18T12:37:54.540 回答
0

问题是您正在检查 中存在的表单的名称,该名称$_POST从不存在...

您应该测试的是提交按钮的名称,例如:

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

接下来您可以使用一行来清理输入:

$post_cont= mysql_real_escape_string(htmlentities($_POST['news_text']));

最后一个:开始使用 PDO 和准备好的语句或至少现在不推荐使用的mysqli_*函数......mysql_*

于 2012-12-18T12:38:43.350 回答
0

使用此代码工作正常

<?php
if($_SERVER['REQUEST_METHOD']=="POST") {
   echo "ISSET";
    $post_sender=$id;
    $post_reciever=$id2;
    $post_cont=$_POST['news_text'];
    $post_cont=htmlentities($post_cont);
    $post_cont=mysql_real_escape_string($post_cont);

    $post_sql=mysql_query("INSERT INTO wall_posts (from, to, content, date) VALUES ('$post_sender','$post_reciever','$post_cont',now())") or die(mysql_error());

    }else{
        echo "NOT SET";
    }
?>
<form  method='post' action='index.php' enctype='multipart/form-data' id='news_form' name='post_form' >
<textarea id='news_text' name='news_text' >type here..........</textarea>

<input type='submit' id='wall_post_btn' name='wall_post_btn' value='submit'>

</form>
于 2012-12-18T12:44:46.307 回答