0

preg_matchを実行してemp#とemailが有効かどうかを確認する2つの関数があります。一方または両方が有効でない場合は、error.logに出力されますが、ハミングのように整理したいと思います。できるだけ簡単に例を示す方法を知っているかどうかを確認します。

emp#が有効でない場合、エラーログに次のように表示されます。

date()
emp#

メールが有効でない場合は、エラーログに表示されます

date()
email

両方が有効でない場合、エラーログに表示されます

date()
emp#
email

両方が発生した場合、日付を2回印刷したくない、または複数のemp#または電子メールが有効でない場合、日付は繰り返されません。

date()
emp#
emp#
emp$

うまくいけば、私の説明は理にかなっています...私が今持っているのは

    if(((isEmailAddressWellFormed($column[3]) == false)) && ((isStudentNumberWellFormed($column[0]) == false)))
    {
        $filehandle = fopen("./courses/path/error.log","a+") or die ("File can not be opened");
        fwrite($filehandle, date("F t, Y (h:i:s a)") . PHP_EOL);
        fwrite($filehandle, "Improper email address from " . $_GET["filename"] . " :" . PHP_EOL);
        fwrite($filehandle, "$column[2] $column[1] $column[3]\n" . PHP_EOL);
        fwrite($filehandle, "Improper student numbers from " . $_GET["filename"] . " :" . PHP_EOL);
        fwrite($filehandle, "$column[2] $column[1] $column[0]\n" . PHP_EOL);
        fclose($filehandle);        
    }
    else
{
    if(isEmailAddressWellFormed($column[3]) == false)
    {
        $filehandle = fopen("./courses/path/error.log","a+") or die ("File can not be opened");
        fwrite($filehandle, date("F t, Y (h:i:s a)") . PHP_EOL);
        fwrite($filehandle, "Improper email address from " . $_GET["filename"] . " :" . PHP_EOL);
        fwrite($filehandle, "$column[2] $column[1] $column[3]\n" . PHP_EOL);
        fclose($filehandle);
    }

    if(isStudentNumberWellFormed($column[0]) == false)
    {
        $filehandle = fopen("./courses/path/error.log","a+") or die ("File can not be opened");
        fwrite($filehandle, date("F t, Y (h:i:s a)") . PHP_EOL);
        fwrite($filehandle, "Improper student numbers from " . $_GET["filename"] . " :" . PHP_EOL);
        fwrite($filehandle, "$column[2] $column[1] $column[0]\n" . PHP_EOL);
        fclose($filehandle);
    }
}

しかし、私はそれが私が望むものを手に入れていないことを知っています....私がそれを実現することができる簡単な方法はありますか?

4

3 に答える 3

1
$errors = array();

if(!isEmailAddressWellFormed($column[3]))
{
    $errors[] = "Improper email address from " . $_GET["filename"] . " :";
    $errors[] = "$column[2] $column[1] $column[3]";
}

if(!isStudentNumberWellFormed($column[0]))
{
    $errors[] = "Improper student numbers from " . $_GET["filename"] . " :";
    $errors[] = "$column[2] $column[1] $column[0]";
}

if (!empty($errors))
{
    $filehandle = fopen("./courses/path/error.log","a+") or die ("File can not be opened");
    fwrite($filehandle, date("F t, Y (h:i:s a)") . PHP_EOL);
    fwrite($filehandle, implode(PHP_EOL, $errors);
    fclose($filehandle);
}
于 2013-02-24T08:04:41.470 に答える
0

これに対処する方法はたくさんあります。あなたがそれをすることができる1つの方法はこのようです:

$error = false;

if (!isEmailAddressWellFormed($column[3]))
{
    $emailError = "Improper email address from " . $_GET["filename"] . " :" . PHP_EOL . "$column[2] $column[1] $column[3]\n" . PHP_EOL;
    $error = true;
}

if (!isStudentNumberWellFormed($column[0]))
{
    $studentError = "Improper student numbers from " . $_GET["filename"] . " :" . PHP_EOL . "$column[2] $column[1] $column[0]\n" . PHP_EOL;
    $error = true;
}

if ($error)
{
    $handle = fopen("./courses/path/error.log","a+") or die ("File can not be opened");

    fwrite($filehandle, date("F t, Y (h:i:s a)") . PHP_EOL);

    if (isset($emailError))
        fwrite($handle, $emailError);

    if (isset($studentError))
        fwrite($handle, $studentError);

    fclose($handle);
}
于 2013-02-24T08:03:46.070 に答える
0

エラーを書き込むために、ログクラスを使用してみてください

https://github.com/soroushatarod/Loggerr

于 2013-02-24T10:11:32.997 に答える