PHP未在iFrame中运行
嗨,我想做一个个人密码游戏。。。我正在使用代码镜像使其看起来像一个IDE(我也计划稍后添加IDE的功能,但…)。我目前的代码基本上是 HTML(index.HTML)PHP未在iFrame中运行,php,html,forms,iframe,textarea,Php,Html,Forms,Iframe,Textarea,嗨,我想做一个个人密码游戏。。。我正在使用代码镜像使其看起来像一个IDE(我也计划稍后添加IDE的功能,但…)。我目前的代码基本上是 HTML(index.HTML) var htmlCodeMirror=CodeMirror(函数(elt){ htmlWindow.parentNode.replaceChild(elt,htmlWindow); },{值:“”, 行号:对, 模式:“文本”}; var cssCodeMirror=代码镜像(函数(elt){ cssWindow.parentN
var htmlCodeMirror=CodeMirror(函数(elt){
htmlWindow.parentNode.replaceChild(elt,htmlWindow);
},{值:“”,
行号:对,
模式:“文本”};
var cssCodeMirror=代码镜像(函数(elt){
cssWindow.parentNode.replaceChild(elt,cssWindow);
},{值:“/*CSS在这里。*/”,
行号:对,
模式:“css”};
var jsCodeMirror=CodeMirror(函数(elt){
jsWindow.parentNode.replaceChild(elt,jsWindow);
},{value://JavaScript在这里,
行号:对,
模式:“javascript”};
PHP(codePush.PHP)
我已经确保了iFrame的链接可以正常工作,因为在主体部分的PHP文件中添加文本时,它会在按下submit时显示出来
我希望我已经说清楚了,并将感谢任何帮助。。。
仅供参考,在PHP方面我有点不在行我不太确定您提供的所有代码想要实现什么,但这里有一个简化版本,它将解决codePush.PHP中未处理代码的主要问题:
<div class="codewindow">
<form id="codePush" action="codePush.php" method="POST" target="codeResults">
HTML:<textarea id="htmlWindow" name="htmlWindow"></textarea>
CSS:<textarea id="cssWindow" name="cssWindow"></textarea>
JS:<textarea id="jsWindow" name="jsWindow"></textarea>
<input type="submit" />
</form>
</div>
<div class="output">
<iframe id="codeResults" name="codeResults" target="codePush.php" width="100%" height="100%" frameBorder="0.5" scrolling="yes"></iframe>
</div>
HTML:
CSS:
JS:
CodePush.php
<!DOCTYPE html>
<html>
<head>
<style>
<?php
echo $_GET['cssWindow'];
?>
</style>
<script type="text/javascript">
<?php
echo $_GET['jsWindow'];
?>
</script>
</head>
<body>
<?php
echo $_GET['htmlWindow'];
?>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<style>
<?php
echo $_POST['cssWindow'];
?>
</style>
<script type="text/javascript">
<?php
echo $_POST['jsWindow'];
?>
</script>
</head>
<body>
<?php
echo $_POST['htmlWindow'];
?>
</body>
</html>
请注意,CodePush.php使用“POST”而不是“GET”,因此它与表单一致。您还缺少文本区域中的“name”属性,这是帖子中使用的属性(而不是id)。
您可能需要考虑在一些检查中添加字段是否不完整,以避免错误等。这是如何工作的?请注意,html中的
id
不会创建匹配的javascsript对象。您尚未定义htmlWindow
,cssWindow
等。。在JS代码中的任何地方,如果您检查javascript控制台,几乎可以肯定的是,您将被未定义的对象错误淹没。iFrame几乎总是一个坏主意。PHP在服务器上运行,它不关心输出将显示在哪里。您没有在iFrame请求中设置任何参数,因此PHP不知道$\u get['htmlWindow']
etc实际上您在iframe
中也没有src
属性。您有target
,但这不是设置iframe URL的方法。
<!DOCTYPE html>
<html>
<head>
<style>
<?php
echo $_POST['cssWindow'];
?>
</style>
<script type="text/javascript">
<?php
echo $_POST['jsWindow'];
?>
</script>
</head>
<body>
<?php
echo $_POST['htmlWindow'];
?>
</body>
</html>