2017-04-14 6 views
0

$cityError変数を設定するにはどうすればよいですか?私は私の$cityErrorが実際$cityError変数の下にあるため、問題があると思いますが、私は自分のフォームechoif文を維持する必要があります:

echo $cityError . 
'<form action="" method="POST"> 
    <p>Įvertinkite mėnesio orą </p> 
    Miestas: <input type="text" name="cityc"><br /><br /> 
    Mėnesis: <input type="text" name="month"><br /><br />'; 
    foreach ($weather as $value) { 
     echo '<input type="checkbox" name="' . $value . '" value="' . $value . '"> '. ucfirst($value) . '<br />'; 
    } 
    echo '<br /><input type="submit" value="Tęsti"> 
    </form>'; 

if (isset($_POST['cityc']) && !empty($_POST['cityc'])) { 
    if (isset($_POST['month']) && !empty($_POST['month'])) { 
    if (isset($_POST['rain']) || isset($_POST['sunshine']) || 
     isset($_POST['clouds']) || isset($_POST['hail']) || 
     isset($_POST['hail']) || isset($_POST['sleet']) || 
     isset($_POST['snow']) || isset($_POST['wind'])) { 
    } else { echo 'Pasirinkite orą!'; } 
} 
} else { 
    $cityError = 'Įrašykite miestą!'; 
} 
echo 'CIA: ' .$cityError; 

Here is my image of the form until submitting

が私の変数がすでに設定されているが、私はしないでください私のフォーム提出までそれを設定したい。私はこの(場所を切り替え)のように行うと

if (isset($_POST['cityc']) && !empty($_POST['cityc'])) { 
    if (isset($_POST['month']) && !empty($_POST['month'])) { 
    if (isset($_POST['rain']) || isset($_POST['sunshine']) || 
     isset($_POST['clouds']) || isset($_POST['hail']) || 
     isset($_POST['hail']) || isset($_POST['sleet']) || 
     isset($_POST['snow']) || isset($_POST['wind'])) { 
    } else { echo 'Pasirinkite orą!'; } 
} 
} else { 
    $cityError = 'Įrašykite miestą!'; 
} 
echo 'CIA: ' .$cityError; 

echo $cityError . 
'<form action="" method="POST"> 
    <p>Įvertinkite mėnesio orą </p> 
    Miestas: <input type="text" name="cityc"><br /><br /> 
    Mėnesis: <input type="text" name="month"><br /><br />'; 
    foreach ($weather as $value) { 
     echo '<input type="checkbox" name="' . $value . '" value="' . $value . '"> '. ucfirst($value) . '<br />'; 
    } 
    echo '<br /><input type="submit" value="Tęsti"> 
    </form>'; 

Here is my image of the form until submitting

それはちょうど私がフォームを送信していない場合でも、2つの文になります。投稿後、何も変わりません。

+0

提出後にFORMを表示したくないですか?または、あなたがしたいこと。詳細を教えてください。 –

+0

これは 'echo $ cityErrorです。 '

が問題のようです。あなたがしようとしているのは '$ cityError'変数で文字列を連結していますか?これが '$ cityError'の最初の**発生であれば、あなたは組み込み関数で未定義の変数にアクセスしようとしています。どちらがエラーの理由です。 –

+0

フォーム提出後にエラーを表示したい。フォームの提出までは何も表示したくありません。 – Lukas

答えて

0

何かが提出されたときにのみチェックが行われるので、エラーの内容全体を新しいものに置き換えます。

if (! empty($_POST)) { 
if (isset($_POST['cityc']) && !empty($_POST['cityc'])) { 
    if (isset($_POST['month']) && !empty($_POST['month'])) { 
    if (isset($_POST['rain']) || isset($_POST['sunshine']) || 
     isset($_POST['clouds']) || isset($_POST['hail']) || 
     isset($_POST['hail']) || isset($_POST['sleet']) || 
     isset($_POST['snow']) || isset($_POST['wind'])) { 
    } else { echo 'Pasirinkite orą!'; } 
    } 
} else { 
    $cityError = 'Įrašykite miestą!'; 
} 
echo 'CIA: ' . $cityError; 
} 
echo 
'<form action="" method="POST"> 
    <p>Įvertinkite mėnesio orą </p> 
    Miestas: <input type="text" name="cityc"><br /><br /> 
    Mėnesis: <input type="text" name="month"><br /><br />'; 
    foreach ($weather as $value) { 
     echo '<input type="checkbox" name="' . $value . '" value="' . $value . '"> '. ucfirst($value) . '<br />'; 
    } 
    echo '<br /><input type="submit" value="Tęsti"> 
    </form>'; 
+0

この場合も、Error:Undefined Index Will Come。 –

+0

私はif-loopを追加しました。未定義のインデックスではどこがエラーですか?私は '$ weather'が他の場所で生成されていると仮定しています。 – RST

+0

ありがとうございました。Btw、私の配列は$ weather = array( 'rain'、 'sunshine'、 'clouds'、 'hail'、 'sleet'、 'snow'、 'wind')です。 – Lukas

関連する問題