I have never had an issue with ckeditor as far as saving to a database. But the site I'm currently working on is giving me some trouble.
I am trying to save a simple form to the database, 1 field is a date field and the other is a text field where the ckeditor data is stored. The date field is populating fine, but the text field is not. In fact, when I'm on the webpage with the ckeditor window, I enter in some text/html/etc., it isn't even POSTing. Here's the code as it stands now:
The trouble is when I echo the POST data in the first statement, the $_POST['solution'] data does NOT show up. So I'm thinking it's not passing from the form to the handler. I checked the variable names, they seem to be right. **It WAS passing at one point. I had the solution field in the mysql DB set as a BLOB instead of a TEXT (but you can't do a text search in BLOB, and I need to be able to do that). But that shouldn't matter at this point, seeing as it isn't passing from the form to the handler anyway.
The second problem that I anticipate is this: When I DO pull data from the DB where ckeditor was used, the HTML isn't parsing. It shows up as plaintext with no HTML code what so ever. When I used to use the old ckeditor, this all worked fine. I had to use addslashes or mysql_real_escape_string or something to save it, and removeslashes when I query it, but everything worked. Do I do the same thing in this version?? I'm a little confused about this.
I am trying to save a simple form to the database, 1 field is a date field and the other is a text field where the ckeditor data is stored. The date field is populating fine, but the text field is not. In fact, when I'm on the webpage with the ckeditor window, I enter in some text/html/etc., it isn't even POSTing. Here's the code as it stands now:
<?php //THIS SECTION INSERTS THE DATA INTO THE DB, OR IS SUPPOSED TO if($_POST['newsolution']) { include 'inc/+config.php'; include 'inc/+opendb.php'; //TEMPORARY TO SEE THE POST DATA foreach($_POST as $key => $value) echo $key."=".$value; //AM I SUPPOSED TO USE THE mysql_real_escape_string OR addslashes HERE? $solution = mysql_real_escape_string($_POST['solution']); //AGAIN TEMPORARY TO SEE VARIABLE DATA echo $solution; $sql = "INSERT INTO tbl_solutions (`date`, `solution`) VALUES (now(), '$solution')"; $result = mysql_query($sql); echo mysql_error(); //PULLS THE NEW DATA BACK OUT SO IT CAN BE VIEWED AFTER THE REFRESH $query = "SELECT id FROM tbl_solutions ORDER BY id DESC LIMIT 1"; $result = mysql_query($query); while($row = mysql_fetch_array($result)) { $id = $row['id']; } header("location:tech_solutions.php?section=solution&id=".$id); } //THIS SECTION QUERIES THE DB (BASED ON A SEARCH FORM I USE THROUGHOUT THE SITE if($_GET['section'] == 'solution') { include 'inc/+config.php'; include 'inc/+opendb.php'; $sql = "SELECT * FROM tbl_solutions WHERE id = '$_GET[id]'"; $result = mysql_query($sql); while($data = mysql_fetch_array($result)) { echo "<tr><td align='left'><h3>Date: ".date('M d Y',strtotime($data['date']))."</h3></td></tr>"; echo "<tr><td>".$data['solution']."</td></tr>"; } } //THIS SECTION HOLDS THE CKEDITOR FORM WHERE DATA CAN BE ADDED if($_GET['section'] == 'new') { ?> <tr> <td> <form method="post" action="tech_solutions.php"> <h5>Type in your information and click "Add Solution"</h5><br /> <textarea name="solution" cols="80" rows="10"></textarea> <script type="text/javascript"> CKEDITOR.replace( 'solution', { filebrowserBrowseUrl : 'ckfinder/ckfinder.html', filebrowserImageBrowseUrl : 'ckfinder/ckfinder.html?Type=Images', filebrowserFlashBrowseUrl : 'ckfinder/ckfinder.html?Type=Flash', filebrowserUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Files', filebrowserImageUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Images', filebrowserFlashUploadUrl : 'ckfinder/core/connector/php/connector.php?command=QuickUpload&type=Flash' } ); </script><br /> </td> </tr> <tr> <td align="center"><input type="submit" name="newsolution" value="Add Solution" /></td></tr> </form> <?php } ?>
The trouble is when I echo the POST data in the first statement, the $_POST['solution'] data does NOT show up. So I'm thinking it's not passing from the form to the handler. I checked the variable names, they seem to be right. **It WAS passing at one point. I had the solution field in the mysql DB set as a BLOB instead of a TEXT (but you can't do a text search in BLOB, and I need to be able to do that). But that shouldn't matter at this point, seeing as it isn't passing from the form to the handler anyway.
The second problem that I anticipate is this: When I DO pull data from the DB where ckeditor was used, the HTML isn't parsing. It shows up as plaintext with no HTML code what so ever. When I used to use the old ckeditor, this all worked fine. I had to use addslashes or mysql_real_escape_string or something to save it, and removeslashes when I query it, but everything worked. Do I do the same thing in this version?? I'm a little confused about this.
Re: mysql troubles
Re: mysql troubles
In regards to the HTML not rendering when you insert it into the database, I would suspect the datatype you are setting in the db field is stripping the tags.
Let me know if you work it out.
T
Re: mysql troubles
The DB IS saving the date (I use now() for the variable), but not the actual html text. It's not just removing the html, but it's not putting anything in. I dunno, I'm sure it's something simple, and I'm sure it has to do with the data not passing to the handler, but for the likes of me, I can't find the problem.