PHP表单发送变量问题

时间:2011-08-23 21:02:28

标签: php mysql ajax ckeditor

我正在努力使用PHP AJAX CKEDITOR和MySQL,因为我想通过按下底部的按钮将所有内容从屏幕(包括输入文本框)和CKeditor文本保存到mysql。

<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
</head>
<body>
<?php include("db_connect.php"); ?>
<?php include("menu.php"); ?>
<h1>New Project</h1>

<form method="post" action="">
    New project name:<input type="text" name="pr-name" placeholder="new project name..."><br/>
    New project end date:<input type="text" name="pr-end" placeholder="date..."><br/>
    New project type:
    <select name="pr-menu">
        <?php 
        $listdata = mysql_query("SELECT * FROM lists WHERE tag='prtype' ORDER BY listing ASC");
        while($listresult = mysql_fetch_array($listdata))
    {
        $link = '';
        if($listresult['listing'] != '...') {
            $link = $listresult['value'] . ".php";
            echo "<option value='$link'>${listresult['listing']}</option>";
        }

    }
    ?>
</select>

<div id="page">
    <!-- container for loaded page -->
</div>

<script type="text/javascript">
    $("select[name=pr-menu]").change(function() {
        var url = $("option:selected", this).val();
        // Load a page to the container
        $("#page").load(url);
    });
</script>

</form>

<?php
if($_REQUEST["submit"] == "continue ->")
{
$prname = mysql_real_escape_string ($_REQUEST["pr-name"]);
$prend = mysql_real_escape_string ($_REQUEST["pr-end"]);
$prmenu = mysql_real_escape_string ($_REQUEST["pr-menu"]);
$prcontent = mysql_real_escape_string ($_REQUEST["pagecontent"]);

$sql = "INSERT INTO projects (name,enddate, sel, content) VALUES('$prname','$prend', '$prmenu', '$prcontent')";
mysql_query($sql);
}
?>

</body>
</html>

哪些代码选择不同的php文件来扩展表单。其中一个形式也有CKEDITOR。

<textarea class="ckeditor" name="pagecontent"  id="pagecontent"></textarea>

<?php
include_once "ckeditor/ckeditor.php";
$CKEditor = new CKEditor();
$CKEditor->basePath = 'ckeditor/';

// Set global configuration (will be used by all instances of CKEditor).
   $CKEditor->config['width'] = 600;   
// Change default textarea attributes
   $CKEditor->textareaAttributes = array(“cols” => 80, “rows” => 10);

   $CKEditor->replace("pagecontent");

?>
<input id="submitButton" type="submit" value="continue ->"/>

我想把两个输入和编辑过的CKEDITOR内容放在SQL ...

我只是找不到如何将这些链接在一起的解决方案......我花了几个小时作为初学者...... :(希望有人可以提供帮助。

非常感谢您提前

安德拉什

1 个答案:

答案 0 :(得分:0)

从我在代码中看到的,编辑器应该正确加载。

首先 - 您缺少</form>标记。它应该几乎一直没有它,但为了以防万一。 第二 - 你缺少输入名称。 第三 - 您缺少提交按钮。 第四 - 您缺少一些代码来处理提交

这段代码看起来应该是

if($_REQUEST["sumbit"] == "somevalue")
{
$param1 = mysql_real_escape_string ($_REQUEST["something1"]);
$param2 = mysql_real_escape_string ($_REQUEST["something2"]);
....
....
$sql = "insert into sometable (something,somethingelse) values('$param1','$param2')";
mysql_query($sql);
}

另请参阅smarty或其他模板引擎。从PHP中分离html可以长期保存很多白发。