实际上我正在学习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();
?>
答案 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数组后,您可以访问数组中的各个项目,并将它们发布到相应的部分中。
注意:您尝试实现的任务非常大,因此无法为您提供代码。我已经向您概述了您应该做的事情。