0

基本的に、フォームから3つのデータを取り込んで、それらを処理する前に、すべてのフィールドが入力されていることを確認したかっただけです。したがって、これの焦点は、最後から2番目のIFステートメントであり、さまざまな変数が空かどうかを確認します。 。最初の変数でのみ機能しているようで、すべての変数に適用する方法がわかりません。

<?php



include ("account.php") ;
include ("connect.php") ;


$isdone = FALSE;
$un  =  $_REQUEST [ "un"] ; 
$pw   =  $_REQUEST [ "pw"] ;



$data = mysql_query("SELECT * FROM `auth` WHERE username = '$un'") or die(mysql_error());

$info = mysql_fetch_array($data);

$info['username']; 
$password = $info['pw'];

session_start();


if(trim($un) != '' && trim($pw) != '' && $password == $pw)
{

    $_SESSION['uze']=$un;


    include "problem.html";

}


elseif( !isset($_POST['submit1']) && $isdone == FALSE)
{
    echo "wrong password";
}



$selected =  $_REQUEST [ "type"] ; 


if($selected == 'afs')
{
    $typeinc = 'afs';
}
else if($selected == 'db')
{
    $typeinc = 'database';
}
else if($selected == 'cs')
{
    $typeinc = 'computer systems';
}
else if($selected == 'pw')
{
    $typeinc = 'password';
} 
else if($selected == 'hw')
{
    $typeinc = 'hardware';
}
else if($selected == 'other')
{
    $typeinc = 'other';
}

$text = $_REQUEST ["inc"];

$selected2 = $_REQUEST ["yesno"];

if($selected2 == 'yes')
{
    $email = 'yes';
}
else
{
    $email = 'no';
}



if(isset($_POST['submit1']))
{
    if(empty($typeinc) || empty($text) || empty($email))
    {
        print( '<a href="http://web.njit.edu/~swp5/assignment/auth.html">You have not filled in all fields, click to sign in and re-enter</a>' );
    }

}


else{
    mysql_query("INSERT INTO `swp5_proj`. `inci` (`type`, `date`, `time`, `reporter`, `desc`) VALUES ('$typeinc', CURDATE(), CURTIME(), '".$_SESSION['uze']."', '$text');") or die(mysql_error());

    mysql_query("DELETE FROM inci WHERE type = ' '");
$isdone = TRUE;

}

if(isset($_POST['submit1']) && $isdone == TRUE)
{
    echo "session over";
}



?>
4

4 に答える 4

0

if((trim($un) !== '') && (trim($pw) !== '') && ($password == $pw))

于 2011-09-26T19:35:11.550 に答える
0

MySQLクエリに入れる前に、必ずREQUEST変数をクリーンアップしてください。

于 2011-09-26T19:35:13.367 に答える
0

すぐ上の行で$emailをyesまたはnoに設定しています。

于 2011-09-26T19:35:43.163 に答える
0

ifステートメントでショートカットOR演算子を使用しています。1つのステートメントがtrueと評価されるとすぐに、ステートメント全体がtrueと評価され、さらに処理を続行する必要はありません。

于 2011-09-26T19:35:53.440 に答える