2016-03-19 17 views
0

あなたはすばらしいことを望みます。私は自分のデータベースにデータを挿入できないという問題があります。なぜそれが起こるのかという複数の理由がありますので、重複した質問とはみなさないでください。私は自分のコードをチェックした。 1つのテーブルでは、このテーブルのデータは保存されます。同じページが見つからず、ローカルデータベースにデータが保存されていないことが表示されます。私はあなたが私を助けてくれることを願っています。前もって感謝します。私は挿入ボタンをクリックしたときにデータがデータベースに保存されていません

<?php 

include_once "DBConn.php"; 

class Comments extends DBConn { 
    private $tableName = 'Comments'; 
    //attributes to represent table columns 
    public $comment_Id = 0; 
    public $Comment; 
    public $UserName; 
    public $Video_Id; 
    public $Date_Time; 

    public function save() { 
     if ($this->getDBConnection()) { 
      //escape any special characters 
      $this->Comment = mysqli_real_escape_string($this->dbc, $this->Comment); 
      $this->UserName = mysqli_real_escape_string($this->dbc, $this->UserName); 
      $this->Video_Id = mysqli_real_escape_string($this->dbc, $this->Video_Id); 

      if ($this->comment_Id == null) { 
       $q = 'INSERT INTO comments(Comment, User_Id, Video_Id, Date_Time) values' . 
         "('" . $this->Comment . "','" . $this->User_Id . "','" . $this->Video_Id . "',NOW()')"; 
      } else { 
       $q = "update Comments set Comment='" . $this->Comment . "', Date_Time='" . NOW() ."'"; 
      } 


      // $q = "call SaveUser2($this->userId,'$this->firstName','$this->lastName','$this->email','$this->password')"; 

      $r = mysqli_query($this->dbc, $q); 

      if (!$r) { 
       $this->displayError($q); 
       return false; 
      } 

      return true; 
     } else { 
      echo '<p class="error">Could not connect to database</p>'; 
      return false; 
     } 

     return true; 
    } 

//end of function 
    public function get($video_id) { 
     if ($this->getDBConnection()) { 

      $q = "SELECT Comment, Date_Time, UserName FROM Comments WHERE Video='" . $userName."' order by time_stamp"; 
      $r = mysqli_query($this->dbc, $q); 

      if ($r) { 
       $row = mysqli_fetch_array($r); 
       $this->Comment = mysqli_real_escape_string($this->dbc, $this->Comment); 


       return true; 
      } 
      else 
       $this->displayError($q); 
     } 
     else 
      echo '<p class="error">Could not connect to database</p>'; 

     return false; 
    } 

    public function isValid() { 
     //declare array to hold any errors messages 
     $errors = array(); 

     if (empty($this->Comment)) 
      $errors[] = 'You should enter a comment to be saved'; 
     return $errors; 
    } 
} 
?> 

出力ショー:

<?php 
include 'Header.php'; 
?> 
<style> 
    #first { 
     //margin-right: 100%; 
     //clear: both; 

    } 
    #first > img { 
     display: inline-block; 
     //float: left; 
    } 
    #first > p { 
     //float: left; 
     display: inline-block; 
     //margin-left: 60px; 
     //margin-bottom: 120px; 
    } 

</style> 
<!-- Post content here --> 

<!-- Then cmments below --> 
<h1>Comments</h1> 
<!--<?php ?> 
if (isset($_GET['id'])) { 
    $id = $_GET['id']; 
} elseif (isset($_POST['id'])) { 
    $id = $_POST['id']; 
} else { 
    echo '<p class="error"> Error has occured</p>'; 

    include 'footer.html'; 

    exit(); 
} 

$db = new Database(); 
    $dbc = $db->getConnection(); 

    $display = 10; //number of records per page 
    $pages; 

if(isset($_GET['p'])) //already calculated 
{ 
    $pages=$_GET['p']; 
} 
else 
{ 
//use select count() to find the number of users on the DB  
    $q = "select count(comment_id) from comments"; 
    $r = mysqli_query($dbc, $q); 
    $row = mysqli_fetch_array($r, MYSQLI_NUM); 
    $records=$row[0]; 

    if($records > $display) //calculate the number of pages we will need 
     $pages=ceil($records/$display); 
    else 
     $pages = 1; 
} 

//now determine where in the database to start 
if(isset($_GET['s'])) //already calculated 
    $start=$_GET['s']; 
else 
    $start = 0; 

//use LIMIT to specify a range of records to select 
// for example LIMIT 11,10 will select the 10 records starting from record 11 
    $q = "select * from users order by $orderby LIMIT $start, $display"; 

    $r = mysqli_query($dbc, $q); 

/*if ($r) 
{*/ 

$result = mysql_query("SELECT * FROM comments WHERE video_id= '" + + "'"); 
//0 should be the current post's id 
while($row = mysql_fetch_object($result)) 
{ 
?> 
<div class="comment"> 
By: <!--<?php /* echo $row->author; //Or similar in your table ?> 
    <p> 
    <?php echo $row->body; ?> 
    </p> 
    </div> 
    <?php 
    /*} */ 
?>*/--> 
<h1>Leave a comment:</h1> 
<form action="Comment.php" method="post"> 
    <!-- Here the shit they must fill out --> 
    <input type="text" name="comment" value="" /> 
    <input type="hidden" name="submitted" value="TRUE" /> 
    <input type="submit" name="submit" value="Insert"/> 
</form>'; 

<?php 
if (isset($_POST['submitted'])) { 
    $comment = ''; 

    $errors = array(); 

    if (empty($_POST['comment'])) 
     $errors[] = 'You should enter a comment to be saved'; 
    else 
     $comment = trim($_POST['comment']); 



    if (empty($errors)) { 
     include 'Comments_1.php'; 
     $comment_2 = new Comments(); 
     $errors = $comment_2->isValid(); 
     $comment_2->Comment = trim($_POST['comment']); 
     $comment_2->UserName = hamed871; 
     $comment_2->Video_Id = 1; 
     if ($comment_2->save()) { 
      echo '<div class="div_1"><div id="div_2">' . 
      '<h1>Thank you</h1><p> your comment has been' 
        . ' posted successfully</p></div></div>'; 
     } 
    } 
//First check if everything is filled in 
    /* if(/*some statements *//*) 
     { 
     //Do a mysql_real_escape_string() to all fields 

     //Then insert comment 
     mysql_query("INSERT INTO comments VALUES ($author,$postid,$body,$etc)"); 
     } 
     else 
     { 
     die("Fill out everything please. Mkay."); 
     } 
     ?> 

     id (auto incremented) 
     name 
     email 
     text 
     datetime 
     approved--> */ 
} 
    ?> 
    <!--echo '--><div id="first"> 
     <img src="http://www.extremetech.com/wp-content/uploads/2013/11/emp-blast.jpg?type=square" height="42" width="42"/> 
     <p>hamed1</p> 
    </div><!--';--> 
    <dl> 
     <dt>comment1</dt> 
     <dd>reply1</dd> 
     <dd>reply2</dd> 
    </dl> 
    <!--//} 
    /*else 
    { 

    }*/ 
    ?>--> 
    <?php 
    include 'Footer.php'; 
    ?> 

私のコメントクラス:ここ は、コードのいくつかの有用な部分です:)

要求されたURL/IndividualProjectが見つかりません/Comment.phpがこのサーバー上に見つかりませんでした。 Apache/2.4.17(Win64)PHP/5.6.16 localhostのポート80

+0

ますが、出力を貼り付けることはできますか? –

+0

@LajosArpadここで私は仲間でした – hamed871

+1

この行を変更してください '(isset($ _ POST ['submitted']))' '(isset($ _ POST ['submit']))' – claudios

答えて

0

Webホスティングにはさまざまな種類の制限があり、厳格な可能性があるため、この種の問題が発生しました。今私がやったことはファイル名を変更することです:

クラス名は大文字と小文字が区別されます。

Comment.php

class Comment extends DBConn { 

function __construct() { 
parent::__construct(); 
} 

//code here.. 

} 
+0

同じエラーが発生しました。私がそれを変更した後でさえ – hamed871

関連する問題