|
|
|
|
<?
$error = array("name" , "pass" , "email");
if (empty($name))
{
$error["name"] = TRUE;
}
if ((empty($pass))
{
$error["pass"] = TRUE;
}
if (empty($email))
{
$error["email"] = TRUE;
}
}
if (in_array(TRUE , $error))
{
echo "errors!";
}
?>
|
Есть форма регистрации,и $email , $pass , $name это ее поля. Скрипт проверяет данные на ошибки.
Но он выводит errors! даже если ошибок нету... | |
|
|
|
|
|
|
|
для: RV
(03.05.2005 в 19:36)
| | Директива register_globals в конфигурационном файле php.ini включена? | |
|
|
|
|
|
|
|
для: cheops
(03.05.2005 в 19:48)
| | тогда дополнение:
$reg_button = $_POST['reg_button'];
$name = $_POST['name'];
$pass = $_POST['pass'];
$r_pass = $_POST['r_pass'];
$email = $_POST['email'];
собственно разобрался. надо было писать вместо if (in_array(TRUE , $error)) -
if (in_array("TRUE" , $error)) .
но есть второй вопросец.
вот допустим заимели мы такой многомерный массив:
$error = array ("email" => "TRUE", "pass" => "FALSE" , "name" => "TRUE");
т.е. там где TRUE - значит ошибка. и для каждой такой ошибки надо к примеру выписать свое сообщение. т.е. в данном случае "Ошибка в мейле</br> Ошибка в имени. как такое сделать? | |
|
|
|
|
|
|
|
для: RV
(03.05.2005 в 20:02)
| | Хм... а если а тексты ошибок имееются? Можно обойти массив при помощи foreach
<?php
foreach($error as $key => $val)
{
if($val = 'TRUE') echo "Ошибка в $key <br>";
}
?>
|
| |
|
|
|
|
|
|
|
для: cheops
(04.05.2005 в 21:47)
| | cheops сенкс
точнее так
<?
if($val === 'TRUE') echo "Ошибка в $key <br>"; // а не $val = 'TRUE'
?>
|
| |
|
|
|