2011-09-10 30 views
0

我最近刚刚开始在PHP上玩弄自己一个小项目/作业。
这个想法很简单 - 通过用户输入得到一个数字,绘制一个圆圈。我的if或者我的变量都搞砸了

我得到了与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从ID更改为名称,并将=='红色'放在引号中 - 但它不起作用。
我认为这与我的if语句有关。难道不应该通过做一个简单的$ superColor = $ red将存储在$ red的信息提供给$ superColor?
如果不是,我该怎么做呢?没有任何东西显示在我的imagearc中,如果我将$ superColor更改为$ red,它会显示一个很好的红色圆圈。

回声测试显示$ _POST ['color'];正常工作

+0

那么,你有$红色分配之前,如果任何声明?如果这是完整的代码,那么$ red将不会被分配,直到向下几行,所以,您试图将$ superColor分配给一个尚不存在的变量。 –

回答

4

您使用名称索引$ _POST,而不使用ID。将您的输入定义更改为name =“color”。

+2

也像其他人指出的那样,在报价之间加入红色。 –

2

您需要在单选按钮上有name属性。

2

if ($color == 'red') {

“红” 是一个字符串。你需要引用它。

0

尝试if ($color == "red") {。你忘了把红色引号。