【发布时间】:2011-09-11 14:50:45
【问题描述】:
我最近刚开始玩 PHP,并给自己做了一个小项目/家庭作业。
这个想法很简单——通过用户输入获得一个数字,画一个圆圈。
我得到了使用 imagearc 的圆圈,所有内容都可以根据用户输入的数字进行缩放。
但是,似乎存在颜色问题。在我的主页上,我创建了四个具有 4 种不同颜色的单选按钮。单选按钮选择圆圈的颜色。
我无法让它工作。即使我检查了所有内容,圆圈也不再显示。这是我尝试使用的代码:
<form method="post" action="circle.php">
<input type="radio" name="color" value="blue" class="color">Blue<br />
<input type="radio" name="color" value="red" class="color">Red<br />
<input type="radio" name="color" value="green" class="color">Green<br />
<input type="radio" name="color" value="yellow" class="color">Yellow<br />
<input type="submit" value="Send" name="submit" />
</form>
来自 index.php,这是我尝试做的事情
$color = $_POST['color'];
if ($color == 'red') {
$superColor = $red;
}
// make some color
$white = imagecolorallocate($img, 255, 255, 255);
$red = imagecolorallocate($img, 255, 0, 0);
// draw the circle
imagearc($img, ($height + 10) / 2, ($width + 10) / 2, $circumference, $circumference, 0, 360, $superColor);
我还是新手,还在学习,所以我想有一种更简单、更漂亮的方法。这只是我的尝试。我在这里做错了什么?
提前致谢
编辑:感谢您的快速回答!我已经尝试过你们(或女孩)告诉我要做的事情,从 ID 更改为姓名并将 == 'red' 放在引号中 - 但它不起作用。
我认为这与我的 if 语句有关。难道不应该通过简单的 $superColor = $red 将 $red 中存储的信息提供给 $superColor 吗?
如果没有,我应该怎么做?我的 imagearc 中没有任何显示,如果我将 $superColor 更改为 $red,它会显示一个漂亮的红色圆圈。
回声测试表明 $_POST['color'];工作得很好
【问题讨论】:
-
那么,在 if 语句之前,您是否为 $red 分配了任何东西?如果这是完整的代码,那么 $red 直到几行之后才会被分配,因此,您正在尝试将 $superColor 分配给一个尚不存在的变量。
标签: php