У меня есть простой текстовый ящик в HTML, который принимает только целые числа, они должны быть ТОЧНО 6 символов. Если эти условия не совпадают, должны быть соответствующие сообщения, предоставленные пользователю, и значение не должно быть $ _POST'ed.Echo не работает в PHP for! Is_numeric
$idLength = strlen($_POST['customerid']);
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
if(empty($_POST['customerid']))
{
$idErr = " *Enter ID";
}
else if(($idLength > 0) && ($idLength < 6))
{
{$idnErr = " ID must be exactly 6 Digits";}
if((!is_numeric($_POST['customerid'])))
{$idnumErr = " ID must only be numerical values";}
}
else if ((is_numeric($_POST['customerid']))&&($idLength = 6))
{
$id = $_POST['customerid'];
}
echo "$id";
Так что с этим кодом, я проверить, если поле ввода пусто, если она есть, она отображает «* Введите идентификатор» рядом с полем. Я проверяю, превышает ли значение значение 0 и меньше 6 (maxlength = 6 в html), если это так, он говорит: «Идентификатор должен быть ровно 6 цифр». Я также проверяю, являются ли символы цифрами, если они arent, он показывает, что «ID должен быть только числовым значением».
Если пользователь вводит идентификатор vaild, только тогда идентификатор хранится в переменной. Например: - 123456. Все это работает нормально.
Моя проблема возникает, когда я ввожу ровно 6 символов, которые arent должен был принять, например, 12345a или ABCDE3. Код не хранит их в $ id, но он не показывает сообщение об ошибке, подобное его предназначению, мне было интересно, что я делаю неправильно.
Я также хочу сохранить ввод пользователем в текстовом поле, если они вводят его неправильно. Например. если пользователь вводит «1234g» в идентификатор клиента и нажимает «Отправить», я хочу, чтобы он был там в текстовом поле, когда страница обновляется с ошибками.
у вас есть неопределенную переменную в коде – Daan
@Daan Вы держать это в тайне и не говорит нам? ;) –
какая переменная не определена? @Daan – roro