最終編集(解決済み)
条件付きif(empty($num1))
Required !に置き換えました。通知は問題なく機能します。関係者全員に感謝します。すでに失っていた力を取り戻し、ついに完全に機能するスタイルのウィジェットを作成し始めています:D 良い昼/夜を過ごしてください!if(!isset($num1))
編集:
isset() はチェックボックス専用であると愚かにも思い込んでいました... Notice: Undefined インデックスを削除しましたが、Required!の問題は解消されました。続く...
次の問題があります。製品価格の計算機を作成しましたが、初めてロードすると、まだ入力されていないテキスト入力の null 値が「認識」されません...私が正しい名前を付けているかどうかはわかりませんが、私はPHPに関しては初心者で、学習を始めたばかりです...
フォームは一般的に問題なく機能します。この小さな問題を取り除きたいだけです。
基本的に、次のコードがあります。
$num1 = (int)$_POST['number1'];
$num2 = (int)$_POST['number2'];
$ratio = 0.2;
$utw = 1;
if (! empty($num1) && ! empty($num2)) {
if ($num1 * $num2 <= 200) {
$ratio = 0.2;
}
elseif ($num1 * $num2 > 200 && $num1 * $num2 < 400) {
$ratio = 0.15;
}
elseif ($num1 * $num2 >= 400) {
$ratio = 0.1;
}
if (isset($_POST['condition'])) {
$utw = 1.8;
}
$price = $num1 * $num2 * $ratio * $utw;
}
else {
$price = 0;
}
と
<form method="post" action="">
<label for="number1">
<input type="text" name="number1" id="number1">
<?php if(empty($num1)) : ?><span style="color: red;">Required!</span><?php endif; ?>
<br />Label1
</label>
<label for="number2">
<br /><input type="text" name="number2" id="number2">
<?php if(empty($num2)) : ?><span style="color: red;">Required!</span><?php endif; ?>
<br />Label2
</label>
<label for="condition">
<br /><input type="checkbox" name="condition" name="condition">
Label3<br />
</label>
<input type="submit" value="Run">
<?php if($price > 0) : ?>
<p><?php echo "Price equals: $price"; ?></p>
<?php endif; ?>
</form>
初めて表示すると、
Notice: Undefined index: number1 in C:\wamp\www\calc\index.php on line 3
(3行目は私が脱いだという事実のため、<!doctype html>
明らか<?php
に)
それを避ける方法は?さらに、必須!ユーザーが送信ボタンをクリックした場合にのみ通知が表示されますか? 現在、入力フィールドが空であるため、最初から表示されています...「空」にしたくないだけです...視覚的に空または0に等しい...
私はこのすべてに数時間取り組んできましたが、そのPHPデバッグ通知のいくつかの解決策を見つけましたif (isset($var))
が、チェックボックスがあると仮定すると、主にメソッドが関係しています...まあ、私はありません...デフォルト$_POST
値は実際に置き換えることでした
$num1 = (int)$_POST['number1'];
と:
if ($_POST['number1'] == '') {
$num1 = '0';
else {
$num1 = $_POST['number1'] ;
}
まあ、通知はまだ表示されます:(
誰か助けてくれませんか?