0

ここにユーザー入力フォームがあります。これはそのためのコードです!

<form id="addCommentForm" method="POST" action="#">
    <div>

        <input type="hidden" name="post_id" id="post_id" value="<?php echo $post_id; ?>"/>

        <label for="name">Your Name</label>
        <input type="text" name="name" id="name" />

        <label for="email">Your Email</label>
        <input type="text" name="email" id="email" />

        <label for="body">Comment Body</label>
        <textarea name="bodytext" id="bodytext"></textarea>

        <input type="submit" class="submit" value="Submit" />
    </div>
</form>

しかし、送信すると、次のエラーが発生します。

Notice: Undefined index: bodytext in /home/se212004/public_html/post-comment-mine.php on line 15

これは、次のコード ブロックを参照します。

if (isset($_POST))
{

   $username = $_POST['name'];
   $email = $_POST['email'];
   $content = $_POST['bodytext'];
   $post_id=$_POST['post_id'];

   $lowercase = strtolower($email);
   $image = md5( $lowercase );

   //insert these values into the db as a new comment
   //example using array syntax to insert values
   $statement = "INSERT INTO comments (name, body, dt, email) VALUES (?, ?, now(), ?)";
   $sth = $db->prepare($statement);
   $data = array($username, $content, $email);
   $sth->execute($data);
}

エラーは を指してい $content = $_POST['bodytext'];ます。これを解決するための助けをいただければ幸いです。

ここにjavascriptファイルがあります。

$(function() {

$(".submit").click(function() {

var name = $("#name").val();
var email = $("#email").val();
var comment = $("#bodytext").val();
var post_id = $("#post_id").val();
var dataString = '&name='+ name + '&email=' + email + '&comment=' + comment +   '&post_id=' + post_id;


if(name=='' || email=='' || comment=='')
 {
alert('Please Give Valid JOE Details');
 }
else
{
$("#flash").show();
$("#flash").fadeIn(400).html('<img src="ajax-loader.gif" align="absmiddle">&     nbsp;<span class="loading">Loading Comment...</span>');
$.ajax({
    type: "POST",
  url: "post-comment-mine.php",
   data: dataString,
  cache: false,
  success: function(html){

  $("ol#update").append(html);
  $("ol#update li:last").fadeIn("slow");
  document.getElementById('email').value='';
  document.getElementById('name').value='';
  document.getElementById('comment').value='';
$("#name").focus();

  $("#flash").hide();

 }
});
}
return false;
});



});
4

2 に答える 2

1

$_POST['bodytext'] が設定されていない場合、PHP ランタイム エラーが発生する可能性があります。エラーを修正した後、交換

$content = $_POST['bodytext'];

$content = isset($_POST['bodytext']) ? $_POST['bodytext'] : '';
于 2013-04-14T19:53:08.933 に答える