使用帖子

时间:2015-05-01 10:55:34

标签: php html mysql

实际上我正在学习php并编写了一个代码模拟器,其中我想让用户将他们的数据存储在mysql上。但是我的表单很友好地连接到show.php,它同时显示输出我希望允许用户保存他们的工作。为此我需要将相同的数据发送到我的数据库脚本php。谁能告诉我怎么能这样做?这是我的剧本:

<table><tr><td id="cbox" style="position:absolute; width: 35%; height:100%;z-index: 512;">
    <section id="codepanel">
        <form action="show.php" target="pre-box" method='send'>
            <section id="html-code">    
                <label>HTML</label>
                    <input value="Update" type="submit" style="position: absolute; right: 30px; padding: 5px;"></input>
                <textarea class="lined" type="text" name="html" rows="10" cols="60"></textarea>
            </section>
            <section id="css-code"> 
                <label>CSS</label>
                <textarea class="lined" type="text" name="css" rows="10" cols="60"></textarea>
            </section>
            <section id="js-code">  
                <label>JavaScript</label>
                <textarea class="lined" type="text" name="js" rows="10" cols="60"></textarea>
            </section>
            <section>
                <p id="credit"></p>
            </section>  
        </form>
    </section>
    </td><td id="shwbox" style="position: absolute; width: 100%;height:100%; z-index: 0;">
    <iframe name="pre-box" src='show.php'></iframe>
    </td></tr></table>

以下是show.php的代码

<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css"/>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap-theme.min.css"/>
    <script type="text/javascript">
    // User JavaScript
    <?php
        echo $_REQUEST['js'];
     ?>
     </script>
     <style>
     /***  CSS ***/
     <?php
        echo $_REQUEST['css'];
     ?>

     </style>
</head>
<body>
    <!-- User HTML -->
    <?php
        echo $_REQUEST['html'];
     ?>

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js"></script>
</body>
</html>

甚至我希望这个连接到这个send-to-sql.php

<?php
$servername = "localhost";
$username = "-";
$password = "-";
$dbname = "-";

// Create connection
$conn = new mysqli($servername, $username, $password, $dbname);
// Check connection
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

$sql = "INSERT INTO Pens (HTML, CSS, JS)
VALUES ($_REQUEST['HTML'], $_REQUEST['CSS'], $_REQUEST['JS'])";

if ($conn->query($sql) === TRUE) {
    echo "Your pen is sucessfully saved.";
} else {
    echo "Error: " . $sql . "<br>" . $conn->error;
}

$conn->close();
?> 

2 个答案:

答案 0 :(得分:1)

您的代码阅读手册form method

中存在错误
<form action="show.php" target="pre-box" method='send'>
                                                 ^^^^

应该发布或获取

<form action="show.php" target="pre-box" method='post'>

答案 1 :(得分:0)

首先要做的事情:

1。您应该验证从用户那里获得的输入。由于存在标记,CSS和脚本,因此会有以下内容:&#34; &#39; (单引号和双引号)。您需要全部替换双引号的单引号和INSERT查询中使用双引号。这样可以避免字符串在查询代码中终止。

2。现在我假设您有3个部分,即:HTML,CSS和JS。您可以做的是发送{'html: theHTMLCode, css:theCSSCode, js : theJSCode'}形式的JSON数据 - 这种类型的东西。请访问此link以了解在PHP中使用JSON数组。

3. 获得JSON数组后,您可以访问数组中的各个项目,并将它们发布到相应的部分中。

注意:您尝试实现的任务非常大,因此无法为您提供代码。我已经向您概述了您应该做的事情。