2011-09-10 6 views
0

私は最近、PHPで遊んで始めたばかりで、小さなプロジェクト/宿題を手に入れました。
アイデアは非常に簡単です。ユーザー入力によって数値を取得することで、円を描きます。私のif変数とmy変数が混乱しています

私はimagearcで作業しているサークルを手に入れましたが、ユーザーが入力した数値ですべてが美しくなります。
しかし、色の問題があるようです。私のメインページでは、4種類の色のラジオボタンを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); 

をしようと、私はまだ新たなんだ、とまだ学んので、私は簡単にはそこだと思うのですそれを行うのはもっときれいな方法です。これは私の試みです。私はここで間違って何をしていますか?事前

EDITで

ありがとう:迅速な回答をしてくれてありがとう!私はあなた(または女の子)が私に言ったことを試しました、IDから名前に変更し、== '赤'を引用符で囲んでください - それは動作しません。
私はif文と何か関係があると思います。シンプルな$ superColor = $ redを実行することで、$ redに格納された情報を$ superColorに与えることはできませんか?
そうでない場合は、代わりに何をすべきですか? my imagearcに何も表示されません。$ superColorを$ redに変更すると、素敵な赤い円が表示されます。

エコーテストでは、$ _POST ['color'];が表示されます。

+0

まあ、そのif文の前に$ redが割り当てられていますか?これが完全なコードであれば、$ redは数行まで割り当てられないので、まだ存在しない変数に$ superColorを割り当てようとしています。 –

答えて

4

$ _POSTにidsではなく名前を付けます。入力定義をname = "color"に変更します。

+2

また、他の人が指摘しているように、引用符の間に赤を入れてください。 –

2

ラジオボタンにname属性が必要です。

2

if ($color == 'red') {

"赤" の文字列です。あなたはそれを引用する必要があります。

0

try if ($color == "red") {。あなたは赤の周りに引用符を入れるのを忘れた。

関連する問題