PHP网页生成器将不会生成?

PHP网页生成器将不会生成?,php,Php,如何修复此问题,以便在php调用$fontcolor时 用户选择选项value=“fblue”字体颜色是否为蓝色 同样,如果用户为字体大小1选择value=“size1”,则如何选择 由于这是一个单选按钮,我是否根据用户选择更改字体 我认为只有值会被发送到php脚本,在本例中是size1 包含php脚本的部分将位于它自己的单独的.php文件中,并且不会被删除 包含在html中,这只是为了显示脚本的.php部分的外观 <!DOCTYPE html PUBLIC "-//W3C//DTD XH

如何修复此问题,以便在php调用$fontcolor时 用户选择选项value=“fblue”字体颜色是否为蓝色

同样,如果用户为字体大小1选择value=“size1”,则如何选择 由于这是一个单选按钮,我是否根据用户选择更改字体 我认为只有值会被发送到php脚本,在本例中是size1

包含php脚本的部分将位于它自己的单独的.php文件中,并且不会被删除 包含在html中,这只是为了显示脚本的.php部分的外观

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />
<title>
Webpagegenerator
</title>
</head>
<body>
<center>

<h1>Web Page Generator</h1>
<h3>Generates a web page based on user choice:</h3>

<form method = "post"
action = "webpagegene.php">

<h3>User inputs text body: </h3>

<textarea name = "textbody"
rows = "10"
cols = "40">
</textarea>

<br/>
<br/>

<table border = "2" >
<tr>
<td><h3>Font Color</h3></td>
<td colspan = "2"><h3>Background Color</h3></td>
</tr>

<tr>
<td>
<!--How do I fix this so that when php calls  $fontcolor
and the user selects the option value = "fblue" the font color will be blue?-->
<select name = "fontcolor">
<option value = "fblue">Blue</option>
<option value = "fred">Red </option>
<option value = "fgreen">White</option>
</select>
</td>
<td>

<select size = "5"
name = "backgroundcolor">
<option value = "byellow">Yellow</option>
<option value = "bsilver">Silver</option>
<option value = "bmaroon">Maroon</option>
<option value = "bpink">Pink</option>
</select>
</td>

<!--Likewise, if the user selects the value = "size1" for Font Size 1, how 
do I change the font based on the user selection, since this is a radio button
I think only the value will be sent to the php script, in this case size1?-->
<td>
<input type = "radio"
name = "sizeType"
value = "size1"/>Font Size 1<br/>

<input type = "radio"
name = "sizeType"
value = "size2"/>Font Size 2<br/>

<input type = "radio"
name = "sizeType"
value = "size3"/>Font Size 3<br/>
</td>
</tr>
</table>

<br/>

<input type = "submit" value = "show me"/>

<br/>
<br/>
</form>

<?php
// The php script seems to work; however, in terms of 
// the script manipulating attributes such as changing 
// the font, color or background when requested by the user, it 
// does not seem to yield any results :-(.

// I can however have the user type text into the text field, but this is not
// enough, I want to be able to manipulate it-change it's font size, font color
// and the background color for the text.
$backgroundcolor = $_REQUEST["backgroundcolor"];
$fontcolor = $_REQUEST["fontcolor"];
$textbody = $_REQUEST["textbody"];
$sizeType = $_REQUEST["sizeType"];

$theStyle = <<< HERE
"$textbody$fontcolor$sizeType"
HERE;

print $textbody;
?>

</center>
</body>
</html>

网页生成器
网页生成器
根据用户选择生成网页:
用户输入文本正文:


字体颜色 背景色 蓝色 红色 白色 黄色的 银币 褐红色的 粉红色 字体大小1
字体大小2
字体大小3




您需要使用表单进行回发

比如:

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
  <select size="5" name="backgroundcolor">
    <option value="byellow">Yellow</option>
    <option value="bsilver">Silver</option>
    <option value="bmaroon">Maroon</option>
    <option value="bpink">Pink</option>
  </select>
  <input type="submit" value="Change" />
</form>

我认为您误解了PHP的功能

脚本在发送到用户浏览器之前由服务器进行处理


在服务器处理完PHP脚本之后,它将是纯HTML的,您需要使用不同的技术来获得所需的更改

莫里斯提出了一些方法。只要谷歌一下,你就会发现很多例子

其他一些好的搜索术语是DOM、AJAX和DHTML

或者您可以使用jQuery(javascript)更改颜色。 如果使用javascript,也不必重新加载页面

这里有一个例子


查看源代码。

您是想在新屏幕上以新样式打印textarea中的文本,还是在更改了textarea内容的情况下显示同一页面?

在新屏幕上以新样式打印textarea中的文本。因此,您可以只打印以下内容:打印“.$textbody.”;在服务器处理完PHP脚本之后,它将是纯HTML的,您需要使用不同的技术来获得所需的更改。是的,技术?在html或php方面,如果是这样,怎么做?我假设html方面——在本例中,我提交的代码将负责用户选择字体大小的选项,背景颜色和字体颜色。php脚本将位于服务器上,并根据用户在初始html表单上选择的选项对html输出进行格式化。是的,我想不分离html和php部分可能不会使我想做的事情变得清晰,我感谢您的帮助;然而,我只是尝试使用纯HTML&PHP,重点是PHP。对于最终产品,html和php脚本将是分开的。html将创建表单并采用用户选择的选项,而.php脚本将采用用户提交的信息并相应地格式化:在字体大小、背景颜色和字体颜色方面。除了$.cookie之外,这是变量$(“body”)和.css的一个非常好和有趣的用法,我不知道你能做到这一点,你是如何做到这一点的?你实际上可以将PHP和HTML嵌入到一起。事实上,这将更有效,因为如果将它们分开,您将有许多文件。如果您需要在HTML文件中显示数据,还有什么?自学、互联网和逻辑完成了这项工作。JavaScript会很好,但我正在尝试学习php,我最不需要的是其他脚本语言,换句话说,在我开始尝试其他食物(JavaScript)之前,我正在尝试品尝我的php盘,谢谢你的想法。我只是认为php会更容易,但看看时钟,这不是,这似乎是一项艰巨的工作,但它是值得的,也许一旦我开始理解php,javascript就不会那么难了,至少我听说过。
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="get">
  <select size="5" name="backgroundcolor" id="bgcolor">
    <option value="yellow">Yellow</option>
    <option value="silver">Silver</option>
    <option value="maroon">Maroon</option>
    <option value="pink">Pink</option>
  </select>
  <input type="submit" value="Change" id="sbtbtn" />
</form>
<script type="text/javascript">
 <![CDATA[

  $("#sbtbtn").hide(); // hide the Change button so that
                       // you can dynamically do changes
                       // without a post back

  $("#bgcolor").change(function(){
                         var val = $("#bgcolor").val();
                         $("body").css({backgroundColor: val})
                         // changes the background color

                         $.cookie('changebgcolor', val, { expires: 10 }); 
                         // sets the cookie and value, then expire in 10 days.

                      });



 ]]>
</script>
<?php

if(isset($_COOKIE['changebgcolor'])){
   $_SESSION['bgcolor'] = $_COOKIE['changebgcolor'];
   setcookie ('changebgcolor', '', time() - 3600);
   // unset the cookie
}

$_SESSION['bgcolor'] = $_SESSION['bgcolor']?$_SESSION['bgcolor']:'white';

echo '<style type="text/css"><!--
body{background-color:'.$_SESSION['bgcolor'].'}
--></style>';

?>