2011-08-23 52 views
0

我很努力地使用PHP AJAX CKEDITOR和MySQL,因爲我想通過按下底部的按鈕將屏幕上的所有內容(包括輸入文本框)和CKeditor文本保存到mysql中。用變量發送PHP表單問題

<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 ->"/> 

而且我想放兩個輸入,並在SQL編輯的內容CKEDITOR ...

我只是無法找到解決如何連接在一起這些......我花了幾個小時,作爲一個初學者... :(希望有人能幫助。

非常感謝你提前

安德拉什

回答

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); 
} 

而且看看智者或其他模板引擎。從PHP分離HTML可以節省很多白髮。

+0

是的你是對的,謝謝你的提示。我會解決我的問題。 –

+0

我已經做了一些改變,我希望這是更好的,但我仍然無法掌握如何獲得CKEDITOR文本? –

+0

從我看到你得到它。它位於pagecontent字段中。 –